diff --git a/.travis.yml b/.travis.yml index 989924dc32c92..bfc07e2b5100c 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 + - transforms + +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 57da2b62aa812..2718669b1f7b3 100644 --- a/Gulpfile.ts +++ b/Gulpfile.ts @@ -34,7 +34,7 @@ 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; @@ -59,7 +59,6 @@ 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 || "", @@ -450,7 +449,7 @@ gulp.task(tsserverLibraryFile, false, [servicesFile], (done) => { }); 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]); @@ -504,7 +503,7 @@ gulp.task("VerifyLKG", false, [], () => { 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"); @@ -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"; @@ -766,7 +765,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 +780,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"]); } @@ -918,57 +914,20 @@ 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"); -}); -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", () => { + 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)); }); -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", "src/compiler/**/*.ts", @@ -977,29 +936,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 eee9fe1370e22..e4aaf330dc72f 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 @@ -32,8 +32,31 @@ if (process.env.path !== undefined) { 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 = [ "core.ts", + "performance.ts", "sys.ts", "types.ts", "scanner.ts", @@ -54,6 +77,7 @@ var compilerSources = [ var servicesSources = [ "core.ts", + "performance.ts", "sys.ts", "types.ts", "scanner.ts", @@ -283,6 +307,7 @@ var builtLocalCompiler = path.join(builtLocalDirectory, compilerFilename); */ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts, callback) { file(outFile, prereqs, function() { + var startCompileTime = mark(); opts = opts || {}; var compilerPath = useBuiltCompiler ? builtLocalCompiler : LKGCompiler; var options = "--noImplicitAny --noImplicitThis --noEmitOnError --types " @@ -359,11 +384,13 @@ function compileFile(outFile, sources, prereqs, prefixes, useBuiltCompiler, opts callback(); } + measure(startCompileTime); complete(); }); ex.addListener("error", function() { fs.unlinkSync(outFile); fail("Compilation of " + outFile + " unsuccessful"); + measure(startCompileTime); }); ex.run(); }, {async: true}); @@ -466,15 +493,6 @@ task("publish-nightly", ["configure-nightly", "LKG", "clean", "setDebugMode", "r exec(cmd); }); -var scriptsTsdJson = path.join(scriptsDirectory, "tsd.json"); -file(scriptsTsdJson); - -task("tsd-scripts", [scriptsTsdJson], function () { - var cmd = "tsd --config " + scriptsTsdJson + " install"; - console.log(cmd); - exec(cmd); -}, { async: true }); - var importDefinitelyTypedTestsDirectory = path.join(scriptsDirectory, "importDefinitelyTypedTests"); var importDefinitelyTypedTestsJs = path.join(importDefinitelyTypedTestsDirectory, "importDefinitelyTypedTests.js"); var importDefinitelyTypedTestsTs = path.join(importDefinitelyTypedTestsDirectory, "importDefinitelyTypedTests.ts"); @@ -558,7 +576,7 @@ var tsserverLibraryDefinitionFile = path.join(builtLocalDirectory, "tsserverlibr compileFile( tsserverLibraryFile, languageServiceLibrarySources, - [builtLocalDirectory, copyright].concat(languageServiceLibrarySources), + [builtLocalDirectory, copyright, builtLocalCompiler].concat(languageServiceLibrarySources).concat(libraryTargets), /*prefixes*/ [copyright], /*useBuiltCompiler*/ true, { noOutFile: false, generateDeclarations: true }); @@ -567,9 +585,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"); @@ -624,7 +652,7 @@ 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); @@ -652,7 +680,7 @@ var run = path.join(builtLocalDirectory, "run.js"); compileFile( /*outFile*/ run, /*source*/ harnessSources, - /*prereqs*/ [builtLocalDirectory, tscFile].concat(libraryTargets).concat(harnessSources), + /*prereqs*/ [builtLocalDirectory, tscFile].concat(libraryTargets).concat(servicesSources).concat(harnessSources), /*prefixes*/ [], /*useBuiltCompiler:*/ true, /*opts*/ { inlineSourceMap: true, types: ["node", "mocha", "chai"] }); @@ -765,6 +793,7 @@ 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) { + var startTime = mark(); tests = tests ? ' -g "' + tests + '"' : ''; var cmd = "mocha" + (debug ? " --debug-brk" : "") + " -R " + reporter + tests + colors + bail + ' -t ' + testTimeout + ' ' + run; console.log(cmd); @@ -773,10 +802,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) { process.env.NODE_ENV = savedNodeEnv; + measure(startTime); finish(status); }); @@ -784,9 +815,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); @@ -854,11 +886,10 @@ task("browserify", ["tests", builtLocalDirectory, nodeServerOutFile], function() exec(cmd); }, {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]"); +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; @@ -871,7 +902,7 @@ task("runtests-browser", ["tests", "browserify", builtLocalDirectory, servicesFi } 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}); @@ -997,6 +1028,7 @@ var tslintRules = [ "noInOperatorRule", "noIncrementDecrementRule", "objectLiteralSurroundingSpaceRule", + "noTypeAssertionWhitespaceRule" ]; var tslintRulesFiles = tslintRules.map(function(p) { return path.join(tslintRuleDir, p + ".ts"); @@ -1005,41 +1037,21 @@ var tslintRulesOutFiles = tslintRules.map(function(p) { return path.join(builtLocalDirectory, "tslint", p + ".js"); }); desc("Compiles tslint rules to js"); -task("build-rules", tslintRulesOutFiles); +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")}); }); -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); - console.log("Linting '" + path + "'."); - return ll.lint(); -} - -function lintFile(options, path) { - var contents = fs.readFileSync(path, "utf8"); - return lintFileContents(options, path, contents); -} +desc("Emit the start of the build-rules fold"); +task("build-rules-start", [] , function() { + if (fold.isTravis()) console.log(fold.start("build-rules")); +}); -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) @@ -1048,73 +1060,81 @@ var lintTargets = compilerSources .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(); + 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 = {}; - -function lintWatchFile(filename) { - fs.watch(filename, {persistent: true}, function(event) { - if (event !== "change") { - return; - } + var workerCount = (process.env.workerCount && +process.env.workerCount) || os.cpus().length; - 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/lib/tsc.js b/lib/tsc.js index 0e3d7285ac3bd..05a903f901472 100644 --- a/lib/tsc.js +++ b/lib/tsc.js @@ -825,10 +825,17 @@ 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) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + return path.length > extension.length && endsWith(path, extension); } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1093,6 +1100,8 @@ 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; }, @@ -1224,7 +1233,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - return { + var wscriptSystem = { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1243,7 +1252,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!wscriptSystem.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1263,6 +1272,7 @@ var ts; } } }; + return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1435,7 +1445,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - return { + var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1485,7 +1495,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!nodeSystem.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1533,6 +1543,7 @@ var ts; return _fs.realpathSync(path); } }; + return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2282,8 +2293,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." }, @@ -4836,7 +4847,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; + return /^\.\.?($|[\\/])/.test(moduleName); } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -6344,25 +6355,24 @@ 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); } @@ -6785,6 +6795,8 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; + var TokenConstructor; + var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -6810,6 +6822,8 @@ 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; @@ -7116,7 +7130,9 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return new NodeConstructor(kind, pos, pos); + return kind >= 139 ? new NodeConstructor(kind, pos, pos) : + kind === 69 ? new IdentifierConstructor(kind, pos, pos) : + new TokenConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -10892,6 +10908,9 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); + if (!parentTagTerminated) { + resumePos = scanner.getStartPos(); + } } seenAsterisk = false; break; @@ -15418,17 +15437,18 @@ 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) { - 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 (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 (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -21935,7 +21955,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -23155,7 +23175,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (!node.body) { + if (noUnusedIdentifiers && !node.body) { checkUnusedTypeParameters(node); } } @@ -24051,6 +24071,7 @@ 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); } @@ -24066,6 +24087,9 @@ 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; } @@ -24094,9 +24118,14 @@ 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 (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -25173,7 +25202,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } function checkTypeAliasDeclaration(node) { @@ -29896,7 +29925,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(); @@ -33546,13 +33575,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write("" + decoratedClassAlias); + write("let " + decoratedClassAlias); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } write(" = "); @@ -35796,7 +35825,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.0.0"; + ts.version = "2.1.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -35876,12 +35905,7 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - if (ts.isRootedDiskPath(moduleName)) { - return false; - } - var i = moduleName.lastIndexOf("./", 1); - var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); - return !startsWithDotSlashOrDotDotSlash; + return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -36537,6 +36561,22 @@ 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; @@ -36612,7 +36652,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesJsDepth = 0; + var currentNodeModulesDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -36836,8 +36876,7 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - var _this = this; - return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); + return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -37244,8 +37283,17 @@ 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(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { + 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) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -37262,6 +37310,7 @@ var ts; }); filesByName.set(path, file); if (file) { + sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -37362,12 +37411,9 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - sourceFilesFoundSearchingNodeModules[resolvedPath] = true; + currentNodeModulesDepth++; } - if (isJsFileFromNodeModules) { - currentNodeModulesJsDepth++; - } - var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; + var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -37375,8 +37421,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 (isJsFileFromNodeModules) { - currentNodeModulesJsDepth--; + if (isFromNodeModulesSearch) { + currentNodeModulesDepth--; } } } @@ -37695,12 +37741,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", @@ -38479,10 +38525,18 @@ var ts; })(ts || (ts = {})); var ts; (function (ts) { - var reportDiagnostic = reportDiagnosticSimply; + 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); + } function reportDiagnostics(diagnostics, host) { - for (var _i = 0, diagnostics_1 = diagnostics; _i < diagnostics_1.length; _i++) { - var diagnostic = diagnostics_1[_i]; + for (var _i = 0, diagnostics_2 = diagnostics; _i < diagnostics_2.length; _i++) { + var diagnostic = diagnostics_2[_i]; reportDiagnostic(diagnostic, host); } } @@ -38553,19 +38607,8 @@ 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) { - 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); + ts.sys.write(ts.formatDiagnostics([diagnostic], host)); } var redForegroundEscapeSequence = "\u001b[91m"; var yellowForegroundEscapeSequence = "\u001b[93m"; @@ -38590,7 +38633,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 = getRelativeFileName(file.fileName, host); + var relativeFileName = host ? ts.convertToRelativePath(file.fileName, host.getCurrentDirectory(), function (fileName) { return host.getCanonicalFileName(fileName); }) : file.fileName; var hasMoreThanFiveLines = (lastLine - firstLine) >= 4; var gutterWidth = (lastLine + 1 + "").length; if (hasMoreThanFiveLines) { @@ -38779,7 +38822,8 @@ var ts; ts.sys.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); return; } - var configParseResult = ts.parseJsonConfigFileContent(configObject, ts.sys, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), ts.sys.getCurrentDirectory()), commandLine.options, configFileName); + var cwd = ts.sys.getCurrentDirectory(); + var configParseResult = ts.parseJsonConfigFileContent(configObject, ts.sys, ts.getNormalizedAbsolutePath(ts.getDirectoryPath(configFileName), cwd), commandLine.options, ts.getNormalizedAbsolutePath(configFileName, cwd)); if (configParseResult.errors.length > 0) { reportDiagnostics(configParseResult.errors, undefined); ts.sys.exit(ts.ExitStatus.DiagnosticsPresent_OutputsSkipped); @@ -38816,7 +38860,7 @@ var ts; compilerHost.fileExists = cachedFileExists; } if (compilerOptions.pretty) { - reportDiagnostic = reportDiagnosticWithColorAndContext; + reportDiagnosticWorker = reportDiagnosticWithColorAndContext; } cachedExistingFiles = {}; var compileResult = compile(rootFileNames, compilerOptions, compilerHost); @@ -38979,7 +39023,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 --out file.js file.ts" + ts.sys.newLine; + output += padding + "tsc --outFile 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 af6ee89790214..7e0dda1736edd 100644 --- a/lib/tsserver.js +++ b/lib/tsserver.js @@ -830,10 +830,17 @@ 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) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + return path.length > extension.length && endsWith(path, extension); } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1098,6 +1105,8 @@ 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; }, @@ -1229,7 +1238,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - return { + var wscriptSystem = { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1248,7 +1257,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!wscriptSystem.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1268,6 +1277,7 @@ var ts; } } }; + return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1440,7 +1450,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - return { + var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1490,7 +1500,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!nodeSystem.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1538,6 +1548,7 @@ var ts; return _fs.realpathSync(path); } }; + return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2287,8 +2298,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." }, @@ -3966,12 +3977,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", @@ -5754,7 +5765,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; + return /^\.\.?($|[\\/])/.test(moduleName); } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7262,25 +7273,24 @@ 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); } @@ -7703,6 +7713,8 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; + var TokenConstructor; + var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -7728,6 +7740,8 @@ 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; @@ -8034,7 +8048,9 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return new NodeConstructor(kind, pos, pos); + return kind >= 139 ? new NodeConstructor(kind, pos, pos) : + kind === 69 ? new IdentifierConstructor(kind, pos, pos) : + new TokenConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -11810,6 +11826,9 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); + if (!parentTagTerminated) { + resumePos = scanner.getStartPos(); + } } seenAsterisk = false; break; @@ -16336,17 +16355,18 @@ 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) { - 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 (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 (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -22853,7 +22873,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -24073,7 +24093,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (!node.body) { + if (noUnusedIdentifiers && !node.body) { checkUnusedTypeParameters(node); } } @@ -24969,6 +24989,7 @@ 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); } @@ -24984,6 +25005,9 @@ 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; } @@ -25012,9 +25036,14 @@ 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 (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -26091,7 +26120,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } function checkTypeAliasDeclaration(node) { @@ -30814,7 +30843,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(); @@ -34464,13 +34493,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write("" + decoratedClassAlias); + write("let " + decoratedClassAlias); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } write(" = "); @@ -36714,7 +36743,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.0.0"; + ts.version = "2.1.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -36794,12 +36823,7 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - if (ts.isRootedDiskPath(moduleName)) { - return false; - } - var i = moduleName.lastIndexOf("./", 1); - var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); - return !startsWithDotSlashOrDotDotSlash; + return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -37455,6 +37479,22 @@ 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; @@ -37530,7 +37570,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesJsDepth = 0; + var currentNodeModulesDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -37754,8 +37794,7 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - var _this = this; - return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); + return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -38162,8 +38201,17 @@ 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(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { + 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) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -38180,6 +38228,7 @@ var ts; }); filesByName.set(path, file); if (file) { + sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -38280,12 +38329,9 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - sourceFilesFoundSearchingNodeModules[resolvedPath] = true; - } - if (isJsFileFromNodeModules) { - currentNodeModulesJsDepth++; + currentNodeModulesDepth++; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; + var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -38293,8 +38339,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 (isJsFileFromNodeModules) { - currentNodeModulesJsDepth--; + if (isFromNodeModulesSearch) { + currentNodeModulesDepth--; } } } @@ -39887,7 +39933,7 @@ var ts; return createPatternMatch(PatternMatchKind.exact, punctuationStripped, candidate === chunk.text); } else { - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, ts.startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -40059,14 +40105,6 @@ 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)) { @@ -41551,6 +41589,9 @@ var ts; } return false; } + function shouldRescanJsxText(node) { + return node && node.kind === 244; + } function shouldRescanSlashToken(container) { return container.kind === 10; } @@ -41578,7 +41619,9 @@ var ts; ? 3 : shouldRescanJsxIdentifier(n) ? 4 - : 0; + : shouldRescanJsxText(n) + ? 5 + : 0; if (lastTokenInfo && expectedScanAction === lastScanAction) { return fixTokenKind(lastTokenInfo, n); } @@ -41606,6 +41649,10 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4; } + else if (expectedScanAction === 5) { + currentToken = scanner.reScanJsxToken(); + lastScanAction = 5; + } else { lastScanAction = 0; } @@ -43854,19 +43901,20 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, flags, parent) { - var node = new NodeObject(kind, pos, end); - node.flags = flags; + 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); 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); @@ -43901,14 +43949,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, 0, this)); + nodes.push(createNode(token, pos, textPos, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282, nodes.pos, nodes.end, 0, this); + var list = createNode(282, nodes.pos, nodes.end, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -43993,6 +44041,73 @@ 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; @@ -49673,6 +49788,8 @@ 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; }, @@ -50793,7 +50910,6 @@ 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)); @@ -52419,7 +52535,7 @@ var ts; done: false, leaf: function (relativeStart, relativeLength, ll) { if (!f(ll, relativeStart, relativeLength)) { - this.done = true; + walkFns.done = true; } } }; @@ -53069,7 +53185,7 @@ var ts; ioSession.listen(); })(server = ts.server || (ts.server = {})); })(ts || (ts = {})); -var debugObjectHost = this; +var debugObjectHost = new Function("return this")(); var ts; (function (ts) { function logInternalError(logger, err) { @@ -53197,7 +53313,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return this.shimHost.getDirectories(path); + return JSON.parse(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 2c9fffcfcfb89..1821c2125743b 100644 --- a/lib/tsserverlibrary.d.ts +++ b/lib/tsserverlibrary.d.ts @@ -405,7 +405,10 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Modifier extends Node { + interface Token extends Node { + __tokenTag: any; + } + interface Modifier extends Token { } interface Identifier extends PrimaryExpression { text: string; @@ -2050,7 +2053,6 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; - getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -2156,6 +2158,8 @@ 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; @@ -2193,6 +2197,8 @@ 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; @@ -6456,13 +6462,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; @@ -7143,8 +7149,6 @@ 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; @@ -7225,6 +7229,12 @@ 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; @@ -8388,7 +8398,6 @@ declare namespace ts.server { class ScriptInfo { private host; fileName: string; - content: string; isOpen: boolean; svc: ScriptVersionCache; children: ScriptInfo[]; @@ -8729,7 +8738,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 5dafd5528a8e0..8823d9ce98bfb 100644 --- a/lib/tsserverlibrary.js +++ b/lib/tsserverlibrary.js @@ -830,10 +830,17 @@ 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) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + return path.length > extension.length && endsWith(path, extension); } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -1098,6 +1105,8 @@ 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; }, @@ -1229,7 +1238,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - return { + var wscriptSystem = { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -1248,7 +1257,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!wscriptSystem.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -1268,6 +1277,7 @@ var ts; } } }; + return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -1440,7 +1450,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1); }); } - return { + var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -1490,7 +1500,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!nodeSystem.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -1538,6 +1548,7 @@ var ts; return _fs.realpathSync(path); } }; + return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -2287,8 +2298,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." }, @@ -3966,12 +3977,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", @@ -5754,7 +5765,7 @@ var ts; } ts.isExpression = isExpression; function isExternalModuleNameRelative(moduleName) { - return moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; + return /^\.\.?($|[\\/])/.test(moduleName); } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7262,25 +7273,24 @@ 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); } @@ -7703,6 +7713,8 @@ var ts; var scanner = ts.createScanner(2, true); var disallowInAndDecoratorContext = 4194304 | 16777216; var NodeConstructor; + var TokenConstructor; + var IdentifierConstructor; var SourceFileConstructor; var sourceFile; var parseDiagnostics; @@ -7728,6 +7740,8 @@ 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; @@ -8034,7 +8048,9 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return new NodeConstructor(kind, pos, pos); + return kind >= 139 ? new NodeConstructor(kind, pos, pos) : + kind === 69 ? new IdentifierConstructor(kind, pos, pos) : + new TokenConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -11810,6 +11826,9 @@ var ts; case 55: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); + if (!parentTagTerminated) { + resumePos = scanner.getStartPos(); + } } seenAsterisk = false; break; @@ -16336,17 +16355,18 @@ 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) { - 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 (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 (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, true); @@ -22853,7 +22873,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, undefined, undefined); + links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, undefined, undefined); } return links.inferredClassType; } @@ -24073,7 +24093,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (!node.body) { + if (noUnusedIdentifiers && !node.body) { checkUnusedTypeParameters(node); } } @@ -24969,6 +24989,7 @@ 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); } @@ -24984,6 +25005,9 @@ 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; } @@ -25012,9 +25036,14 @@ 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 (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -26091,7 +26120,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } function checkTypeAliasDeclaration(node) { @@ -30814,7 +30843,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(); @@ -34464,13 +34493,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512) && decoratedClassAlias === undefined) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write("" + decoratedClassAlias); + write("let " + decoratedClassAlias); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } write(" = "); @@ -36714,7 +36743,7 @@ var ts; ts.emitTime = 0; ts.ioReadTime = 0; ts.ioWriteTime = 0; - ts.version = "2.0.0"; + ts.version = "2.1.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -36794,12 +36823,7 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(moduleName) { - if (ts.isRootedDiskPath(moduleName)) { - return false; - } - var i = moduleName.lastIndexOf("./", 1); - var startsWithDotSlashOrDotDotSlash = i === 0 || (i === 1 && moduleName.charCodeAt(0) === 46); - return !startsWithDotSlashOrDotDotSlash; + return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -37455,6 +37479,22 @@ 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; @@ -37530,7 +37570,7 @@ var ts; var resolvedTypeReferenceDirectives = {}; var fileProcessingDiagnostics = ts.createDiagnosticCollection(); var maxNodeModulesJsDepth = typeof options.maxNodeModuleJsDepth === "number" ? options.maxNodeModuleJsDepth : 2; - var currentNodeModulesJsDepth = 0; + var currentNodeModulesDepth = 0; var modulesWithElidedImports = {}; var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); @@ -37754,8 +37794,7 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - var _this = this; - return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); + return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -38162,8 +38201,17 @@ 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(modulesWithElidedImports, file_1.path)) { - if (currentNodeModulesJsDepth < maxNodeModulesJsDepth) { + 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) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -38180,6 +38228,7 @@ var ts; }); filesByName.set(path, file); if (file) { + sourceFilesFoundSearchingNodeModules[path] = (currentNodeModulesDepth > 0); file.path = path; if (host.useCaseSensitiveFileNames()) { var existingFile = filesByNameIgnoreCase.get(path); @@ -38280,12 +38329,9 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - sourceFilesFoundSearchingNodeModules[resolvedPath] = true; - } - if (isJsFileFromNodeModules) { - currentNodeModulesJsDepth++; + currentNodeModulesDepth++; } - var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; + var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -38293,8 +38339,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 (isJsFileFromNodeModules) { - currentNodeModulesJsDepth--; + if (isFromNodeModulesSearch) { + currentNodeModulesDepth--; } } } @@ -39887,7 +39933,7 @@ var ts; return createPatternMatch(PatternMatchKind.exact, punctuationStripped, candidate === chunk.text); } else { - return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, ts.startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -40059,14 +40105,6 @@ 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)) { @@ -41551,6 +41589,9 @@ var ts; } return false; } + function shouldRescanJsxText(node) { + return node && node.kind === 244; + } function shouldRescanSlashToken(container) { return container.kind === 10; } @@ -41578,7 +41619,9 @@ var ts; ? 3 : shouldRescanJsxIdentifier(n) ? 4 - : 0; + : shouldRescanJsxText(n) + ? 5 + : 0; if (lastTokenInfo && expectedScanAction === lastScanAction) { return fixTokenKind(lastTokenInfo, n); } @@ -41606,6 +41649,10 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4; } + else if (expectedScanAction === 5) { + currentToken = scanner.reScanJsxToken(); + lastScanAction = 5; + } else { lastScanAction = 0; } @@ -43854,19 +43901,20 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, flags, parent) { - var node = new NodeObject(kind, pos, end); - node.flags = flags; + 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); 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); @@ -43901,14 +43949,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, 0, this)); + nodes.push(createNode(token, pos, textPos, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282, nodes.pos, nodes.end, 0, this); + var list = createNode(282, nodes.pos, nodes.end, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -43993,6 +44041,73 @@ 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; @@ -49673,6 +49788,8 @@ 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; }, @@ -50793,7 +50910,6 @@ 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)); @@ -52419,7 +52535,7 @@ var ts; done: false, leaf: function (relativeStart, relativeLength, ll) { if (!f(ll, relativeStart, relativeLength)) { - this.done = true; + walkFns.done = true; } } }; @@ -52835,7 +52951,7 @@ var ts; server.LineLeaf = LineLeaf; })(server = ts.server || (ts.server = {})); })(ts || (ts = {})); -var debugObjectHost = this; +var debugObjectHost = new Function("return this")(); var ts; (function (ts) { function logInternalError(logger, err) { @@ -52963,7 +53079,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return this.shimHost.getDirectories(path); + return JSON.parse(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 c322ba1dd0c6a..92937fecf9963 100644 --- a/lib/typescript.d.ts +++ b/lib/typescript.d.ts @@ -409,7 +409,10 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Modifier extends Node { + interface Token extends Node { + __tokenTag: any; + } + interface Modifier extends Token { } interface Identifier extends PrimaryExpression { text: string; @@ -1696,7 +1699,6 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; - getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -1842,8 +1844,6 @@ 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,6 +1868,12 @@ 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 22cbe79129c23..41d3676a415bc 100644 --- a/lib/typescript.js +++ b/lib/typescript.js @@ -1756,10 +1756,19 @@ 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) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + return path.length > extension.length && endsWith(path, extension); } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -2070,6 +2079,8 @@ 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; }, @@ -2216,7 +2227,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, /*useCaseSensitiveFileNames*/ false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - return { + var wscriptSystem = { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -2235,7 +2246,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!wscriptSystem.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -2255,6 +2266,7 @@ var ts; } } }; + return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -2444,7 +2456,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1 /* Directory */); }); } - return { + var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -2500,7 +2512,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!nodeSystem.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -2548,6 +2560,7 @@ var ts; return _fs.realpathSync(path); } }; + return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -3304,8 +3317,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." }, @@ -6153,7 +6166,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 moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; + return /^\.\.?($|[\\/])/.test(moduleName); } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7916,15 +7929,6 @@ 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 = {})); /// /// @@ -7932,11 +7936,19 @@ 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); } @@ -8386,6 +8398,8 @@ 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; @@ -8485,6 +8499,8 @@ 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; @@ -8855,7 +8871,9 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return new NodeConstructor(kind, pos, pos); + return kind >= 139 /* FirstNode */ ? new NodeConstructor(kind, pos, pos) : + kind === 69 /* Identifier */ ? new IdentifierConstructor(kind, pos, pos) : + new TokenConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -13524,6 +13542,9 @@ var ts; case 55 /* AtToken */: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); + if (!parentTagTerminated) { + resumePos = scanner.getStartPos(); + } } seenAsterisk = false; break; @@ -18991,22 +19012,24 @@ 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 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); - } + // 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); })); } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); @@ -26761,7 +26784,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); + links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); } return links.inferredClassType; } @@ -28202,7 +28225,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (!node.body) { + if (noUnusedIdentifiers && !node.body) { checkUnusedTypeParameters(node); } } @@ -29341,6 +29364,7 @@ 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); } @@ -29356,6 +29380,9 @@ 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 /* _ */; } @@ -29384,9 +29411,16 @@ 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 (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -30719,7 +30753,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } function checkTypeAliasDeclaration(node) { @@ -35983,7 +36017,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# sourceMappingURL=" + sourceMappingURL); + write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Sometimes tools can sometimes see this line as a source mapping url comment } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM, sourceFiles); // reset the state @@ -37880,7 +37914,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 - * we we emit variable statement 'var' should be dropped. + * when we emit variable statement 'var' should be dropped. */ function isSourceFileLevelDeclarationInSystemJsModule(node, isExported) { if (!node || !isCurrentFileSystemExternalModule()) { @@ -40347,13 +40381,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512 /* Default */) && decoratedClassAlias === undefined) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write("" + decoratedClassAlias); + write("let " + decoratedClassAlias); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } write(" = "); @@ -40372,7 +40406,9 @@ var ts; // // We'll emit: // - // (_temp = class C { ... }, _temp.a = 1, _temp.b = 2, _temp) + // let C_1 = class C{}; + // C_1.a = 1; + // C_1.b = 2; // so forth and so on // // This keeps the expression as an expression, while ensuring that the static parts // of it have been initialized by the time it is used. @@ -42936,7 +42972,7 @@ var ts; /* @internal */ ts.ioReadTime = 0; /* @internal */ ts.ioWriteTime = 0; /** The version of the TypeScript compiler release */ - ts.version = "2.0.0"; + ts.version = "2.1.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -43025,12 +43061,7 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(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; + return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -43797,6 +43828,22 @@ 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; @@ -43889,11 +43936,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 currentNodeModulesJsDepth = 0; + var currentNodeModulesDepth = 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 JavaScript files found by searching under node_modules, as these shouldn't be compiled. + // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); host = host || createCompilerHost(options); @@ -44150,8 +44197,7 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - var _this = this; - return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); + return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -44603,9 +44649,19 @@ 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); } - // 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) { + // 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) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -44623,6 +44679,7 @@ 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 @@ -44737,12 +44794,9 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - sourceFilesFoundSearchingNodeModules[resolvedPath] = true; + currentNodeModulesDepth++; } - if (isJsFileFromNodeModules) { - currentNodeModulesJsDepth++; - } - var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; + var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -44751,8 +44805,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 (isJsFileFromNodeModules) { - currentNodeModulesJsDepth--; + if (isFromNodeModulesSearch) { + currentNodeModulesDepth--; } } } @@ -45090,12 +45144,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", @@ -47087,7 +47141,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:*/ startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ ts.startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -47353,14 +47407,6 @@ 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++) { @@ -49205,6 +49251,7 @@ 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); @@ -49296,6 +49343,9 @@ var ts; } return false; } + function shouldRescanJsxText(node) { + return node && node.kind === 244 /* JsxText */; + } function shouldRescanSlashToken(container) { return container.kind === 10 /* RegularExpressionLiteral */; } @@ -49326,7 +49376,9 @@ var ts; ? 3 /* RescanTemplateToken */ : shouldRescanJsxIdentifier(n) ? 4 /* RescanJsxIdentifier */ - : 0 /* Scan */; + : shouldRescanJsxText(n) + ? 5 /* RescanJsxText */ + : 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' @@ -49361,6 +49413,10 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4 /* RescanJsxIdentifier */; } + else if (expectedScanAction === 5 /* RescanJsxText */) { + currentToken = scanner.reScanJsxToken(); + lastScanAction = 5 /* RescanJsxText */; + } else { lastScanAction = 0 /* Scan */; } @@ -52033,19 +52089,20 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, flags, parent) { - var node = new NodeObject(kind, pos, end); - node.flags = flags; + 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); 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); @@ -52080,14 +52137,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, 0, this)); + nodes.push(createNode(token, pos, textPos, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, 0, this); + var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -52173,6 +52230,74 @@ 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; @@ -58937,6 +59062,8 @@ 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; }, @@ -59562,7 +59689,7 @@ var ts; // /// /* @internal */ -var debugObjectHost = this; +var debugObjectHost = new Function("return this")(); // We need to use 'null' to interface with the managed side. /* tslint:disable:no-null-keyword */ /* tslint:disable:no-in-operator */ @@ -59701,7 +59828,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return this.shimHost.getDirectories(path); + return JSON.parse(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 4ffdd868f168e..a14277d920bcf 100644 --- a/lib/typescriptServices.d.ts +++ b/lib/typescriptServices.d.ts @@ -409,7 +409,10 @@ declare namespace ts { interface ModifiersArray extends NodeArray { flags: NodeFlags; } - interface Modifier extends Node { + interface Token extends Node { + __tokenTag: any; + } + interface Modifier extends Token { } interface Identifier extends PrimaryExpression { text: string; @@ -1696,7 +1699,6 @@ declare namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; - getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; @@ -1842,8 +1844,6 @@ 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,6 +1868,12 @@ 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 22cbe79129c23..41d3676a415bc 100644 --- a/lib/typescriptServices.js +++ b/lib/typescriptServices.js @@ -1756,10 +1756,19 @@ 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) { - var pathLen = path.length; - var extLen = extension.length; - return pathLen > extLen && path.substr(pathLen - extLen, extLen) === extension; + return path.length > extension.length && endsWith(path, extension); } ts.fileExtensionIs = fileExtensionIs; function fileExtensionIsAny(path, extensions) { @@ -2070,6 +2079,8 @@ 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; }, @@ -2216,7 +2227,7 @@ var ts; function readDirectory(path, extensions, excludes, includes) { return ts.matchFiles(path, extensions, excludes, includes, /*useCaseSensitiveFileNames*/ false, shell.CurrentDirectory, getAccessibleFileSystemEntries); } - return { + var wscriptSystem = { args: args, newLine: "\r\n", useCaseSensitiveFileNames: false, @@ -2235,7 +2246,7 @@ var ts; return fso.FolderExists(path); }, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!wscriptSystem.directoryExists(directoryName)) { fso.CreateFolder(directoryName); } }, @@ -2255,6 +2266,7 @@ var ts; } } }; + return wscriptSystem; } function getNodeSystem() { var _fs = require("fs"); @@ -2444,7 +2456,7 @@ var ts; function getDirectories(path) { return ts.filter(_fs.readdirSync(path), function (p) { return fileSystemEntryExists(ts.combinePaths(path, p), 1 /* Directory */); }); } - return { + var nodeSystem = { args: process.argv.slice(2), newLine: _os.EOL, useCaseSensitiveFileNames: useCaseSensitiveFileNames, @@ -2500,7 +2512,7 @@ var ts; fileExists: fileExists, directoryExists: directoryExists, createDirectory: function (directoryName) { - if (!this.directoryExists(directoryName)) { + if (!nodeSystem.directoryExists(directoryName)) { _fs.mkdirSync(directoryName); } }, @@ -2548,6 +2560,7 @@ var ts; return _fs.realpathSync(path); } }; + return nodeSystem; } function getChakraSystem() { var realpath = ChakraHost.realpath && (function (path) { return ChakraHost.realpath(path); }); @@ -3304,8 +3317,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." }, @@ -6153,7 +6166,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 moduleName.substr(0, 2) === "./" || moduleName.substr(0, 3) === "../" || moduleName.substr(0, 2) === ".\\" || moduleName.substr(0, 3) === "..\\"; + return /^\.\.?($|[\\/])/.test(moduleName); } ts.isExternalModuleNameRelative = isExternalModuleNameRelative; function isInstantiatedModule(node, preserveConstEnums) { @@ -7916,15 +7929,6 @@ 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 = {})); /// /// @@ -7932,11 +7936,19 @@ 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); } @@ -8386,6 +8398,8 @@ 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; @@ -8485,6 +8499,8 @@ 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; @@ -8855,7 +8871,9 @@ var ts; if (!(pos >= 0)) { pos = scanner.getStartPos(); } - return new NodeConstructor(kind, pos, pos); + return kind >= 139 /* FirstNode */ ? new NodeConstructor(kind, pos, pos) : + kind === 69 /* Identifier */ ? new IdentifierConstructor(kind, pos, pos) : + new TokenConstructor(kind, pos, pos); } function finishNode(node, end) { node.end = end === undefined ? scanner.getStartPos() : end; @@ -13524,6 +13542,9 @@ var ts; case 55 /* AtToken */: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); + if (!parentTagTerminated) { + resumePos = scanner.getStartPos(); + } } seenAsterisk = false; break; @@ -18991,22 +19012,24 @@ 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 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); - } + // 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); })); } if (type === undefined) { type = getWidenedTypeForVariableLikeDeclaration(declaration, /*reportErrors*/ true); @@ -26761,7 +26784,7 @@ var ts; function getInferredClassType(symbol) { var links = getSymbolLinks(symbol); if (!links.inferredClassType) { - links.inferredClassType = createAnonymousType(undefined, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); + links.inferredClassType = createAnonymousType(symbol, symbol.members, emptyArray, emptyArray, /*stringIndexType*/ undefined, /*numberIndexType*/ undefined); } return links.inferredClassType; } @@ -28202,7 +28225,7 @@ var ts; checkAsyncFunctionReturnType(node); } } - if (!node.body) { + if (noUnusedIdentifiers && !node.body) { checkUnusedTypeParameters(node); } } @@ -29341,6 +29364,7 @@ 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); } @@ -29356,6 +29380,9 @@ 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 /* _ */; } @@ -29384,9 +29411,16 @@ 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 (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, ts.Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -30719,7 +30753,7 @@ var ts; ts.forEach(node.members, checkSourceElement); if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } function checkTypeAliasDeclaration(node) { @@ -35983,7 +36017,7 @@ var ts; writeLine(); var sourceMappingURL = sourceMap.getSourceMappingURL(); if (sourceMappingURL) { - write("//# sourceMappingURL=" + sourceMappingURL); + write("//# " + "sourceMappingURL" + "=" + sourceMappingURL); // Sometimes tools can sometimes see this line as a source mapping url comment } writeEmittedFiles(writer.getText(), jsFilePath, sourceMapFilePath, /*writeByteOrderMark*/ compilerOptions.emitBOM, sourceFiles); // reset the state @@ -37880,7 +37914,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 - * we we emit variable statement 'var' should be dropped. + * when we emit variable statement 'var' should be dropped. */ function isSourceFileLevelDeclarationInSystemJsModule(node, isExported) { if (!node || !isCurrentFileSystemExternalModule()) { @@ -40347,13 +40381,13 @@ var ts; if (isES6ExportedDeclaration(node) && !(node.flags & 512 /* Default */) && decoratedClassAlias === undefined) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write("" + decoratedClassAlias); + write("let " + decoratedClassAlias); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } write(" = "); @@ -40372,7 +40406,9 @@ var ts; // // We'll emit: // - // (_temp = class C { ... }, _temp.a = 1, _temp.b = 2, _temp) + // let C_1 = class C{}; + // C_1.a = 1; + // C_1.b = 2; // so forth and so on // // This keeps the expression as an expression, while ensuring that the static parts // of it have been initialized by the time it is used. @@ -42936,7 +42972,7 @@ var ts; /* @internal */ ts.ioReadTime = 0; /* @internal */ ts.ioWriteTime = 0; /** The version of the TypeScript compiler release */ - ts.version = "2.0.0"; + ts.version = "2.1.0"; var emptyArray = []; var defaultTypeRoots = ["node_modules/@types"]; function findConfigFile(searchPath, fileExists) { @@ -43025,12 +43061,7 @@ var ts; return { resolvedModule: resolvedFileName ? { resolvedFileName: resolvedFileName, isExternalLibraryImport: isExternalLibraryImport } : undefined, failedLookupLocations: failedLookupLocations }; } function moduleHasNonRelativeName(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; + return !(ts.isRootedDiskPath(moduleName) || ts.isExternalModuleNameRelative(moduleName)); } function tryReadTypesSection(packageJsonPath, baseDirectory, state) { var jsonContent; @@ -43797,6 +43828,22 @@ 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; @@ -43889,11 +43936,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 currentNodeModulesJsDepth = 0; + var currentNodeModulesDepth = 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 JavaScript files found by searching under node_modules, as these shouldn't be compiled. + // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. var sourceFilesFoundSearchingNodeModules = {}; var start = new Date().getTime(); host = host || createCompilerHost(options); @@ -44150,8 +44197,7 @@ var ts; return noDiagnosticsTypeChecker || (noDiagnosticsTypeChecker = ts.createTypeChecker(program, /*produceDiagnostics:*/ false)); } function emit(sourceFile, writeFileCallback, cancellationToken) { - var _this = this; - return runWithCancellationToken(function () { return emitWorker(_this, sourceFile, writeFileCallback, cancellationToken); }); + return runWithCancellationToken(function () { return emitWorker(program, sourceFile, writeFileCallback, cancellationToken); }); } function isEmitBlocked(emitFileName) { return hasEmitBlockingDiagnostics.contains(ts.toPath(emitFileName, currentDirectory, getCanonicalFileName)); @@ -44603,9 +44649,19 @@ 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); } - // 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) { + // 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) { modulesWithElidedImports[file_1.path] = false; processImportedModules(file_1, ts.getDirectoryPath(fileName)); } @@ -44623,6 +44679,7 @@ 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 @@ -44737,12 +44794,9 @@ var ts; var isFromNodeModulesSearch = resolution && resolution.isExternalLibraryImport; var isJsFileFromNodeModules = isFromNodeModulesSearch && ts.hasJavaScriptFileExtension(resolution.resolvedFileName); if (isFromNodeModulesSearch) { - sourceFilesFoundSearchingNodeModules[resolvedPath] = true; + currentNodeModulesDepth++; } - if (isJsFileFromNodeModules) { - currentNodeModulesJsDepth++; - } - var elideImport = isJsFileFromNodeModules && currentNodeModulesJsDepth > maxNodeModulesJsDepth; + var elideImport = isJsFileFromNodeModules && currentNodeModulesDepth > maxNodeModulesJsDepth; var shouldAddFile = resolution && !options.noResolve && i < file.imports.length && !elideImport; if (elideImport) { modulesWithElidedImports[file.path] = true; @@ -44751,8 +44805,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 (isJsFileFromNodeModules) { - currentNodeModulesJsDepth--; + if (isFromNodeModulesSearch) { + currentNodeModulesDepth--; } } } @@ -45090,12 +45144,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", @@ -47087,7 +47141,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:*/ startsWith(candidate, chunk.text)); + return createPatternMatch(PatternMatchKind.prefix, punctuationStripped, /*isCaseSensitive:*/ ts.startsWith(candidate, chunk.text)); } } var isLowercase = chunk.isLowerCase; @@ -47353,14 +47407,6 @@ 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++) { @@ -49205,6 +49251,7 @@ 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); @@ -49296,6 +49343,9 @@ var ts; } return false; } + function shouldRescanJsxText(node) { + return node && node.kind === 244 /* JsxText */; + } function shouldRescanSlashToken(container) { return container.kind === 10 /* RegularExpressionLiteral */; } @@ -49326,7 +49376,9 @@ var ts; ? 3 /* RescanTemplateToken */ : shouldRescanJsxIdentifier(n) ? 4 /* RescanJsxIdentifier */ - : 0 /* Scan */; + : shouldRescanJsxText(n) + ? 5 /* RescanJsxText */ + : 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' @@ -49361,6 +49413,10 @@ var ts; currentToken = scanner.scanJsxIdentifier(); lastScanAction = 4 /* RescanJsxIdentifier */; } + else if (expectedScanAction === 5 /* RescanJsxText */) { + currentToken = scanner.reScanJsxToken(); + lastScanAction = 5 /* RescanJsxText */; + } else { lastScanAction = 0 /* Scan */; } @@ -52033,19 +52089,20 @@ var ts; "version" ]; var jsDocCompletionEntries; - function createNode(kind, pos, end, flags, parent) { - var node = new NodeObject(kind, pos, end); - node.flags = flags; + 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); 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); @@ -52080,14 +52137,14 @@ var ts; var token = useJSDocScanner ? scanner.scanJSDocToken() : scanner.scan(); var textPos = scanner.getTextPos(); if (textPos <= end) { - nodes.push(createNode(token, pos, textPos, 0, this)); + nodes.push(createNode(token, pos, textPos, this)); } pos = textPos; } return pos; }; NodeObject.prototype.createSyntaxList = function (nodes) { - var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, 0, this); + var list = createNode(282 /* SyntaxList */, nodes.pos, nodes.end, this); list._children = []; var pos = nodes.pos; for (var _i = 0, nodes_4 = nodes; _i < nodes_4.length; _i++) { @@ -52173,6 +52230,74 @@ 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; @@ -58937,6 +59062,8 @@ 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; }, @@ -59562,7 +59689,7 @@ var ts; // /// /* @internal */ -var debugObjectHost = this; +var debugObjectHost = new Function("return this")(); // We need to use 'null' to interface with the managed side. /* tslint:disable:no-null-keyword */ /* tslint:disable:no-in-operator */ @@ -59701,7 +59828,7 @@ var ts; return this.shimHost.getCurrentDirectory(); }; LanguageServiceShimHostAdapter.prototype.getDirectories = function (path) { - return this.shimHost.getDirectories(path); + return JSON.parse(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 efe3866b6dbc0..25d8f0c42eab1 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", @@ -72,14 +72,14 @@ "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/parallel-lint.js b/scripts/parallel-lint.js new file mode 100644 index 0000000000000..a9aec06c2dfa0 --- /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 26632ba6bab3c..431cf46018050 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/tsd.json b/scripts/tsd.json deleted file mode 100644 index c2fc88a0b0fee..0000000000000 --- a/scripts/tsd.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "version": "v4", - "repo": "borisyankov/DefinitelyTyped", - "ref": "master", - "path": "typings", - "bundle": "typings/tsd.d.ts", - "installed": { - "node/node.d.ts": { - "commit": "5f480287834a2615274eea31574b713e64decf17" - } - } -} diff --git a/scripts/tslint/noTypeAssertionWhitespaceRule.ts b/scripts/tslint/noTypeAssertionWhitespaceRule.ts new file mode 100644 index 0000000000000..e75964b9e7e99 --- /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 aaa1b0e53d5b8..1d3166924686a 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.`; @@ -64,7 +63,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; @@ -172,7 +171,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 +193,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 +204,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 +212,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,7 +221,7 @@ 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); } diff --git a/scripts/types/ambient.d.ts b/scripts/types/ambient.d.ts index e77e3fe8c5a6d..e83489801d790 100644 --- a/scripts/types/ambient.d.ts +++ b/scripts/types/ambient.d.ts @@ -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 b7852a64d04de..b5ab2306989f3 100644 --- a/src/compiler/binder.ts +++ b/src/compiler/binder.ts @@ -3,8 +3,6 @@ /* @internal */ namespace ts { - export let bindTime = 0; - export const enum ModuleInstanceState { NonInstantiated = 0, Instantiated = 1, @@ -91,9 +89,10 @@ namespace ts { const binder = createBinder(); export function bindSourceFile(file: SourceFile, options: CompilerOptions) { - const start = new Date().getTime(); + performance.mark("beforeBind"); binder(file, options); - bindTime += new Date().getTime() - start; + performance.mark("afterBind"); + performance.measure("Bind", "beforeBind", "afterBind"); } function createBinder(): (file: SourceFile, options: CompilerOptions) => void { @@ -137,7 +136,7 @@ namespace ts { options = opts; languageVersion = getEmitScriptTarget(options); inStrictMode = !!file.externalModuleIndicator; - classifiableNames = {}; + classifiableNames = createMap(); symbolCount = 0; Symbol = objectAllocator.getSymbolConstructor(); @@ -185,11 +184,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) { @@ -320,9 +319,7 @@ 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; @@ -436,7 +433,7 @@ namespace ts { if (containerFlags & ContainerFlags.IsContainer) { container = blockScopeContainer = node; if (containerFlags & ContainerFlags.HasLocals) { - container.locals = {}; + container.locals = createMap(); } addToContainerChain(container); } @@ -620,18 +617,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: @@ -640,9 +629,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: @@ -666,11 +654,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, @@ -720,7 +703,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); @@ -1415,7 +1398,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) { @@ -1425,7 +1409,7 @@ namespace ts { } if (inStrictMode) { - const seen: Map = {}; + const seen = createMap(); for (const prop of node.properties) { if (prop.name.kind !== SyntaxKind.Identifier) { @@ -1481,7 +1465,7 @@ namespace ts { // fall through. default: if (!blockScopeContainer.locals) { - blockScopeContainer.locals = {}; + blockScopeContainer.locals = createMap(); addToContainerChain(blockScopeContainer); } declareSymbol(blockScopeContainer.locals, undefined, node, symbolFlags, symbolExcludes); @@ -1903,18 +1887,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); } } @@ -1941,7 +1924,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); } @@ -1985,7 +1968,7 @@ 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) { + if (container.kind === SyntaxKind.FunctionDeclaration || container.kind === SyntaxKind.FunctionExpression) { assignee = container; } else if (container.kind === SyntaxKind.Constructor) { @@ -1994,7 +1977,7 @@ namespace ts { else { return; } - assignee.symbol.members = assignee.symbol.members || {}; + assignee.symbol.members = assignee.symbol.members || createMap(); // 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); } @@ -2020,7 +2003,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 @@ -2069,7 +2052,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; } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e842f008bbe74..4b32c3287d8d2 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -15,8 +15,6 @@ namespace ts { return node.id; } - export let checkTime = 0; - export function getSymbolId(symbol: Symbol): number { if (!symbol.id) { symbol.id = nextSymbolId; @@ -46,7 +44,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; @@ -108,25 +106,33 @@ namespace ts { isOptionalParameter }; + const tupleTypes = createMap(); + 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 @@ -135,12 +141,12 @@ 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 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. @@ -194,10 +200,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[] = []; @@ -211,7 +215,7 @@ namespace ts { const flowLoopKeys: string[] = []; const flowLoopTypes: Type[][] = []; const visitedFlowNodes: FlowNode[] = []; - const visitedFlowTypes: Type[] = []; + const visitedFlowTypes: FlowType[] = []; const potentialThisCollisions: Node[] = []; const awaitedTypeStack: number[] = []; @@ -241,27 +245,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: MapLike = { "string": TypeFacts.TypeofEQString, "number": TypeFacts.TypeofEQNumber, "boolean": TypeFacts.TypeofEQBoolean, @@ -271,7 +294,7 @@ namespace ts { "function": TypeFacts.TypeofEQFunction }; - const typeofNEFacts: Map = { + const typeofNEFacts: MapLike = { "string": TypeFacts.TypeofNEString, "number": TypeFacts.TypeofNENumber, "boolean": TypeFacts.TypeofNEBoolean, @@ -281,7 +304,7 @@ namespace ts { "function": TypeFacts.TypeofNEFunction }; - const typeofTypesByName: Map = { + const typeofTypesByName: MapLike = { "string": stringType, "number": numberType, "boolean": booleanType, @@ -291,7 +314,7 @@ namespace ts { let jsxElementType: ObjectType; /** Things we lazy load from the JSX namespace */ - const jsxTypes: Map = {}; + const jsxTypes = createMap(); const JsxNames = { JSX: "JSX", IntrinsicElements: "IntrinsicElements", @@ -302,10 +325,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; @@ -319,9 +342,8 @@ namespace ts { ResolvedReturnType } - const builtinGlobals: SymbolTable = { - [undefinedSymbol.name]: undefinedSymbol - }; + const builtinGlobals = createMap(); + builtinGlobals[undefinedSymbol.name] = undefinedSymbol; initializeTypeChecker(); @@ -404,11 +426,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); @@ -426,28 +448,24 @@ namespace ts { } function cloneSymbolTable(symbolTable: SymbolTable): SymbolTable { - const result: SymbolTable = {}; + const result = createMap(); for (const id in symbolTable) { - if (hasProperty(symbolTable, id)) { - result[id] = 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]); } } } @@ -491,14 +509,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]; } } @@ -523,18 +539,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. @@ -642,7 +660,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; @@ -722,7 +740,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; @@ -859,7 +877,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)); } @@ -908,7 +927,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; } @@ -946,29 +965,31 @@ 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); // Block-scoped variables cannot be used before their definition @@ -976,7 +997,7 @@ namespace ts { Debug.assert(declaration !== undefined, "Block-scoped variable declaration is undefined"); - if (!isBlockScopedNameDeclaredBeforeUse(getAncestor(declaration, SyntaxKind.VariableDeclaration), errorLocation)) { + if (!isInAmbientContext(declaration) && !isBlockScopedNameDeclaredBeforeUse(getAncestor(declaration, SyntaxKind.VariableDeclaration), errorLocation)) { error(errorLocation, Diagnostics.Block_scoped_variable_0_used_before_its_declaration, declarationNameToString(declaration.name)); } } @@ -1011,7 +1032,7 @@ namespace ts { } function getDeclarationOfAliasSymbol(symbol: Symbol): Declaration { - return forEach(symbol.declarations, d => isAliasSymbolDeclaration(d) ? d : undefined); + return find(symbol.declarations, d => isAliasSymbolDeclaration(d) ? d : undefined); } function getTargetOfImportEqualsDeclaration(node: ImportEqualsDeclaration): Symbol { @@ -1079,9 +1100,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); } } } @@ -1113,6 +1134,10 @@ namespace ts { else { symbolFromVariable = getPropertyOfVariable(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 (!symbolFromVariable && allowSyntheticDefaultImports && name.text === "default") { + symbolFromVariable = resolveExternalModuleSymbol(moduleSymbol) || resolveSymbol(moduleSymbol); + } // if symbolFromVariable is export - get its final target symbolFromVariable = resolveSymbol(symbolFromVariable); const symbolFromModule = getExportOfModule(targetSymbol, name.text); @@ -1142,7 +1167,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 { @@ -1252,7 +1277,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): Symbol | undefined { if (nodeIsMissing(name)) { return undefined; } @@ -1267,7 +1292,7 @@ namespace ts { } } 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); @@ -1395,7 +1420,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] = { @@ -1403,7 +1428,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]; } @@ -1429,8 +1454,8 @@ namespace ts { // 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); @@ -1444,7 +1469,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) { @@ -1512,8 +1537,8 @@ namespace ts { function createType(flags: TypeFlags): Type { const result = new Type(checker, flags); - result.id = typeCount; typeCount++; + result.id = typeCount; return result; } @@ -1523,6 +1548,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; @@ -1543,13 +1575,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); } } } @@ -1665,12 +1695,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; @@ -1816,7 +1846,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)) { @@ -1897,6 +1927,30 @@ namespace ts { return result; } + 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: NodeFlags) { if (flags === NodeFlags.Private) { return "private"; @@ -2066,6 +2120,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 @@ -2080,23 +2135,35 @@ 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 @@ -2186,7 +2253,12 @@ namespace ts { 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); } @@ -2902,7 +2974,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 && 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; @@ -2945,7 +3017,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 @@ -3046,7 +3118,7 @@ namespace ts { // Return the type implied by an object binding pattern function getTypeFromObjectBindingPattern(pattern: BindingPattern, includePatternInType: boolean): Type { - const members: SymbolTable = {}; + const members = createMap(); let hasComputedProperties = false; forEach(pattern.elements, e => { const name = e.propertyName || e.name; @@ -3168,7 +3240,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 @@ -3176,13 +3248,13 @@ 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))); + 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); } @@ -3294,7 +3366,7 @@ namespace ts { 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; @@ -3604,7 +3676,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; @@ -3634,7 +3706,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; @@ -3655,8 +3727,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); @@ -3667,15 +3740,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; } } @@ -3688,12 +3761,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; } @@ -3727,11 +3860,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); @@ -3765,7 +3901,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); @@ -3819,7 +3955,7 @@ namespace ts { } function createSymbolTable(symbols: Symbol[]): SymbolTable { - const result: SymbolTable = {}; + const result = createMap(); for (const symbol of symbols) { result[symbol.name] = symbol; } @@ -3829,7 +3965,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); } @@ -3838,7 +3974,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; } } @@ -3861,6 +3997,9 @@ namespace ts { return createTypeReference((type).target, concatenate((type).typeArguments, [thisArgument || (type).target.thisType])); } + if (type.flags & TypeFlags.Tuple) { + return createTupleType((type as TupleType).elementTypes, thisArgument); + } return type; } @@ -3910,7 +4049,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; @@ -3920,20 +4059,20 @@ 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); @@ -3952,7 +4091,7 @@ namespace ts { } function createTupleTypeMemberSymbols(memberTypes: Type[]): SymbolTable { - const members: SymbolTable = {}; + const members = createMap(); for (let i = 0; i < memberTypes.length; i++) { const symbol = createSymbol(SymbolFlags.Property | SymbolFlags.Transient, "" + i); symbol.type = memberTypes[i]; @@ -3962,9 +4101,10 @@ namespace ts { } function resolveTupleTypeMembers(type: TupleType) { - const arrayElementType = getUnionType(type.elementTypes, /*noSubtypeReduction*/ true); + const arrayElementType = getUnionType(type.elementTypes); // Make the tuple type itself the 'this' type by including an extra type argument - const arrayType = resolveStructuredTypeMembers(createTypeFromGenericGlobalType(globalArrayType, [arrayElementType, type])); + // (Unless it's provided in the case that the tuple is a type parameter constraint) + const arrayType = resolveStructuredTypeMembers(createTypeFromGenericGlobalType(globalArrayType, [arrayElementType, type.thisType || type])); const members = createTupleTypeMemberSymbols(type.elementTypes); addInheritedMembers(members, arrayType.properties); setObjectTypeMembers(type, members, arrayType.callSignatures, arrayType.constructSignatures, arrayType.stringIndexInfo, arrayType.numberIndexInfo); @@ -4024,7 +4164,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 @@ -4050,7 +4190,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) { @@ -4174,11 +4314,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; } } } @@ -4232,7 +4370,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) { @@ -4277,10 +4415,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( @@ -4290,6 +4437,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); @@ -4297,29 +4445,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); @@ -4384,7 +4535,7 @@ namespace ts { } } if (propTypes.length) { - return getUnionType(propTypes); + return getUnionType(propTypes, /*subtypeReduction*/ true); } } return undefined; @@ -4481,7 +4632,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; @@ -4507,8 +4658,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)) { @@ -4551,7 +4702,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; } @@ -4649,7 +4800,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); @@ -4700,7 +4851,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; @@ -4787,24 +4938,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. @@ -4887,7 +5041,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; @@ -4896,8 +5050,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; @@ -4908,7 +5063,7 @@ namespace ts { function resolveTypeReferenceName( node: TypeReferenceNode | ExpressionWithTypeArguments | JSDocTypeReference, - typeReferenceName: LeftHandSideExpression | EntityName) { + typeReferenceName: EntityNameExpression | EntityName) { if (!typeReferenceName) { return unknownSymbol; @@ -4949,15 +5104,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) : @@ -5076,15 +5230,16 @@ namespace ts { return links.resolvedType; } - function createTupleType(elementTypes: Type[]) { - const id = getTypeListId(elementTypes); - return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes)); + function createTupleType(elementTypes: Type[], thisType?: Type) { + const id = getTypeListId(elementTypes) + "," + (thisType ? thisType.id : 0); + return tupleTypes[id] || (tupleTypes[id] = createNewTupleType(elementTypes, thisType)); } - function createNewTupleType(elementTypes: Type[]) { + function createNewTupleType(elementTypes: Type[], thisType?: Type) { const propagatedFlags = getPropagatingFlagsOfTypes(elementTypes, /*excludeKinds*/ 0); const type = createObjectType(TypeFlags.Tuple | propagatedFlags); type.elementTypes = elementTypes; + type.thisType = thisType; return type; } @@ -5103,27 +5258,68 @@ 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 { @@ -5145,14 +5341,14 @@ namespace ts { } } - // 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; } @@ -5160,15 +5356,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) { @@ -5176,45 +5368,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, getTypeFromTypeNode), /*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]; } @@ -5224,40 +5442,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, getTypeFromTypeNode), 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; } @@ -5301,7 +5526,7 @@ namespace ts { return links.resolvedType; } - function getTypeFromTypeNode(node: TypeNode): Type { + function getTypeFromTypeNode(node: TypeNode, aliasSymbol?: Symbol, aliasTypeArguments?: Type[]): Type { switch (node.kind) { case SyntaxKind.AnyKeyword: case SyntaxKind.JSDocAllType: @@ -5326,8 +5551,8 @@ namespace ts { case SyntaxKind.ThisType: case SyntaxKind.ThisKeyword: return getTypeFromThisTypeNode(node); - case SyntaxKind.StringLiteralType: - return getTypeFromStringLiteralTypeNode(node); + case SyntaxKind.LiteralType: + return getTypeFromLiteralTypeNode(node); case SyntaxKind.TypeReference: case SyntaxKind.JSDocTypeReference: return getTypeFromTypeReference(node); @@ -5344,9 +5569,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: @@ -5360,7 +5585,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: @@ -5413,6 +5638,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; } @@ -5494,7 +5720,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; @@ -5538,6 +5764,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; } @@ -5614,11 +5842,11 @@ namespace ts { 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; @@ -5686,23 +5914,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); } /** @@ -5710,7 +5945,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 { @@ -5739,6 +5974,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 */ @@ -5746,7 +5983,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) { @@ -5831,7 +6068,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) { @@ -5868,8 +6105,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); } @@ -5903,6 +6140,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. @@ -5974,33 +6269,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)) { @@ -6023,10 +6297,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) { @@ -6063,7 +6337,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; } } @@ -6204,18 +6478,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) { @@ -6240,18 +6506,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) { @@ -6333,7 +6591,7 @@ namespace ts { } sourceStack[depth] = source; targetStack[depth] = target; - maybeStack[depth] = {}; + maybeStack[depth] = createMap(); maybeStack[depth][id] = RelationComparisonResult.Succeeded; depth++; const saveExpandingFlags = expandingFlags; @@ -6628,29 +6886,6 @@ 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; @@ -6760,9 +6995,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; @@ -6834,24 +7071,16 @@ namespace ts { return true; } - function getCombinedFlagsOfTypes(types: Type[]) { - let flags: TypeFlags = 0; - for (const t of types) { - flags |= t.flags; - } - return flags; - } - function getCommonSupertype(types: Type[]): Type { if (!strictNullChecks) { return forEach(types, t => isSupertypeOfEach(t, types) ? t : undefined); } 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); + return supertype && includeFalsyTypes(supertype, getFalsyFlagsOfTypes(types) & TypeFlags.Nullable); } function reportNoCommonSupertypeError(types: Type[], errorLocation: Node, errorMessageChainHead: DiagnosticMessageChain): void { @@ -6910,10 +7139,23 @@ 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 isUnitUnionType(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 getBaseTypeOfUnitType(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, getBaseTypeOfUnitType)) : + type; } /** @@ -6924,22 +7166,43 @@ namespace ts { return !!(type.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; + } + + // 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 addTypeKind(type: Type, kind: TypeFlags) { - if ((getCombinedTypeFlags(type) & kind) === kind) { + 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 { @@ -6969,7 +7232,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); @@ -7030,7 +7293,7 @@ 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])); @@ -7170,12 +7433,30 @@ namespace ts { }; } + // 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.Tuple && forEach((type).elementTypes, 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 inferTypes(context: InferenceContext, source: Type, target: Type) { let sourceStack: Type[]; let targetStack: Type[]; let depth = 0; let inferiority = 0; - const visited: Map = {}; + const visited = createMap(); inferFromTypes(source, target); function isInProcess(source: Type, target: Type) { @@ -7188,12 +7469,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) { @@ -7291,25 +7582,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 = []; @@ -7399,7 +7683,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[] { @@ -7414,7 +7698,7 @@ namespace ts { const inferences = getInferenceCandidates(context, index); if (inferences.length) { // 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(inferences, /*subtypeReduction*/ true) : getCommonSupertype(inferences); inferredType = unionOrSuperType ? getWidenedType(unionOrSuperType) : unknownType; inferenceSucceeded = !!unionOrSuperType; } @@ -7503,11 +7787,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: @@ -7520,16 +7799,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; } @@ -7544,6 +7824,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 && + isUnitUnionType(getTypeOfSymbol(prop)); + } + return (prop).isDiscriminantProperty; + } + } + return false; + } + function isOrContainsMatchingReference(source: Node, target: Node) { return isMatchingReference(source, target) || containsMatchingReference(source, target); } @@ -7587,29 +7912,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 || + hasProperty(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; } @@ -7624,34 +7980,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) { @@ -7763,48 +8101,88 @@ 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; + } + + function getTypeOfSwitchClause(clause: CaseClause | DefaultClause) { + if (clause.kind === SyntaxKind.CaseClause) { + const caseType = checkExpression((clause).expression); + return isUnitType(caseType) ? caseType : undefined; + } + return neverType; + } + + function getSwitchClauseTypes(switchStatement: SwitchStatement): Type[] { + const links = getNodeLinks(switchStatement); + if (!links.switchTypes) { + // 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 = !contains(types, undefined) ? types : emptyArray; + } + return links.switchTypes; + } + + function eachTypeContainedIn(source: Type, types: Type[]) { + return source.flags & TypeFlags.Union ? !forEach((source).types, t => !contains(types, t)) : contains(types, source); + } + + function isTypeSubsetOf(source: Type, target: Type) { + return source === target || target.flags & TypeFlags.Union && isTypeSubsetOfUnion(source, target); + } + + 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 node; + return containsType(target.types, source); } - function getTypeOfSwitchClause(clause: CaseClause | DefaultClause) { - if (clause.kind === SyntaxKind.CaseClause) { - const expr = (clause).expression; - return expr.kind === SyntaxKind.StringLiteral ? getStringLiteralTypeForText((expr).text) : checkExpression(expr); + 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 undefined; + return f(type) ? type : neverType; } - function getSwitchClauseTypes(switchStatement: SwitchStatement): Type[] { - const links = getNodeLinks(switchStatement); - if (!links.switchTypes) { - // 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; - } - return links.switchTypes; + function isIncomplete(flowType: FlowType) { + return flowType.flags === 0; } - function eachTypeContainedIn(source: Type, types: Type[]) { - return source.flags & TypeFlags.Union ? !forEach((source).types, t => !contains(types, t)) : contains(types, source); + function getTypeFromFlowType(flowType: FlowType) { + return flowType.flags === 0 ? (flowType).type : flowType; } - function filterType(type: Type, f: (t: Type) => boolean): Type { - return type.flags & TypeFlags.Union ? - getUnionType(filter((type).types, f)) : - f(type) ? type : neverType; + function createFlowType(type: Type, incomplete: boolean): FlowType { + return incomplete ? { flags: 0, type } : type; } function getFlowTypeOfReference(reference: Node, declaredType: Type, assumeInitialized: boolean, includeOuterFunctions: boolean) { @@ -7812,16 +8190,16 @@ namespace ts { 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 @@ -7833,7 +8211,7 @@ namespace ts { } } } - let type: Type; + let type: FlowType; if (flow.flags & FlowFlags.Assignment) { type = getTypeAtFlowAssignment(flow); if (!type) { @@ -7885,19 +8263,9 @@ 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)) : + getAssignmentReducedType(declaredType, getInitialOrAssignedType(node)) : declaredType; } // We didn't have a direct match. However, if the reference is a dotted name, this @@ -7911,34 +8279,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 @@ -7949,15 +8328,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); } @@ -7965,23 +8353,24 @@ 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; flowLoopNodes[flowLoopCount] = flow; flowLoopKeys[flowLoopCount] = key; flowLoopTypes[flowLoopCount] = antecedentTypes; for (const antecedent of flow.antecedents) { flowLoopCount++; - const type = getTypeAtFlowNode(antecedent); + const type = getTypeFromFlowType(getTypeAtFlowNode(antecedent)); flowLoopCount--; // 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 @@ -7992,6 +8381,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. @@ -7999,11 +8394,34 @@ namespace ts { break; } } - return cache[key] = getUnionType(antecedentTypes); + return cache[key] = getUnionType(antecedentTypes, subtypeReduction); + } + + 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 { @@ -8014,26 +8432,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 (isMatchingReference(reference, right)) { + return narrowTypeByEquality(type, operator, left, assumeTrue); + } + if (isMatchingReferenceDiscriminant(left)) { + return narrowTypeByDiscriminant(type, left, t => narrowTypeByEquality(t, operator, right, assumeTrue)); } - if (right.kind === SyntaxKind.PropertyAccessExpression) { - return narrowTypeByDiscriminant(type, right, operator, left, 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: @@ -8044,26 +8465,36 @@ 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 (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. @@ -8077,7 +8508,7 @@ 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); if (targetType && isTypeSubtypeOf(targetType, type)) { @@ -8090,60 +8521,25 @@ namespace ts { 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. @@ -8152,10 +8548,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); @@ -8173,6 +8565,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[]; @@ -8196,29 +8593,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, targetType) ? 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); @@ -8226,6 +8624,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) { @@ -8389,7 +8793,7 @@ namespace ts { 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) { + 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; @@ -9266,6 +9670,31 @@ namespace ts { return undefined; } + function isLiteralTypeLocation(node: Node): boolean { + const parent = node.parent; + switch (parent.kind) { + case SyntaxKind.BinaryExpression: + switch ((parent).operatorToken.kind) { + case SyntaxKind.EqualsEqualsEqualsToken: + case SyntaxKind.ExclamationEqualsEqualsToken: + case SyntaxKind.EqualsEqualsToken: + case SyntaxKind.ExclamationEqualsToken: + return true; + } + break; + case SyntaxKind.ConditionalExpression: + return (node === (parent).whenTrue || + node === (parent).whenFalse) && + isLiteralTypeLocation(parent); + case SyntaxKind.ParenthesizedExpression: + return isLiteralTypeLocation(parent); + case SyntaxKind.CaseClause: + case SyntaxKind.LiteralType: + return true; + } + return false; + } + // If the given type is an object or union type, if that type has a single signature, and if // that signature is non-generic, return the signature. Otherwise return undefined. function getNonGenericSignature(type: Type): Signature { @@ -9440,7 +9869,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 { @@ -9507,7 +9938,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); } @@ -9516,7 +9947,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 && @@ -9607,7 +10038,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); @@ -9818,7 +10249,7 @@ namespace ts { } } - return getUnionType(signatures.map(getReturnTypeOfSignature)); + return getUnionType(signatures.map(getReturnTypeOfSignature), /*subtypeReduction*/ true); } /// e.g. "props" for React.d.ts, @@ -9870,7 +10301,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 @@ -9881,7 +10312,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); @@ -10057,7 +10488,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 @@ -10081,7 +10512,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)); } @@ -10205,7 +10636,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 : @@ -10262,7 +10693,11 @@ namespace ts { checkClassPropertyAccess(node, left, apparentType, prop); } - const propType = getTypeOfSymbol(prop); + let propType = getTypeOfSymbol(prop); + if (prop.flags & SymbolFlags.EnumMember && isLiteralContextForType(node, propType)) { + propType = getDeclaredTypeOfSymbol(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. @@ -10559,7 +10994,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 @@ -10818,9 +11253,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 @@ -11028,7 +11461,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); @@ -11546,8 +11979,20 @@ namespace ts { 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)) { + const containingClass = getContainingClass(node); + if (containingClass) { + const containingType = getTypeOfNode(containingClass); + const baseTypes = getBaseTypes(containingType); + if (baseTypes.length) { + const baseType = baseTypes[0]; + if (flags & NodeFlags.Protected && + baseType.symbol === declaration.parent.symbol) { + return true; + } + } + } if (flags & NodeFlags.Private) { error(node, Diagnostics.Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration, typeToString(declaringClass)); } @@ -11759,7 +12204,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; @@ -11922,7 +12367,7 @@ namespace ts { } // 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); + type = contextualSignature ? getUnionType(types, /*subtypeReduction*/ true) : getCommonSupertype(types); if (!type) { if (funcIsGenerator) { error(func, Diagnostics.No_best_common_type_exists_among_yield_expressions); @@ -11931,7 +12376,7 @@ namespace ts { 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 isAsync ? createPromiseReturnType(func, getUnionType(types, /*subtypeReduction*/ true)) : getUnionType(types, /*subtypeReduction*/ true); } } @@ -11973,24 +12418,18 @@ namespace ts { } function isExhaustiveSwitchStatement(node: SwitchStatement): boolean { - const expr = node.expression; - if (!node.possiblyExhaustive || expr.kind !== SyntaxKind.PropertyAccessExpression) { - return false; - } - const type = checkExpression((expr).expression); - if (!(type.flags & TypeFlags.Union)) { + if (!node.possiblyExhaustive) { return false; } - const propName = (expr).name.text; - const propType = getTypeOfPropertyOfType(type, propName); - if (!propType || !isStringLiteralUnionType(propType)) { + const type = checkExpression(node.expression); + if (!isUnitUnionType(type)) { return false; } const switchTypes = getSwitchClauseTypes(node); if (!switchTypes.length) { return false; } - return eachTypeContainedIn(propType, switchTypes); + return eachTypeContainedIn(type, switchTypes); } function functionHasImplicitReturn(func: FunctionLikeDeclaration) { @@ -12326,6 +12765,9 @@ namespace ts { function checkPrefixUnaryExpression(node: PrefixUnaryExpression): Type { const operandType = checkExpression(node.operand); + if (node.operator === SyntaxKind.MinusToken && node.operand.kind === SyntaxKind.NumericLiteral && isLiteralContextForType(node, numberType)) { + return getLiteralTypeForText(TypeFlags.NumberLiteral, "" + -(node.operand).text); + } switch (node.operator) { case SyntaxKind.PlusToken: case SyntaxKind.MinusToken: @@ -12335,7 +12777,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), @@ -12516,6 +12961,9 @@ 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); } @@ -12550,7 +12998,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); @@ -12586,6 +13034,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); } @@ -12635,8 +13091,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)); } @@ -12709,6 +13165,12 @@ namespace ts { case SyntaxKind.ExclamationEqualsToken: case SyntaxKind.EqualsEqualsEqualsToken: case SyntaxKind.ExclamationEqualsEqualsToken: + const leftIsUnit = isUnitUnionType(leftType); + const rightIsUnit = isUnitUnionType(rightType); + if (!leftIsUnit || !rightIsUnit) { + leftType = leftIsUnit ? getBaseTypeOfUnitType(leftType) : leftType; + rightType = rightIsUnit ? getBaseTypeOfUnitType(rightType) : rightType; + } if (!isTypeEqualityComparableTo(leftType, rightType) && !isTypeEqualityComparableTo(rightType, leftType)) { reportOperatorError(); } @@ -12718,9 +13180,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 : getBaseTypeOfUnitType(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); @@ -12846,16 +13312,68 @@ 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 typeContainsLiteralFromEnum(type: Type, enumType: EnumType) { + if (type.flags & TypeFlags.Union) { + for (const t of (type).types) { + if (t.flags & TypeFlags.EnumLiteral && (t).baseType === enumType) { + return true; + } + } } + if (type.flags & TypeFlags.EnumLiteral) { + return (type).baseType === enumType; + } + return false; + } - return stringType; + function isLiteralContextForType(node: Expression, type: Type) { + if (isLiteralTypeLocation(node)) { + return true; + } + let contextualType = getContextualType(node); + 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 (type === apparentType) { + return true; + } + contextualType = apparentType; + } + if (type.flags & TypeFlags.String) { + return maybeTypeOfKind(contextualType, TypeFlags.StringLiteral); + } + if (type.flags & TypeFlags.Number) { + return maybeTypeOfKind(contextualType, (TypeFlags.NumberLiteral | TypeFlags.EnumLiteral)); + } + if (type.flags & TypeFlags.Boolean) { + return maybeTypeOfKind(contextualType, TypeFlags.BooleanLiteral) && !isTypeAssignableTo(booleanType, contextualType); + } + if (type.flags & TypeFlags.Enum) { + return typeContainsLiteralFromEnum(contextualType, type); + } + } + return false; + } + + function checkLiteralExpression(node: Expression): Type { + if (node.kind === SyntaxKind.NumericLiteral) { + checkGrammarNumericLiteral(node); + } + switch (node.kind) { + case SyntaxKind.StringLiteral: + return isLiteralContextForType(node, stringType) ? getLiteralTypeForText(TypeFlags.StringLiteral, (node).text) : stringType; + case SyntaxKind.NumericLiteral: + return isLiteralContextForType(node, numberType) ? getLiteralTypeForText(TypeFlags.NumberLiteral, (node).text) : numberType; + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: + return isLiteralContextForType(node, booleanType) ? node.kind === SyntaxKind.TrueKeyword ? trueType : falseType : booleanType; + } } function checkTemplateExpression(node: TemplateExpression): Type { @@ -12970,12 +13488,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: @@ -12986,15 +13498,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: @@ -13277,22 +13787,26 @@ namespace ts { checkAsyncFunctionReturnType(node); } } - if (!(node).body) { + if (noUnusedIdentifiers && !(node).body) { checkUnusedTypeParameters(node); } } } 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); } } } @@ -13304,24 +13818,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)); } @@ -13336,7 +13850,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; @@ -13350,7 +13864,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); } @@ -13637,6 +14151,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)); + } } } @@ -14060,7 +14577,7 @@ namespace ts { return undefined; } - return getUnionType(map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature)); + return getUnionType(map(onfulfilledParameterSignatures, getTypeOfFirstParameterOfSignature), /*subtypeReduction*/ true); } function getTypeOfFirstParameterOfSignature(signature: Signature) { @@ -14088,7 +14605,7 @@ namespace ts { types.push(checkAwaitedTypeWorker(constituentType)); } - return getUnionType(types); + return getUnionType(types, /*subtypeReduction*/ true); } else { const promisedType = getPromisedType(type); @@ -14559,22 +15076,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)); + } } } } @@ -14612,8 +15127,15 @@ namespace ts { function checkUnusedTypeParameters(node: ClassDeclaration | ClassExpression | FunctionDeclaration | MethodDeclaration | FunctionExpression | ArrowFunction | ConstructorDeclaration | SignatureDeclaration | InterfaceDeclaration) { if (compilerOptions.noUnusedLocals && !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. + const symbol = getSymbolOfNode(node); + const lastDeclaration = symbol && symbol.declarations && lastOrUndefined(symbol.declarations); + if (lastDeclaration !== node) { + return; + } for (const typeParameter of node.typeParameters) { - if (!typeParameter.symbol.isReferenced) { + if (!getMergedSymbol(typeParameter.symbol).isReferenced) { error(typeParameter.name, Diagnostics._0_is_declared_but_never_used, typeParameter.symbol.name); } } @@ -14624,13 +15146,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); } } } @@ -15306,7 +15826,7 @@ namespace ts { return undefined; } - typeAsIterable.iterableElementType = getElementTypeOfIterator(getUnionType(map(iteratorFunctionSignatures, getReturnTypeOfSignature)), errorNode); + typeAsIterable.iterableElementType = getElementTypeOfIterator(getUnionType(map(iteratorFunctionSignatures, getReturnTypeOfSignature), /*subtypeReduction*/ true), errorNode); } } @@ -15352,7 +15872,7 @@ namespace ts { return undefined; } - const iteratorNextResult = getUnionType(map(iteratorNextFunctionSignatures, getReturnTypeOfSignature)); + const iteratorNextResult = getUnionType(map(iteratorNextFunctionSignatures, getReturnTypeOfSignature), /*subtypeReduction*/ true); if (isTypeAny(iteratorNextResult)) { return undefined; } @@ -15411,7 +15931,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; @@ -15452,7 +15972,7 @@ namespace ts { return stringType; } - return getUnionType([arrayElementType, stringType]); + return getUnionType([arrayElementType, stringType], /*subtypeReduction*/ true); } return arrayElementType; @@ -15639,7 +16159,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); @@ -15853,6 +16373,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 @@ -15870,7 +16396,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); @@ -16054,18 +16580,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; @@ -16112,7 +16638,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); @@ -16122,7 +16648,7 @@ namespace ts { if (produceDiagnostics) { checkTypeForDuplicateIndexSignatures(node); - checkUnusedTypeParameters(node); + registerForUnusedIdentifiersCheck(node); } } @@ -16577,20 +17103,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 { @@ -17019,11 +17546,10 @@ namespace ts { } function checkSourceFile(node: SourceFile) { - const start = new Date().getTime(); - + performance.mark("beforeCheck"); checkSourceFileWorker(node); - - checkTime += new Date().getTime() - start; + performance.mark("afterCheck"); + performance.measure("Check", "beforeCheck", "afterCheck"); } // Fully type check a source file and collect the relevant diagnostics. @@ -17123,7 +17649,7 @@ namespace ts { } function getSymbolsInScope(location: Node, meaning: SymbolFlags): Symbol[] { - const symbols: SymbolTable = {}; + const symbols = createMap(); let memberFlags: NodeFlags = 0; if (isInsideWithStatementBody(location)) { @@ -17201,7 +17727,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; } } @@ -17289,7 +17815,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); } @@ -17308,22 +17834,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)) { @@ -17622,7 +18146,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; } }); @@ -17916,7 +18440,7 @@ namespace ts { else if (isTypeOfKind(type, TypeFlags.Void)) { return TypeReferenceSerializationKind.VoidType; } - else if (isTypeOfKind(type, TypeFlags.Boolean)) { + else if (isTypeOfKind(type, TypeFlags.BooleanLike)) { return TypeReferenceSerializationKind.BooleanType; } else if (isTypeOfKind(type, TypeFlags.NumberLike)) { @@ -17970,7 +18494,7 @@ namespace ts { } function hasGlobalName(name: string): boolean { - return hasProperty(globals, name); + return !!globals[name]; } function getReferencedValueSymbol(reference: Identifier): Symbol { @@ -17994,9 +18518,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; @@ -18036,7 +18557,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; @@ -18139,7 +18660,13 @@ namespace ts { (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 (hasProperty(source, id) && !hasProperty(globals, id)) { + globals[id] = source[id]; + } + } } }); @@ -18251,50 +18778,9 @@ 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; @@ -18499,6 +18985,61 @@ namespace ts { } } + /** + * 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 { if (languageVersion < ScriptTarget.ES6) { return grammarErrorOnNode(asyncModifier, Diagnostics.Async_functions_are_only_available_when_targeting_ECMAScript_2015_or_higher); @@ -18771,7 +19312,7 @@ namespace ts { } function checkGrammarObjectLiteralExpression(node: ObjectLiteralExpression, inDestructuring: boolean) { - const seen: Map = {}; + const seen = createMap(); const Property = 1; const GetAccessor = 2; const SetAccessor = 4; @@ -18833,7 +19374,7 @@ namespace ts { continue; } - if (!hasProperty(seen, effectiveName)) { + if (!seen[effectiveName]) { seen[effectiveName] = currentKind; } else { @@ -18857,7 +19398,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; @@ -18865,7 +19406,7 @@ namespace ts { const jsxAttr = (attr); const name = jsxAttr.name; - if (!hasProperty(seen, name.text)) { + if (!seen[name.text]) { seen[name.text] = true; } else { @@ -19260,7 +19801,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: @@ -19278,6 +19819,7 @@ namespace ts { node.kind === SyntaxKind.ImportEqualsDeclaration || node.kind === SyntaxKind.ExportDeclaration || node.kind === SyntaxKind.ExportAssignment || + node.kind === SyntaxKind.NamespaceExportDeclaration || (node.flags & NodeFlags.Ambient) || (node.flags & (NodeFlags.Export | NodeFlags.Default))) { diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index f11854a685851..eaf17f00dd065 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -27,6 +27,10 @@ namespace ts { name: "diagnostics", type: "boolean", }, + { + name: "extendedDiagnostics", + type: "boolean", + }, { name: "emitBOM", type: "boolean" @@ -135,12 +139,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", @@ -466,8 +470,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) { @@ -689,9 +693,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 @@ -957,12 +958,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); @@ -1003,10 +1004,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 @@ -1066,7 +1063,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) { diff --git a/src/compiler/core.ts b/src/compiler/core.ts index bffd3179e832e..168a201c388a6 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -1,4 +1,6 @@ /// +/// + /* @internal */ namespace ts { @@ -17,8 +19,24 @@ namespace ts { True = -1 } + const createObject = Object.create; + + export function createMap(): Map { + /* tslint:disable:no-null-keyword */ + const map: Map = createObject(null); + /* tslint:enable: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["__"]; + + return map; + } + export function createFileMap(keyMapper?: (key: string) => string): FileMap { - let files: Map = {}; + let files = createMap(); return { get, set, @@ -53,7 +71,7 @@ namespace ts { } function clear() { - files = {}; + files = createMap(); } function toKey(path: Path): string { @@ -79,7 +97,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); @@ -91,10 +109,21 @@ namespace ts { return undefined; } - export function contains(array: T[], value: T, areEqual?: (a: T, b: T) => boolean): boolean { + /** Like `forEach`, but assumes existence of array and fails if no truthy value is found. */ + export function find(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; } } @@ -134,17 +163,29 @@ 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) => 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 filterMutate(array: T[], f: (x: T) => boolean): void { @@ -180,10 +221,13 @@ namespace ts { 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; @@ -306,11 +350,11 @@ namespace ts { const hasOwnProperty = Object.prototype.hasOwnProperty; - export function hasProperty(map: Map, key: string): boolean { + export function hasProperty(map: MapLike, key: string): boolean { return hasOwnProperty.call(map, key); } - export function getKeys(map: Map): string[] { + export function getKeys(map: MapLike): string[] { const keys: string[] = []; for (const key in map) { keys.push(key); @@ -318,11 +362,15 @@ namespace ts { return keys; } - export function getProperty(map: Map, key: string): T { - return hasOwnProperty.call(map, key) ? map[key] : undefined; + export function getProperty(map: MapLike, key: string): T | undefined { + return hasProperty(map, key) ? map[key] : undefined; + } + + export function getOrUpdateProperty(map: MapLike, key: string, makeValue: () => T): T { + return hasProperty(map, key) ? map[key] : map[key] = makeValue(); } - export function isEmpty(map: Map) { + export function isEmpty(map: MapLike) { for (const id in map) { if (hasProperty(map, id)) { return false; @@ -339,7 +387,7 @@ namespace ts { return result; } - export function extend, T2 extends Map<{}>>(first: T1 , second: T2): T1 & T2 { + export function extend, T2 extends MapLike<{}>>(first: T1 , second: T2): T1 & T2 { const result: T1 & T2 = {}; for (const id in first) { (result as any)[id] = first[id]; @@ -352,7 +400,7 @@ namespace ts { return result; } - export function forEachValue(map: Map, callback: (value: T) => U): U { + export function forEachValue(map: MapLike, callback: (value: T) => U): U { let result: U; for (const id in map) { if (result = callback(map[id])) break; @@ -360,7 +408,7 @@ namespace ts { return result; } - export function forEachKey(map: Map, callback: (key: string) => U): U { + export function forEachKey(map: MapLike, callback: (key: string) => U): U { let result: U; for (const id in map) { if (result = callback(id)) break; @@ -368,11 +416,11 @@ namespace ts { return result; } - export function lookUp(map: Map, key: string): T { + export function lookUp(map: MapLike, key: string): T { return hasProperty(map, key) ? map[key] : undefined; } - export function copyMap(source: Map, target: Map): void { + export function copyMap(source: MapLike, target: MapLike): void { for (const p in source) { target[p] = source[p]; } @@ -389,7 +437,7 @@ namespace ts { * 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 = {}; + const result = createMap(); forEach(array, value => { result[makeKey(value)] = value; @@ -405,7 +453,7 @@ namespace ts { * @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 { + export function reduceProperties(map: MapLike, callback: (aggregate: U, value: T, key: string) => U, initial: U): U { let result = initial; if (map) { for (const key in map) { @@ -445,9 +493,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; @@ -930,11 +976,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) { @@ -955,13 +1019,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; } @@ -975,6 +1039,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; } @@ -1000,8 +1078,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 { diff --git a/src/compiler/declarationEmitter.ts b/src/compiler/declarationEmitter.ts index 2708833a13f3c..56ff206ab0176 100644 --- a/src/compiler/declarationEmitter.ts +++ b/src/compiler/declarationEmitter.ts @@ -269,7 +269,7 @@ namespace ts { } if (!usedTypeDirectiveReferences) { - usedTypeDirectiveReferences = {}; + usedTypeDirectiveReferences = createMap(); } for (const directive of typeReferenceDirectives) { if (!hasProperty(usedTypeDirectiveReferences, directive)) { @@ -397,7 +397,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 +441,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 +452,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); @@ -1019,7 +1019,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) { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 8ffb02a89743e..8126d5c605ea7 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1755,6 +1755,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 +1947,10 @@ "category": "Error", "code": 2689 }, + "A class must be declared after its base class.": { + "category": "Error", + "code": 2690 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 @@ -2336,6 +2344,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 @@ -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 }, diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 6adf76903fb01..1d62a4a4f4660 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -24,7 +24,7 @@ namespace ts { Return = 1 << 3 } - const entities: Map = { + const entities: MapLike = { "quot": 0x0022, "amp": 0x0026, "apos": 0x0027, @@ -489,13 +489,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function setLabeledJump(state: ConvertedLoopState, isBreak: boolean, labelText: string, labelMarker: string): void { if (isBreak) { if (!state.labeledNonLocalBreaks) { - state.labeledNonLocalBreaks = {}; + state.labeledNonLocalBreaks = createMap(); } state.labeledNonLocalBreaks[labelText] = labelMarker; } else { if (!state.labeledNonLocalContinues) { - state.labeledNonLocalContinues = {}; + state.labeledNonLocalContinues = createMap(); } state.labeledNonLocalContinues[labelText] = labelMarker; } @@ -531,7 +531,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge let currentText: string; let currentLineMap: number[]; let currentFileIdentifiers: Map; - let renamedDependencies: Map; + let renamedDependencies: MapLike; let isEs6Module: boolean; let isCurrentFileExternalModule: boolean; @@ -577,7 +577,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge const setSourceMapWriterEmit = compilerOptions.sourceMap || compilerOptions.inlineSourceMap ? changeSourceMapEmit : function (writer: SourceMapWriter) { }; - const moduleEmitDelegates: Map<(node: SourceFile, emitRelativePathAsModuleName?: boolean) => void> = { + const moduleEmitDelegates: MapLike<(node: SourceFile, emitRelativePathAsModuleName?: boolean) => void> = { [ModuleKind.ES6]: emitES6Module, [ModuleKind.AMD]: emitAMDModule, [ModuleKind.System]: emitSystemModule, @@ -585,7 +585,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge [ModuleKind.CommonJS]: emitCommonJSModule, }; - const bundleEmitDelegates: Map<(node: SourceFile, emitRelativePathAsModuleName?: boolean) => void> = { + const bundleEmitDelegates: MapLike<(node: SourceFile, emitRelativePathAsModuleName?: boolean) => void> = { [ModuleKind.ES6]() {}, [ModuleKind.AMD]: emitAMDModule, [ModuleKind.System]: emitSystemModule, @@ -597,7 +597,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function doEmit(jsFilePath: string, sourceMapFilePath: string, sourceFiles: SourceFile[], isBundledEmit: boolean) { sourceMap.initialize(jsFilePath, sourceMapFilePath, sourceFiles, isBundledEmit); - generatedNameSet = {}; + generatedNameSet = createMap(); nodeToGeneratedName = []; decoratedClassAliases = []; isOwnFileEmit = !isBundledEmit; @@ -2578,7 +2578,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge operand = (operand).expression; } - // We have an expression of the form: (SubExpr) + // We have an expression of the form: (SubExpr) or (SubExpr as Type) // Emitting this as (SubExpr) is really not desirable. We would like to emit the subexpr as is. // Omitting the parentheses, however, could cause change in the semantics of the generated // code if the casted expression has a lower precedence than the rest of the expression, e.g.: @@ -2592,6 +2592,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge operand.kind !== SyntaxKind.DeleteExpression && operand.kind !== SyntaxKind.PostfixUnaryExpression && operand.kind !== SyntaxKind.NewExpression && + !(operand.kind === SyntaxKind.BinaryExpression && node.expression.kind === SyntaxKind.AsExpression) && !(operand.kind === SyntaxKind.CallExpression && node.parent.kind === SyntaxKind.NewExpression) && !(operand.kind === SyntaxKind.FunctionExpression && node.parent.kind === SyntaxKind.CallExpression) && !(operand.kind === SyntaxKind.NumericLiteral && node.parent.kind === SyntaxKind.PropertyAccessExpression)) { @@ -2667,7 +2668,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge isNameOfExportedDeclarationInNonES6Module(node.operand); if (internalExportChanged) { - emitAliasEqual( node.operand); + emitAliasEqual(node.operand); } write(tokenToString(node.operator)); @@ -2722,7 +2723,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge } } else if (internalExportChanged) { - emitAliasEqual( node.operand); + emitAliasEqual(node.operand); emit(node.operand); if (node.operator === SyntaxKind.PlusPlusToken) { write(" += 1"); @@ -2749,7 +2750,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge * 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 - * we we emit variable statement 'var' should be dropped. + * when we emit variable statement 'var' should be dropped. */ function isSourceFileLevelDeclarationInSystemJsModule(node: Node, isExported: boolean): boolean { if (!node || !isCurrentFileSystemExternalModule()) { @@ -3256,7 +3257,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge // Don't initialize seen unless we have at least one element. // Emit a comma to separate for all but the first element. if (!seen) { - seen = {}; + seen = createMap(); } else { write(", "); @@ -3855,7 +3856,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge if (convertedLoopState) { if (!convertedLoopState.labels) { - convertedLoopState.labels = {}; + convertedLoopState.labels = createMap(); } convertedLoopState.labels[node.label.text] = node.label.text; } @@ -4571,14 +4572,15 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge function emitRestParameter(node: FunctionLikeDeclaration) { if (languageVersion < ScriptTarget.ES6 && hasDeclaredRestParameter(node)) { - const restIndex = node.parameters.length - 1; - const restParam = node.parameters[restIndex]; + const restParam = node.parameters[node.parameters.length - 1]; // A rest parameter cannot have a binding pattern, so let's just ignore it if it does. if (isBindingPattern(restParam.name)) { return; } + const skipThisCount = node.parameters.length && (node.parameters[0].name).originalKeywordKind === SyntaxKind.ThisKeyword ? 1 : 0; + const restIndex = node.parameters.length - 1 - skipThisCount; const tempName = createTempVariable(TempFlags._i).text; writeLine(); emitLeadingComments(restParam); @@ -4726,7 +4728,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge write("("); if (node) { const parameters = node.parameters; - const skipCount = node.parameters.length && (node.parameters[0].name).text === "this" ? 1 : 0; + const skipCount = node.parameters.length && (node.parameters[0].name).originalKeywordKind === SyntaxKind.ThisKeyword ? 1 : 0; const omitCount = languageVersion < ScriptTarget.ES6 && hasDeclaredRestParameter(node) ? 1 : 0; emitList(parameters, skipCount, parameters.length - omitCount - skipCount, /*multiLine*/ false, /*trailingComma*/ false); } @@ -5503,16 +5505,15 @@ const _super = (function (geti, seti) { write("export "); } - if (!isHoistedDeclarationInSystemModule) { - write("let "); - } if (decoratedClassAlias !== undefined) { - write(`${decoratedClassAlias}`); + write(`let ${decoratedClassAlias}`); } else { + if (!isHoistedDeclarationInSystemModule) { + write("let "); + } emitDeclarationName(node); } - write(" = "); } else if (isES6ExportedDeclaration(node)) { @@ -5526,11 +5527,17 @@ const _super = (function (geti, seti) { // If the class has static properties, and it's a class expression, then we'll need // to specialize the emit a bit. for a class expression of the form: // - // class C { static a = 1; static b = 2; ... } + // (class C { static a = 1; static b = 2; ... }) // // We'll emit: // - // (_temp = class C { ... }, _temp.a = 1, _temp.b = 2, _temp) + // ((C_1 = class C { + // // Normal class body + // }, + // C_1.a = 1, + // C_1.b = 2, + // C_1)); + // var C_1; // // This keeps the expression as an expression, while ensuring that the static parts // of it have been initialized by the time it is used. @@ -5539,7 +5546,7 @@ const _super = (function (geti, seti) { let generatedName: string; if (isClassExpressionWithStaticProperties) { - generatedName = getGeneratedNameForNode(node.name); + generatedName = node.name ? getGeneratedNameForNode(node.name) : makeUniqueName("classExpression"); const synthesizedNode = createSynthesizedNode(SyntaxKind.Identifier); synthesizedNode.text = generatedName; recordTempDeclaration(synthesizedNode); @@ -6039,7 +6046,7 @@ const _super = (function (geti, seti) { return; case SyntaxKind.StringKeyword: - case SyntaxKind.StringLiteralType: + case SyntaxKind.LiteralType: write("String"); return; @@ -6155,10 +6162,11 @@ const _super = (function (geti, seti) { if (valueDeclaration) { const parameters = valueDeclaration.parameters; + const skipThisCount = parameters.length && (parameters[0].name).originalKeywordKind === SyntaxKind.ThisKeyword ? 1 : 0; const parameterCount = parameters.length; - if (parameterCount > 0) { - for (let i = 0; i < parameterCount; i++) { - if (i > 0) { + if (parameterCount > skipThisCount) { + for (let i = skipThisCount; i < parameterCount; i++) { + if (i > skipThisCount) { write(", "); } @@ -6795,7 +6803,7 @@ const _super = (function (geti, seti) { function collectExternalModuleInfo(sourceFile: SourceFile) { externalImports = []; - exportSpecifiers = {}; + exportSpecifiers = createMap(); exportEquals = undefined; hasExportStarsToExportValues = false; for (const node of sourceFile.statements) { @@ -6834,7 +6842,7 @@ const _super = (function (geti, seti) { // export { x, y } for (const specifier of (node).exportClause.elements) { const name = (specifier.propertyName || specifier.name).text; - (exportSpecifiers[name] || (exportSpecifiers[name] = [])).push(specifier); + getOrUpdateProperty(exportSpecifiers, name, () => []).push(specifier); } } break; @@ -7073,7 +7081,7 @@ const _super = (function (geti, seti) { if (hoistedVars) { writeLine(); write("var "); - const seen: Map = {}; + const seen = createMap(); for (let i = 0; i < hoistedVars.length; i++) { const local = hoistedVars[i]; const name = local.kind === SyntaxKind.Identifier @@ -7439,7 +7447,7 @@ const _super = (function (geti, seti) { writeModuleName(node, emitRelativePathAsModuleName); write("["); - const groupIndices: Map = {}; + const groupIndices = createMap(); const dependencyGroups: DependencyGroup[] = []; for (let i = 0; i < externalImports.length; i++) { diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 2eae2c4025e09..aca7d745730cd 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2,8 +2,6 @@ /// namespace ts { - /* @internal */ export let parseTime = 0; - let NodeConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let TokenConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; let IdentifierConstructor: new (kind: SyntaxKind, pos: number, end: number) => Node; @@ -136,6 +134,8 @@ namespace ts { return visitNodes(cbNodes, (node).types); case SyntaxKind.ParenthesizedType: return visitNode(cbNode, (node).type); + case SyntaxKind.LiteralType: + return visitNode(cbNode, (node).literal); case SyntaxKind.ObjectBindingPattern: case SyntaxKind.ArrayBindingPattern: return visitNodes(cbNodes, (node).elements); @@ -421,10 +421,10 @@ namespace ts { } export function createSourceFile(fileName: string, sourceText: string, languageVersion: ScriptTarget, setParentNodes = false, scriptKind?: ScriptKind): SourceFile { - const start = new Date().getTime(); + performance.mark("beforeParse"); const result = Parser.parseSourceFile(fileName, sourceText, languageVersion, /*syntaxCursor*/ undefined, setParentNodes, scriptKind); - - parseTime += new Date().getTime() - start; + performance.mark("afterParse"); + performance.measure("Parse", "beforeParse", "afterParse"); return result; } @@ -482,7 +482,7 @@ namespace ts { let parseDiagnostics: Diagnostic[]; let syntaxCursor: IncrementalParser.SyntaxCursor; - let token: SyntaxKind; + let currentToken: SyntaxKind; let sourceText: string; let nodeCount: number; let identifiers: Map; @@ -595,7 +595,7 @@ namespace ts { parseDiagnostics = []; parsingContext = 0; - identifiers = {}; + identifiers = createMap(); identifierCount = 0; nodeCount = 0; @@ -627,11 +627,11 @@ namespace ts { sourceFile.flags = contextFlags; // Prime the scanner. - token = nextToken(); + nextToken(); processReferenceComments(sourceFile); sourceFile.statements = parseList(ParsingContext.SourceElements, parseStatement); - Debug.assert(token === SyntaxKind.EndOfFileToken); + Debug.assert(token() === SyntaxKind.EndOfFileToken); sourceFile.endOfFileToken = parseTokenNode(); setExternalModuleIndicator(sourceFile); @@ -866,34 +866,44 @@ namespace ts { return scanner.getStartPos(); } + // Use this function to access the current token instead of reading the currentToken + // variable. Since function results aren't narrowed in control flow analysis, this ensures + // that the type checker doesn't make wrong assumptions about the type of the current + // token (e.g. a call to nextToken() changes the current token but the checker doesn't + // reason about this side effect). Mainstream VMs inline simple functions like this, so + // there is no performance penalty. + function token(): SyntaxKind { + return currentToken; + } + function nextToken(): SyntaxKind { - return token = scanner.scan(); + return currentToken = scanner.scan(); } function reScanGreaterToken(): SyntaxKind { - return token = scanner.reScanGreaterToken(); + return currentToken = scanner.reScanGreaterToken(); } function reScanSlashToken(): SyntaxKind { - return token = scanner.reScanSlashToken(); + return currentToken = scanner.reScanSlashToken(); } function reScanTemplateToken(): SyntaxKind { - return token = scanner.reScanTemplateToken(); + return currentToken = scanner.reScanTemplateToken(); } function scanJsxIdentifier(): SyntaxKind { - return token = scanner.scanJsxIdentifier(); + return currentToken = scanner.scanJsxIdentifier(); } function scanJsxText(): SyntaxKind { - return token = scanner.scanJsxToken(); + return currentToken = scanner.scanJsxToken(); } function speculationHelper(callback: () => T, isLookAhead: boolean): T { // Keep track of the state we'll need to rollback to if lookahead fails (or if the // caller asked us to always reset our state). - const saveToken = token; + const saveToken = currentToken; const saveParseDiagnosticsLength = parseDiagnostics.length; const saveParseErrorBeforeNextFinishedNode = parseErrorBeforeNextFinishedNode; @@ -915,7 +925,7 @@ namespace ts { // If our callback returned something 'falsy' or we're just looking ahead, // then unconditionally restore us to where we were. if (!result || isLookAhead) { - token = saveToken; + currentToken = saveToken; parseDiagnostics.length = saveParseDiagnosticsLength; parseErrorBeforeNextFinishedNode = saveParseErrorBeforeNextFinishedNode; } @@ -942,27 +952,27 @@ namespace ts { // Ignore strict mode flag because we will report an error in type checker instead. function isIdentifier(): boolean { - if (token === SyntaxKind.Identifier) { + if (token() === SyntaxKind.Identifier) { return true; } // If we have a 'yield' keyword, and we're in the [yield] context, then 'yield' is // considered a keyword and is not an identifier. - if (token === SyntaxKind.YieldKeyword && inYieldContext()) { + if (token() === SyntaxKind.YieldKeyword && inYieldContext()) { return false; } // If we have a 'await' keyword, and we're in the [Await] context, then 'await' is // considered a keyword and is not an identifier. - if (token === SyntaxKind.AwaitKeyword && inAwaitContext()) { + if (token() === SyntaxKind.AwaitKeyword && inAwaitContext()) { return false; } - return token > SyntaxKind.LastReservedWord; + return token() > SyntaxKind.LastReservedWord; } function parseExpected(kind: SyntaxKind, diagnosticMessage?: DiagnosticMessage, shouldAdvance = true): boolean { - if (token === kind) { + if (token() === kind) { if (shouldAdvance) { nextToken(); } @@ -980,7 +990,7 @@ namespace ts { } function parseOptional(t: SyntaxKind): boolean { - if (token === t) { + if (token() === t) { nextToken(); return true; } @@ -988,7 +998,7 @@ namespace ts { } function parseOptionalToken(t: SyntaxKind): Node { - if (token === t) { + if (token() === t) { return parseTokenNode(); } return undefined; @@ -1000,24 +1010,24 @@ namespace ts { } function parseTokenNode(): T { - const node = createNode(token); + const node = createNode(token()); nextToken(); return finishNode(node); } function canParseSemicolon() { // If there's a real semicolon, then we can always parse it out. - if (token === SyntaxKind.SemicolonToken) { + if (token() === SyntaxKind.SemicolonToken) { return true; } // We can parse out an optional semicolon in ASI cases in the following cases. - return token === SyntaxKind.CloseBraceToken || token === SyntaxKind.EndOfFileToken || scanner.hasPrecedingLineBreak(); + return token() === SyntaxKind.CloseBraceToken || token() === SyntaxKind.EndOfFileToken || scanner.hasPrecedingLineBreak(); } function parseSemicolon(): boolean { if (canParseSemicolon()) { - if (token === SyntaxKind.SemicolonToken) { + if (token() === SyntaxKind.SemicolonToken) { // consume the semicolon if it was explicitly provided. nextToken(); } @@ -1074,7 +1084,7 @@ namespace ts { function internIdentifier(text: string): string { text = escapeIdentifier(text); - return hasProperty(identifiers, text) ? identifiers[text] : (identifiers[text] = text); + return identifiers[text] || (identifiers[text] = text); } // An identifier that starts with two underscores has an extra underscore character prepended to it to avoid issues @@ -1086,8 +1096,8 @@ namespace ts { const node = createNode(SyntaxKind.Identifier); // Store original token kind if it is not just an Identifier so we can report appropriate error later in type checker - if (token !== SyntaxKind.Identifier) { - node.originalKeywordKind = token; + if (token() !== SyntaxKind.Identifier) { + node.originalKeywordKind = token(); } node.text = internIdentifier(scanner.getTokenValue()); nextToken(); @@ -1102,20 +1112,20 @@ namespace ts { } function parseIdentifierName(): Identifier { - return createIdentifier(tokenIsIdentifierOrKeyword(token)); + return createIdentifier(tokenIsIdentifierOrKeyword(token())); } function isLiteralPropertyName(): boolean { - return tokenIsIdentifierOrKeyword(token) || - token === SyntaxKind.StringLiteral || - token === SyntaxKind.NumericLiteral; + return tokenIsIdentifierOrKeyword(token()) || + token() === SyntaxKind.StringLiteral || + token() === SyntaxKind.NumericLiteral; } function parsePropertyNameWorker(allowComputedPropertyNames: boolean): PropertyName { - if (token === SyntaxKind.StringLiteral || token === SyntaxKind.NumericLiteral) { + if (token() === SyntaxKind.StringLiteral || token() === SyntaxKind.NumericLiteral) { return parseLiteralNode(/*internName*/ true); } - if (allowComputedPropertyNames && token === SyntaxKind.OpenBracketToken) { + if (allowComputedPropertyNames && token() === SyntaxKind.OpenBracketToken) { return parseComputedPropertyName(); } return parseIdentifierName(); @@ -1130,7 +1140,7 @@ namespace ts { } function isSimplePropertyName() { - return token === SyntaxKind.StringLiteral || token === SyntaxKind.NumericLiteral || tokenIsIdentifierOrKeyword(token); + return token() === SyntaxKind.StringLiteral || token() === SyntaxKind.NumericLiteral || tokenIsIdentifierOrKeyword(token()); } function parseComputedPropertyName(): ComputedPropertyName { @@ -1150,7 +1160,7 @@ namespace ts { } function parseContextualModifier(t: SyntaxKind): boolean { - return token === t && tryParse(nextTokenCanFollowModifier); + return token() === t && tryParse(nextTokenCanFollowModifier); } function nextTokenIsOnSameLineAndCanFollowModifier() { @@ -1162,21 +1172,21 @@ namespace ts { } function nextTokenCanFollowModifier() { - if (token === SyntaxKind.ConstKeyword) { + if (token() === SyntaxKind.ConstKeyword) { // 'const' is only a modifier if followed by 'enum'. return nextToken() === SyntaxKind.EnumKeyword; } - if (token === SyntaxKind.ExportKeyword) { + if (token() === SyntaxKind.ExportKeyword) { nextToken(); - if (token === SyntaxKind.DefaultKeyword) { + if (token() === SyntaxKind.DefaultKeyword) { return lookAhead(nextTokenIsClassOrFunctionOrAsync); } - return token !== SyntaxKind.AsteriskToken && token !== SyntaxKind.AsKeyword && token !== SyntaxKind.OpenBraceToken && canFollowModifier(); + return token() !== SyntaxKind.AsteriskToken && token() !== SyntaxKind.AsKeyword && token() !== SyntaxKind.OpenBraceToken && canFollowModifier(); } - if (token === SyntaxKind.DefaultKeyword) { + if (token() === SyntaxKind.DefaultKeyword) { return nextTokenIsClassOrFunctionOrAsync(); } - if (token === SyntaxKind.StaticKeyword) { + if (token() === SyntaxKind.StaticKeyword) { nextToken(); return canFollowModifier(); } @@ -1185,21 +1195,21 @@ namespace ts { } function parseAnyContextualModifier(): boolean { - return isModifierKind(token) && tryParse(nextTokenCanFollowModifier); + return isModifierKind(token()) && tryParse(nextTokenCanFollowModifier); } function canFollowModifier(): boolean { - return token === SyntaxKind.OpenBracketToken - || token === SyntaxKind.OpenBraceToken - || token === SyntaxKind.AsteriskToken - || token === SyntaxKind.DotDotDotToken + return token() === SyntaxKind.OpenBracketToken + || token() === SyntaxKind.OpenBraceToken + || token() === SyntaxKind.AsteriskToken + || token() === SyntaxKind.DotDotDotToken || isLiteralPropertyName(); } function nextTokenIsClassOrFunctionOrAsync(): boolean { nextToken(); - return token === SyntaxKind.ClassKeyword || token === SyntaxKind.FunctionKeyword || - (token === SyntaxKind.AsyncKeyword && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); + return token() === SyntaxKind.ClassKeyword || token() === SyntaxKind.FunctionKeyword || + (token() === SyntaxKind.AsyncKeyword && lookAhead(nextTokenIsFunctionKeywordOnSameLine)); } // True if positioned at the start of a list element @@ -1219,9 +1229,9 @@ namespace ts { // we're parsing. For example, if we have a semicolon in the middle of a class, then // we really don't want to assume the class is over and we're on a statement in the // outer module. We just want to consume and move on. - return !(token === SyntaxKind.SemicolonToken && inErrorRecovery) && isStartOfStatement(); + return !(token() === SyntaxKind.SemicolonToken && inErrorRecovery) && isStartOfStatement(); case ParsingContext.SwitchClauses: - return token === SyntaxKind.CaseKeyword || token === SyntaxKind.DefaultKeyword; + return token() === SyntaxKind.CaseKeyword || token() === SyntaxKind.DefaultKeyword; case ParsingContext.TypeMembers: return lookAhead(isTypeMemberStart); case ParsingContext.ClassMembers: @@ -1229,19 +1239,19 @@ namespace ts { // not in error recovery. If we're in error recovery, we don't want an errant // semicolon to be treated as a class member (since they're almost always used // for statements. - return lookAhead(isClassMemberStart) || (token === SyntaxKind.SemicolonToken && !inErrorRecovery); + return lookAhead(isClassMemberStart) || (token() === SyntaxKind.SemicolonToken && !inErrorRecovery); case ParsingContext.EnumMembers: // Include open bracket computed properties. This technically also lets in indexers, // which would be a candidate for improved error reporting. - return token === SyntaxKind.OpenBracketToken || isLiteralPropertyName(); + return token() === SyntaxKind.OpenBracketToken || isLiteralPropertyName(); case ParsingContext.ObjectLiteralMembers: - return token === SyntaxKind.OpenBracketToken || token === SyntaxKind.AsteriskToken || isLiteralPropertyName(); + return token() === SyntaxKind.OpenBracketToken || token() === SyntaxKind.AsteriskToken || isLiteralPropertyName(); case ParsingContext.ObjectBindingElements: - return token === SyntaxKind.OpenBracketToken || isLiteralPropertyName(); + return token() === SyntaxKind.OpenBracketToken || isLiteralPropertyName(); case ParsingContext.HeritageClauseElement: // If we see { } then only consume it as an expression if it is followed by , or { // That way we won't consume the body of a class in its heritage clause. - if (token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBraceToken) { return lookAhead(isValidHeritageClauseObjectLiteral); } @@ -1257,23 +1267,23 @@ namespace ts { case ParsingContext.VariableDeclarations: return isIdentifierOrPattern(); case ParsingContext.ArrayBindingElements: - return token === SyntaxKind.CommaToken || token === SyntaxKind.DotDotDotToken || isIdentifierOrPattern(); + return token() === SyntaxKind.CommaToken || token() === SyntaxKind.DotDotDotToken || isIdentifierOrPattern(); case ParsingContext.TypeParameters: return isIdentifier(); case ParsingContext.ArgumentExpressions: case ParsingContext.ArrayLiteralMembers: - return token === SyntaxKind.CommaToken || token === SyntaxKind.DotDotDotToken || isStartOfExpression(); + return token() === SyntaxKind.CommaToken || token() === SyntaxKind.DotDotDotToken || isStartOfExpression(); case ParsingContext.Parameters: return isStartOfParameter(); case ParsingContext.TypeArguments: case ParsingContext.TupleElementTypes: - return token === SyntaxKind.CommaToken || isStartOfType(); + return token() === SyntaxKind.CommaToken || isStartOfType(); case ParsingContext.HeritageClauses: return isHeritageClause(); case ParsingContext.ImportOrExportSpecifiers: - return tokenIsIdentifierOrKeyword(token); + return tokenIsIdentifierOrKeyword(token()); case ParsingContext.JsxAttributes: - return tokenIsIdentifierOrKeyword(token) || token === SyntaxKind.OpenBraceToken; + return tokenIsIdentifierOrKeyword(token()) || token() === SyntaxKind.OpenBraceToken; case ParsingContext.JsxChildren: return true; case ParsingContext.JSDocFunctionParameters: @@ -1288,7 +1298,7 @@ namespace ts { } function isValidHeritageClauseObjectLiteral() { - Debug.assert(token === SyntaxKind.OpenBraceToken); + Debug.assert(token() === SyntaxKind.OpenBraceToken); if (nextToken() === SyntaxKind.CloseBraceToken) { // if we see "extends {}" then only treat the {} as what we're extending (and not // the class body) if we have: @@ -1312,12 +1322,12 @@ namespace ts { function nextTokenIsIdentifierOrKeyword() { nextToken(); - return tokenIsIdentifierOrKeyword(token); + return tokenIsIdentifierOrKeyword(token()); } function isHeritageClauseExtendsOrImplementsKeyword(): boolean { - if (token === SyntaxKind.ImplementsKeyword || - token === SyntaxKind.ExtendsKeyword) { + if (token() === SyntaxKind.ImplementsKeyword || + token() === SyntaxKind.ExtendsKeyword) { return lookAhead(nextTokenIsStartOfExpression); } @@ -1332,7 +1342,7 @@ namespace ts { // True if positioned at a list terminator function isListTerminator(kind: ParsingContext): boolean { - if (token === SyntaxKind.EndOfFileToken) { + if (token() === SyntaxKind.EndOfFileToken) { // Being at the end of the file ends all lists. return true; } @@ -1346,43 +1356,43 @@ namespace ts { case ParsingContext.ObjectLiteralMembers: case ParsingContext.ObjectBindingElements: case ParsingContext.ImportOrExportSpecifiers: - return token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.CloseBraceToken; case ParsingContext.SwitchClauseStatements: - return token === SyntaxKind.CloseBraceToken || token === SyntaxKind.CaseKeyword || token === SyntaxKind.DefaultKeyword; + return token() === SyntaxKind.CloseBraceToken || token() === SyntaxKind.CaseKeyword || token() === SyntaxKind.DefaultKeyword; case ParsingContext.HeritageClauseElement: - return token === SyntaxKind.OpenBraceToken || token === SyntaxKind.ExtendsKeyword || token === SyntaxKind.ImplementsKeyword; + return token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.ExtendsKeyword || token() === SyntaxKind.ImplementsKeyword; case ParsingContext.VariableDeclarations: return isVariableDeclaratorListTerminator(); case ParsingContext.TypeParameters: // Tokens other than '>' are here for better error recovery - return token === SyntaxKind.GreaterThanToken || token === SyntaxKind.OpenParenToken || token === SyntaxKind.OpenBraceToken || token === SyntaxKind.ExtendsKeyword || token === SyntaxKind.ImplementsKeyword; + return token() === SyntaxKind.GreaterThanToken || token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.ExtendsKeyword || token() === SyntaxKind.ImplementsKeyword; case ParsingContext.ArgumentExpressions: // Tokens other than ')' are here for better error recovery - return token === SyntaxKind.CloseParenToken || token === SyntaxKind.SemicolonToken; + return token() === SyntaxKind.CloseParenToken || token() === SyntaxKind.SemicolonToken; case ParsingContext.ArrayLiteralMembers: case ParsingContext.TupleElementTypes: case ParsingContext.ArrayBindingElements: - return token === SyntaxKind.CloseBracketToken; + return token() === SyntaxKind.CloseBracketToken; case ParsingContext.Parameters: // Tokens other than ')' and ']' (the latter for index signatures) are here for better error recovery - return token === SyntaxKind.CloseParenToken || token === SyntaxKind.CloseBracketToken /*|| token === SyntaxKind.OpenBraceToken*/; + return token() === SyntaxKind.CloseParenToken || token() === SyntaxKind.CloseBracketToken /*|| token === SyntaxKind.OpenBraceToken*/; case ParsingContext.TypeArguments: // Tokens other than '>' are here for better error recovery - return token === SyntaxKind.GreaterThanToken || token === SyntaxKind.OpenParenToken; + return token() === SyntaxKind.GreaterThanToken || token() === SyntaxKind.OpenParenToken; case ParsingContext.HeritageClauses: - return token === SyntaxKind.OpenBraceToken || token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.CloseBraceToken; case ParsingContext.JsxAttributes: - return token === SyntaxKind.GreaterThanToken || token === SyntaxKind.SlashToken; + return token() === SyntaxKind.GreaterThanToken || token() === SyntaxKind.SlashToken; case ParsingContext.JsxChildren: - return token === SyntaxKind.LessThanToken && lookAhead(nextTokenIsSlash); + return token() === SyntaxKind.LessThanToken && lookAhead(nextTokenIsSlash); case ParsingContext.JSDocFunctionParameters: - return token === SyntaxKind.CloseParenToken || token === SyntaxKind.ColonToken || token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.CloseParenToken || token() === SyntaxKind.ColonToken || token() === SyntaxKind.CloseBraceToken; case ParsingContext.JSDocTypeArguments: - return token === SyntaxKind.GreaterThanToken || token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.GreaterThanToken || token() === SyntaxKind.CloseBraceToken; case ParsingContext.JSDocTupleTypes: - return token === SyntaxKind.CloseBracketToken || token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.CloseBracketToken || token() === SyntaxKind.CloseBraceToken; case ParsingContext.JSDocRecordMembers: - return token === SyntaxKind.CloseBraceToken; + return token() === SyntaxKind.CloseBraceToken; } } @@ -1395,7 +1405,7 @@ namespace ts { // in the case where we're parsing the variable declarator of a 'for-in' statement, we // are done if we see an 'in' keyword in front of us. Same with for-of - if (isInOrOfKeyword(token)) { + if (isInOrOfKeyword(token())) { return true; } @@ -1403,7 +1413,7 @@ namespace ts { // For better error recovery, if we see an '=>' then we just stop immediately. We've got an // arrow function here and it's going to be very unlikely that we'll resynchronize and get // another variable declaration. - if (token === SyntaxKind.EqualsGreaterThanToken) { + if (token() === SyntaxKind.EqualsGreaterThanToken) { return true; } @@ -1802,7 +1812,7 @@ namespace ts { // parse errors. For example, this can happen when people do things like use // a semicolon to delimit object literal members. Note: we'll have already // reported an error when we called parseExpected above. - if (considerSemicolonAsDelimiter && token === SyntaxKind.SemicolonToken && !scanner.hasPrecedingLineBreak()) { + if (considerSemicolonAsDelimiter && token() === SyntaxKind.SemicolonToken && !scanner.hasPrecedingLineBreak()) { nextToken(); } continue; @@ -1882,7 +1892,7 @@ namespace ts { // the code would be implicitly: "name.identifierOrKeyword; identifierNameOrKeyword". // In the first case though, ASI will not take effect because there is not a // line terminator after the identifier or keyword. - if (scanner.hasPrecedingLineBreak() && tokenIsIdentifierOrKeyword(token)) { + if (scanner.hasPrecedingLineBreak() && tokenIsIdentifierOrKeyword(token())) { const matchesPattern = lookAhead(nextTokenIsIdentifierOrKeywordOnSameLine); if (matchesPattern) { @@ -1922,7 +1932,7 @@ namespace ts { let literal: TemplateLiteralFragment; - if (token === SyntaxKind.CloseBraceToken) { + if (token() === SyntaxKind.CloseBraceToken) { reScanTemplateToken(); literal = parseTemplateLiteralFragment(); } @@ -1934,16 +1944,12 @@ namespace ts { return finishNode(span); } - function parseStringLiteralTypeNode(): StringLiteralTypeNode { - return parseLiteralLikeNode(SyntaxKind.StringLiteralType, /*internName*/ true); - } - function parseLiteralNode(internName?: boolean): LiteralExpression { - return parseLiteralLikeNode(token, internName); + return parseLiteralLikeNode(token(), internName); } function parseTemplateLiteralFragment(): TemplateLiteralFragment { - return parseLiteralLikeNode(token, /*internName*/ false); + return parseLiteralLikeNode(token(), /*internName*/ false); } function parseLiteralLikeNode(kind: SyntaxKind, internName: boolean): LiteralLikeNode { @@ -1985,7 +1991,7 @@ namespace ts { const typeName = parseEntityName(/*allowReservedWords*/ false, Diagnostics.Type_expected); const node = createNode(SyntaxKind.TypeReference, typeName.pos); node.typeName = typeName; - if (!scanner.hasPrecedingLineBreak() && token === SyntaxKind.LessThanToken) { + if (!scanner.hasPrecedingLineBreak() && token() === SyntaxKind.LessThanToken) { node.typeArguments = parseBracketedList(ParsingContext.TypeArguments, parseType, SyntaxKind.LessThanToken, SyntaxKind.GreaterThanToken); } return finishNode(node); @@ -2039,7 +2045,7 @@ namespace ts { } function parseTypeParameters(): NodeArray { - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { return parseBracketedList(ParsingContext.TypeParameters, parseTypeParameter, SyntaxKind.LessThanToken, SyntaxKind.GreaterThanToken); } } @@ -2053,7 +2059,7 @@ namespace ts { } function isStartOfParameter(): boolean { - return token === SyntaxKind.DotDotDotToken || isIdentifierOrPattern() || isModifierKind(token) || token === SyntaxKind.AtToken || token === SyntaxKind.ThisKeyword; + return token() === SyntaxKind.DotDotDotToken || isIdentifierOrPattern() || isModifierKind(token()) || token() === SyntaxKind.AtToken || token() === SyntaxKind.ThisKeyword; } function setModifiers(node: Node, modifiers: ModifiersArray) { @@ -2065,7 +2071,7 @@ namespace ts { function parseParameter(): ParameterDeclaration { const node = createNode(SyntaxKind.Parameter); - if (token === SyntaxKind.ThisKeyword) { + if (token() === SyntaxKind.ThisKeyword) { node.name = createIdentifier(/*isIdentifier*/true, undefined); node.type = parseParameterType(); return finishNode(node); @@ -2078,7 +2084,7 @@ namespace ts { // FormalParameter [Yield,Await]: // BindingElement[?Yield,?Await] node.name = parseIdentifierOrPattern(); - if (getFullWidth(node.name) === 0 && node.flags === 0 && isModifierKind(token)) { + if (getFullWidth(node.name) === 0 && node.flags === 0 && isModifierKind(token())) { // in cases like // 'use strict' // function foo(static) @@ -2197,7 +2203,7 @@ namespace ts { } function isIndexSignature(): boolean { - if (token !== SyntaxKind.OpenBracketToken) { + if (token() !== SyntaxKind.OpenBracketToken) { return false; } @@ -2222,11 +2228,11 @@ namespace ts { // [] // nextToken(); - if (token === SyntaxKind.DotDotDotToken || token === SyntaxKind.CloseBracketToken) { + if (token() === SyntaxKind.DotDotDotToken || token() === SyntaxKind.CloseBracketToken) { return true; } - if (isModifierKind(token)) { + if (isModifierKind(token())) { nextToken(); if (isIdentifier()) { return true; @@ -2243,20 +2249,20 @@ namespace ts { // A colon signifies a well formed indexer // A comma should be a badly formed indexer because comma expressions are not allowed // in computed properties. - if (token === SyntaxKind.ColonToken || token === SyntaxKind.CommaToken) { + if (token() === SyntaxKind.ColonToken || token() === SyntaxKind.CommaToken) { return true; } // Question mark could be an indexer with an optional property, // or it could be a conditional expression in a computed property. - if (token !== SyntaxKind.QuestionToken) { + if (token() !== SyntaxKind.QuestionToken) { return false; } // If any of the following tokens are after the question mark, it cannot // be a conditional expression, so treat it as an indexer. nextToken(); - return token === SyntaxKind.ColonToken || token === SyntaxKind.CommaToken || token === SyntaxKind.CloseBracketToken; + return token() === SyntaxKind.ColonToken || token() === SyntaxKind.CommaToken || token() === SyntaxKind.CloseBracketToken; } function parseIndexSignatureDeclaration(fullStart: number, decorators: NodeArray, modifiers: ModifiersArray): IndexSignatureDeclaration { @@ -2273,7 +2279,7 @@ namespace ts { const name = parsePropertyName(); const questionToken = parseOptionalToken(SyntaxKind.QuestionToken); - if (token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken) { const method = createNode(SyntaxKind.MethodSignature, fullStart); setModifiers(method, modifiers); method.name = name; @@ -2292,7 +2298,7 @@ namespace ts { property.questionToken = questionToken; property.type = parseTypeAnnotation(); - if (token === SyntaxKind.EqualsToken) { + if (token() === SyntaxKind.EqualsToken) { // Although type literal properties cannot not have initializers, we attempt // to parse an initializer so we can report in the checker that an interface // property or type literal property cannot have an initializer. @@ -2307,40 +2313,40 @@ namespace ts { function isTypeMemberStart(): boolean { let idToken: SyntaxKind; // Return true if we have the start of a signature member - if (token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken) { return true; } // Eat up all modifiers, but hold on to the last one in case it is actually an identifier - while (isModifierKind(token)) { - idToken = token; + while (isModifierKind(token())) { + idToken = token(); nextToken(); } // Index signatures and computed property names are type members - if (token === SyntaxKind.OpenBracketToken) { + if (token() === SyntaxKind.OpenBracketToken) { return true; } // Try to get the first property-like token following all modifiers if (isLiteralPropertyName()) { - idToken = token; + idToken = token(); nextToken(); } // If we were able to get any potential identifier, check that it is // the start of a member declaration if (idToken) { - return token === SyntaxKind.OpenParenToken || - token === SyntaxKind.LessThanToken || - token === SyntaxKind.QuestionToken || - token === SyntaxKind.ColonToken || + return token() === SyntaxKind.OpenParenToken || + token() === SyntaxKind.LessThanToken || + token() === SyntaxKind.QuestionToken || + token() === SyntaxKind.ColonToken || canParseSemicolon(); } return false; } function parseTypeMember(): TypeElement { - if (token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken) { return parseSignatureMember(SyntaxKind.CallSignature); } - if (token === SyntaxKind.NewKeyword && lookAhead(isStartOfConstructSignature)) { + if (token() === SyntaxKind.NewKeyword && lookAhead(isStartOfConstructSignature)) { return parseSignatureMember(SyntaxKind.ConstructSignature); } const fullStart = getNodePos(); @@ -2353,7 +2359,7 @@ namespace ts { function isStartOfConstructSignature() { nextToken(); - return token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken; + return token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken; } function parseTypeLiteral(): TypeLiteralNode { @@ -2400,11 +2406,22 @@ namespace ts { function parseKeywordAndNoDot(): TypeNode { const node = parseTokenNode(); - return token === SyntaxKind.DotToken ? undefined : node; + return token() === SyntaxKind.DotToken ? undefined : node; + } + + function parseLiteralTypeNode(): LiteralTypeNode { + const node = createNode(SyntaxKind.LiteralType); + node.literal = parseSimpleUnaryExpression(); + finishNode(node); + return node; + } + + function nextTokenIsNumericLiteral() { + return nextToken() === SyntaxKind.NumericLiteral; } function parseNonArrayType(): TypeNode { - switch (token) { + switch (token()) { case SyntaxKind.AnyKeyword: case SyntaxKind.StringKeyword: case SyntaxKind.NumberKeyword: @@ -2416,13 +2433,18 @@ namespace ts { const node = tryParse(parseKeywordAndNoDot); return node || parseTypeReference(); case SyntaxKind.StringLiteral: - return parseStringLiteralTypeNode(); + case SyntaxKind.NumericLiteral: + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: + return parseLiteralTypeNode(); + case SyntaxKind.MinusToken: + return lookAhead(nextTokenIsNumericLiteral) ? parseLiteralTypeNode() : parseTypeReference(); case SyntaxKind.VoidKeyword: case SyntaxKind.NullKeyword: return parseTokenNode(); case SyntaxKind.ThisKeyword: { const thisKeyword = parseThisTypeNode(); - if (token === SyntaxKind.IsKeyword && !scanner.hasPrecedingLineBreak()) { + if (token() === SyntaxKind.IsKeyword && !scanner.hasPrecedingLineBreak()) { return parseThisTypePredicate(thisKeyword); } else { @@ -2443,7 +2465,7 @@ namespace ts { } function isStartOfType(): boolean { - switch (token) { + switch (token()) { case SyntaxKind.AnyKeyword: case SyntaxKind.StringKeyword: case SyntaxKind.NumberKeyword: @@ -2460,7 +2482,12 @@ namespace ts { case SyntaxKind.LessThanToken: case SyntaxKind.NewKeyword: case SyntaxKind.StringLiteral: + case SyntaxKind.NumericLiteral: + case SyntaxKind.TrueKeyword: + case SyntaxKind.FalseKeyword: return true; + case SyntaxKind.MinusToken: + return lookAhead(nextTokenIsNumericLiteral); case SyntaxKind.OpenParenToken: // Only consider '(' the start of a type if followed by ')', '...', an identifier, a modifier, // or something that starts a type. We don't want to consider things like '(1)' a type. @@ -2472,7 +2499,7 @@ namespace ts { function isStartOfParenthesizedOrFunctionType() { nextToken(); - return token === SyntaxKind.CloseParenToken || isStartOfParameter() || isStartOfType(); + return token() === SyntaxKind.CloseParenToken || isStartOfParameter() || isStartOfType(); } function parseArrayTypeOrHigher(): TypeNode { @@ -2488,7 +2515,7 @@ namespace ts { function parseUnionOrIntersectionType(kind: SyntaxKind, parseConstituentType: () => TypeNode, operator: SyntaxKind): TypeNode { let type = parseConstituentType(); - if (token === operator) { + if (token() === operator) { const types = >[type]; types.pos = type.pos; while (parseOptional(operator)) { @@ -2511,22 +2538,22 @@ namespace ts { } function isStartOfFunctionType(): boolean { - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { return true; } - return token === SyntaxKind.OpenParenToken && lookAhead(isUnambiguouslyStartOfFunctionType); + return token() === SyntaxKind.OpenParenToken && lookAhead(isUnambiguouslyStartOfFunctionType); } function skipParameterStart(): boolean { - if (isModifierKind(token)) { + if (isModifierKind(token())) { // Skip modifiers parseModifiers(); } - if (isIdentifier() || token === SyntaxKind.ThisKeyword) { + if (isIdentifier() || token() === SyntaxKind.ThisKeyword) { nextToken(); return true; } - if (token === SyntaxKind.OpenBracketToken || token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBracketToken || token() === SyntaxKind.OpenBraceToken) { // Return true if we can parse an array or object binding pattern with no errors const previousErrorCount = parseDiagnostics.length; parseIdentifierOrPattern(); @@ -2537,7 +2564,7 @@ namespace ts { function isUnambiguouslyStartOfFunctionType() { nextToken(); - if (token === SyntaxKind.CloseParenToken || token === SyntaxKind.DotDotDotToken) { + if (token() === SyntaxKind.CloseParenToken || token() === SyntaxKind.DotDotDotToken) { // ( ) // ( ... return true; @@ -2545,17 +2572,17 @@ namespace ts { if (skipParameterStart()) { // We successfully skipped modifiers (if any) and an identifier or binding pattern, // now see if we have something that indicates a parameter declaration - if (token === SyntaxKind.ColonToken || token === SyntaxKind.CommaToken || - token === SyntaxKind.QuestionToken || token === SyntaxKind.EqualsToken) { + if (token() === SyntaxKind.ColonToken || token() === SyntaxKind.CommaToken || + token() === SyntaxKind.QuestionToken || token() === SyntaxKind.EqualsToken) { // ( xxx : // ( xxx , // ( xxx ? // ( xxx = return true; } - if (token === SyntaxKind.CloseParenToken) { + if (token() === SyntaxKind.CloseParenToken) { nextToken(); - if (token === SyntaxKind.EqualsGreaterThanToken) { + if (token() === SyntaxKind.EqualsGreaterThanToken) { // ( xxx ) => return true; } @@ -2580,7 +2607,7 @@ namespace ts { function parseTypePredicatePrefix() { const id = parseIdentifier(); - if (token === SyntaxKind.IsKeyword && !scanner.hasPrecedingLineBreak()) { + if (token() === SyntaxKind.IsKeyword && !scanner.hasPrecedingLineBreak()) { nextToken(); return id; } @@ -2596,7 +2623,7 @@ namespace ts { if (isStartOfFunctionType()) { return parseFunctionOrConstructorType(SyntaxKind.FunctionType); } - if (token === SyntaxKind.NewKeyword) { + if (token() === SyntaxKind.NewKeyword) { return parseFunctionOrConstructorType(SyntaxKind.ConstructorType); } return parseUnionTypeOrHigher(); @@ -2608,7 +2635,7 @@ namespace ts { // EXPRESSIONS function isStartOfLeftHandSideExpression(): boolean { - switch (token) { + switch (token()) { case SyntaxKind.ThisKeyword: case SyntaxKind.SuperKeyword: case SyntaxKind.NullKeyword: @@ -2638,7 +2665,7 @@ namespace ts { return true; } - switch (token) { + switch (token()) { case SyntaxKind.PlusToken: case SyntaxKind.MinusToken: case SyntaxKind.TildeToken: @@ -2670,10 +2697,10 @@ namespace ts { function isStartOfExpressionStatement(): boolean { // As per the grammar, none of '{' or 'function' or 'class' can start an expression statement. - return token !== SyntaxKind.OpenBraceToken && - token !== SyntaxKind.FunctionKeyword && - token !== SyntaxKind.ClassKeyword && - token !== SyntaxKind.AtToken && + return token() !== SyntaxKind.OpenBraceToken && + token() !== SyntaxKind.FunctionKeyword && + token() !== SyntaxKind.ClassKeyword && + token() !== SyntaxKind.AtToken && isStartOfExpression(); } @@ -2701,7 +2728,7 @@ namespace ts { } function parseInitializer(inParameter: boolean): Expression { - if (token !== SyntaxKind.EqualsToken) { + if (token() !== SyntaxKind.EqualsToken) { // It's not uncommon during typing for the user to miss writing the '=' token. Check if // there is no newline after the last token and if we're on an expression. If so, parse // this as an equals-value clause with a missing equals. @@ -2710,7 +2737,7 @@ namespace ts { // it's more likely that a { would be a allowed (as an object literal). While this // is also allowed for parameters, the risk is that we consume the { as an object // literal when it really will be for the block following the parameter. - if (scanner.hasPrecedingLineBreak() || (inParameter && token === SyntaxKind.OpenBraceToken) || !isStartOfExpression()) { + if (scanner.hasPrecedingLineBreak() || (inParameter && token() === SyntaxKind.OpenBraceToken) || !isStartOfExpression()) { // preceding line break, open brace in a parameter (likely a function body) or current token is not an expression - // do not try to parse initializer return undefined; @@ -2771,7 +2798,7 @@ namespace ts { // To avoid a look-ahead, we did not handle the case of an arrow function with a single un-parenthesized // parameter ('x => ...') above. We handle it here by checking if the parsed expression was a single // identifier and the current token is an arrow. - if (expr.kind === SyntaxKind.Identifier && token === SyntaxKind.EqualsGreaterThanToken) { + if (expr.kind === SyntaxKind.Identifier && token() === SyntaxKind.EqualsGreaterThanToken) { return parseSimpleArrowFunctionExpression(expr); } @@ -2790,7 +2817,7 @@ namespace ts { } function isYieldExpression(): boolean { - if (token === SyntaxKind.YieldKeyword) { + if (token() === SyntaxKind.YieldKeyword) { // If we have a 'yield' keyword, and this is a context where yield expressions are // allowed, then definitely parse out a yield expression. if (inYieldContext()) { @@ -2832,7 +2859,7 @@ namespace ts { nextToken(); if (!scanner.hasPrecedingLineBreak() && - (token === SyntaxKind.AsteriskToken || isStartOfExpression())) { + (token() === SyntaxKind.AsteriskToken || isStartOfExpression())) { node.asteriskToken = parseOptionalToken(SyntaxKind.AsteriskToken); node.expression = parseAssignmentExpressionOrHigher(); return finishNode(node); @@ -2845,7 +2872,7 @@ namespace ts { } function parseSimpleArrowFunctionExpression(identifier: Identifier, asyncModifier?: ModifiersArray): ArrowFunction { - Debug.assert(token === SyntaxKind.EqualsGreaterThanToken, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); + Debug.assert(token() === SyntaxKind.EqualsGreaterThanToken, "parseSimpleArrowFunctionExpression should only have been called if we had a =>"); let node: ArrowFunction; if (asyncModifier) { @@ -2894,7 +2921,7 @@ namespace ts { // If we have an arrow, then try to parse the body. Even if not, try to parse if we // have an opening brace, just in case we're in an error state. - const lastToken = token; + const lastToken = token(); arrowFunction.equalsGreaterThanToken = parseExpectedToken(SyntaxKind.EqualsGreaterThanToken, /*reportAtCurrentPosition*/false, Diagnostics._0_expected, "=>"); arrowFunction.body = (lastToken === SyntaxKind.EqualsGreaterThanToken || lastToken === SyntaxKind.OpenBraceToken) ? parseArrowFunctionExpressionBody(isAsync) @@ -2908,11 +2935,11 @@ namespace ts { // Unknown -> There *might* be a parenthesized arrow function here. // Speculatively look ahead to be sure, and rollback if not. function isParenthesizedArrowFunctionExpression(): Tristate { - if (token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken || token === SyntaxKind.AsyncKeyword) { + if (token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken || token() === SyntaxKind.AsyncKeyword) { return lookAhead(isParenthesizedArrowFunctionExpressionWorker); } - if (token === SyntaxKind.EqualsGreaterThanToken) { + if (token() === SyntaxKind.EqualsGreaterThanToken) { // ERROR RECOVERY TWEAK: // If we see a standalone => try to parse it as an arrow function expression as that's // likely what the user intended to write. @@ -2923,17 +2950,17 @@ namespace ts { } function isParenthesizedArrowFunctionExpressionWorker() { - if (token === SyntaxKind.AsyncKeyword) { + if (token() === SyntaxKind.AsyncKeyword) { nextToken(); if (scanner.hasPrecedingLineBreak()) { return Tristate.False; } - if (token !== SyntaxKind.OpenParenToken && token !== SyntaxKind.LessThanToken) { + if (token() !== SyntaxKind.OpenParenToken && token() !== SyntaxKind.LessThanToken) { return Tristate.False; } } - const first = token; + const first = token(); const second = nextToken(); if (first === SyntaxKind.OpenParenToken) { @@ -3035,7 +3062,7 @@ namespace ts { function tryParseAsyncSimpleArrowFunctionExpression(): ArrowFunction { // We do a check here so that we won't be doing unnecessarily call to "lookAhead" - if (token === SyntaxKind.AsyncKeyword) { + if (token() === SyntaxKind.AsyncKeyword) { const isUnParenthesizedAsyncArrowFunction = lookAhead(isUnParenthesizedAsyncArrowFunctionWorker); if (isUnParenthesizedAsyncArrowFunction === Tristate.True) { const asyncModifier = parseModifiersForArrowFunction(); @@ -3050,16 +3077,16 @@ namespace ts { // AsyncArrowFunctionExpression: // 1) async[no LineTerminator here]AsyncArrowBindingIdentifier[?Yield][no LineTerminator here]=>AsyncConciseBody[?In] // 2) CoverCallExpressionAndAsyncArrowHead[?Yield, ?Await][no LineTerminator here]=>AsyncConciseBody[?In] - if (token === SyntaxKind.AsyncKeyword) { + if (token() === SyntaxKind.AsyncKeyword) { nextToken(); // If the "async" is followed by "=>" token then it is not a begining of an async arrow-function // but instead a simple arrow-function which will be parsed inside "parseAssignmentExpressionOrHigher" - if (scanner.hasPrecedingLineBreak() || token === SyntaxKind.EqualsGreaterThanToken) { + if (scanner.hasPrecedingLineBreak() || token() === SyntaxKind.EqualsGreaterThanToken) { return Tristate.False; } // Check for un-parenthesized AsyncArrowFunction const expr = parseBinaryExpressionOrHigher(/*precedence*/ 0); - if (!scanner.hasPrecedingLineBreak() && expr.kind === SyntaxKind.Identifier && token === SyntaxKind.EqualsGreaterThanToken) { + if (!scanner.hasPrecedingLineBreak() && expr.kind === SyntaxKind.Identifier && token() === SyntaxKind.EqualsGreaterThanToken) { return Tristate.True; } } @@ -3094,7 +3121,7 @@ namespace ts { // - "a ? (b): c" will have "(b):" parsed as a signature with a return type annotation. // // So we need just a bit of lookahead to ensure that it can only be a signature. - if (!allowAmbiguity && token !== SyntaxKind.EqualsGreaterThanToken && token !== SyntaxKind.OpenBraceToken) { + if (!allowAmbiguity && token() !== SyntaxKind.EqualsGreaterThanToken && token() !== SyntaxKind.OpenBraceToken) { // Returning undefined here will cause our caller to rewind to where we started from. return undefined; } @@ -3103,13 +3130,13 @@ namespace ts { } function parseArrowFunctionExpressionBody(isAsync: boolean): Block | Expression { - if (token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBraceToken) { return parseFunctionBlock(/*allowYield*/ false, /*allowAwait*/ isAsync, /*ignoreMissingOpenBrace*/ false); } - if (token !== SyntaxKind.SemicolonToken && - token !== SyntaxKind.FunctionKeyword && - token !== SyntaxKind.ClassKeyword && + if (token() !== SyntaxKind.SemicolonToken && + token() !== SyntaxKind.FunctionKeyword && + token() !== SyntaxKind.ClassKeyword && isStartOfStatement() && !isStartOfExpressionStatement()) { // Check if we got a plain statement (i.e. no expression-statements, no function/class expressions/declarations) @@ -3191,7 +3218,7 @@ namespace ts { // ^^token; leftOperand = b. Return b ** c to the caller as a rightOperand // a ** b - c // ^token; leftOperand = b. Return b to the caller as a rightOperand - const consumeCurrentOperator = token === SyntaxKind.AsteriskAsteriskToken ? + const consumeCurrentOperator = token() === SyntaxKind.AsteriskAsteriskToken ? newPrecedence >= precedence : newPrecedence > precedence; @@ -3199,11 +3226,11 @@ namespace ts { break; } - if (token === SyntaxKind.InKeyword && inDisallowInContext()) { + if (token() === SyntaxKind.InKeyword && inDisallowInContext()) { break; } - if (token === SyntaxKind.AsKeyword) { + if (token() === SyntaxKind.AsKeyword) { // Make sure we *do* perform ASI for constructs like this: // var x = foo // as (Bar) @@ -3226,7 +3253,7 @@ namespace ts { } function isBinaryOperator() { - if (inDisallowInContext() && token === SyntaxKind.InKeyword) { + if (inDisallowInContext() && token() === SyntaxKind.InKeyword) { return false; } @@ -3234,7 +3261,7 @@ namespace ts { } function getBinaryOperatorPrecedence(): number { - switch (token) { + switch (token()) { case SyntaxKind.BarBarToken: return 1; case SyntaxKind.AmpersandAmpersandToken: @@ -3295,7 +3322,7 @@ namespace ts { function parsePrefixUnaryExpression() { const node = createNode(SyntaxKind.PrefixUnaryExpression); - node.operator = token; + node.operator = token(); nextToken(); node.operand = parseSimpleUnaryExpression(); @@ -3324,7 +3351,7 @@ namespace ts { } function isAwaitExpression(): boolean { - if (token === SyntaxKind.AwaitKeyword) { + if (token() === SyntaxKind.AwaitKeyword) { if (inAwaitContext()) { return true; } @@ -3357,14 +3384,14 @@ namespace ts { if (isIncrementExpression()) { const incrementExpression = parseIncrementExpression(); - return token === SyntaxKind.AsteriskAsteriskToken ? + return token() === SyntaxKind.AsteriskAsteriskToken ? parseBinaryExpressionRest(getBinaryOperatorPrecedence(), incrementExpression) : incrementExpression; } - const unaryOperator = token; + const unaryOperator = token(); const simpleUnaryExpression = parseSimpleUnaryExpression(); - if (token === SyntaxKind.AsteriskAsteriskToken) { + if (token() === SyntaxKind.AsteriskAsteriskToken) { const start = skipTrivia(sourceText, simpleUnaryExpression.pos); if (simpleUnaryExpression.kind === SyntaxKind.TypeAssertionExpression) { parseErrorAtPosition(start, simpleUnaryExpression.end - start, Diagnostics.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses); @@ -3390,7 +3417,7 @@ namespace ts { * 8) ! UnaryExpression[?yield] */ function parseSimpleUnaryExpression(): UnaryExpression { - switch (token) { + switch (token()) { case SyntaxKind.PlusToken: case SyntaxKind.MinusToken: case SyntaxKind.TildeToken: @@ -3425,7 +3452,7 @@ namespace ts { function isIncrementExpression(): boolean { // This function is called inside parseUnaryExpression to decide // whether to call parseSimpleUnaryExpression or call parseIncrementExpression directly - switch (token) { + switch (token()) { case SyntaxKind.PlusToken: case SyntaxKind.MinusToken: case SyntaxKind.TildeToken: @@ -3458,14 +3485,14 @@ namespace ts { * In TypeScript (2), (3) are parsed as PostfixUnaryExpression. (4), (5) are parsed as PrefixUnaryExpression */ function parseIncrementExpression(): IncrementExpression { - if (token === SyntaxKind.PlusPlusToken || token === SyntaxKind.MinusMinusToken) { + if (token() === SyntaxKind.PlusPlusToken || token() === SyntaxKind.MinusMinusToken) { const node = createNode(SyntaxKind.PrefixUnaryExpression); - node.operator = token; + node.operator = token(); nextToken(); node.operand = parseLeftHandSideExpressionOrHigher(); return finishNode(node); } - else if (sourceFile.languageVariant === LanguageVariant.JSX && token === SyntaxKind.LessThanToken && lookAhead(nextTokenIsIdentifierOrKeyword)) { + else if (sourceFile.languageVariant === LanguageVariant.JSX && token() === SyntaxKind.LessThanToken && lookAhead(nextTokenIsIdentifierOrKeyword)) { // JSXElement is part of primaryExpression return parseJsxElementOrSelfClosingElement(/*inExpressionContext*/ true); } @@ -3473,10 +3500,10 @@ namespace ts { const expression = parseLeftHandSideExpressionOrHigher(); Debug.assert(isLeftHandSideExpression(expression)); - if ((token === SyntaxKind.PlusPlusToken || token === SyntaxKind.MinusMinusToken) && !scanner.hasPrecedingLineBreak()) { + if ((token() === SyntaxKind.PlusPlusToken || token() === SyntaxKind.MinusMinusToken) && !scanner.hasPrecedingLineBreak()) { const node = createNode(SyntaxKind.PostfixUnaryExpression, expression.pos); node.operand = expression; - node.operator = token; + node.operator = token(); nextToken(); return finishNode(node); } @@ -3515,7 +3542,7 @@ namespace ts { // the last two CallExpression productions. Or we have a MemberExpression which either // completes the LeftHandSideExpression, or starts the beginning of the first four // CallExpression productions. - const expression = token === SyntaxKind.SuperKeyword + const expression = token() === SyntaxKind.SuperKeyword ? parseSuperExpression() : parseMemberExpressionOrHigher(); @@ -3578,7 +3605,7 @@ namespace ts { function parseSuperExpression(): MemberExpression { const expression = parseTokenNode(); - if (token === SyntaxKind.OpenParenToken || token === SyntaxKind.DotToken || token === SyntaxKind.OpenBracketToken) { + if (token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.DotToken || token() === SyntaxKind.OpenBracketToken) { return expression; } @@ -3641,7 +3668,7 @@ namespace ts { // does less damage and we can report a better error. // Since JSX elements are invalid < operands anyway, this lookahead parse will only occur in error scenarios // of one sort or another. - if (inExpressionContext && token === SyntaxKind.LessThanToken) { + if (inExpressionContext && token() === SyntaxKind.LessThanToken) { const invalidElement = tryParse(() => parseJsxElementOrSelfClosingElement(/*inExpressionContext*/true)); if (invalidElement) { parseErrorAtCurrentToken(Diagnostics.JSX_expressions_must_have_one_parent_element); @@ -3660,12 +3687,12 @@ namespace ts { function parseJsxText(): JsxText { const node = createNode(SyntaxKind.JsxText, scanner.getStartPos()); - token = scanner.scanJsxToken(); + currentToken = scanner.scanJsxToken(); return finishNode(node); } function parseJsxChild(): JsxChild { - switch (token) { + switch (token()) { case SyntaxKind.JsxText: return parseJsxText(); case SyntaxKind.OpenBraceToken: @@ -3673,7 +3700,7 @@ namespace ts { case SyntaxKind.LessThanToken: return parseJsxElementOrSelfClosingElement(/*inExpressionContext*/ false); } - Debug.fail("Unknown JSX child kind " + token); + Debug.fail("Unknown JSX child kind " + token()); } function parseJsxChildren(openingTagName: LeftHandSideExpression): NodeArray { @@ -3683,12 +3710,12 @@ namespace ts { parsingContext |= 1 << ParsingContext.JsxChildren; while (true) { - token = scanner.reScanJsxToken(); - if (token === SyntaxKind.LessThanSlashToken) { + currentToken = scanner.reScanJsxToken(); + if (token() === SyntaxKind.LessThanSlashToken) { // Closing tag break; } - else if (token === SyntaxKind.EndOfFileToken) { + else if (token() === SyntaxKind.EndOfFileToken) { // If we hit EOF, issue the error at the tag that lacks the closing element // rather than at the end of the file (which is useless) parseErrorAtPosition(openingTagName.pos, openingTagName.end - openingTagName.pos, Diagnostics.JSX_element_0_has_no_corresponding_closing_tag, getTextOfNodeFromSourceText(sourceText, openingTagName)); @@ -3714,7 +3741,7 @@ namespace ts { const attributes = parseList(ParsingContext.JsxAttributes, parseJsxAttribute); let node: JsxOpeningLikeElement; - if (token === SyntaxKind.GreaterThanToken) { + if (token() === SyntaxKind.GreaterThanToken) { // Closing tag, so scan the immediately-following text with the JSX scanning instead // of regular scanning to avoid treating illegal characters (e.g. '#') as immediate // scanning errors @@ -3746,7 +3773,7 @@ namespace ts { // primaryExpression in the form of an identifier and "this" keyword // We can't just simply use parseLeftHandSideExpressionOrHigher because then we will start consider class,function etc as a keyword // We only want to consider "this" as a primaryExpression - let expression: JsxTagNameExpression = token === SyntaxKind.ThisKeyword ? + let expression: JsxTagNameExpression = token() === SyntaxKind.ThisKeyword ? parseTokenNode() : parseIdentifierName(); while (parseOptional(SyntaxKind.DotToken)) { const propertyAccess: PropertyAccessExpression = createNode(SyntaxKind.PropertyAccessExpression, expression.pos); @@ -3761,7 +3788,7 @@ namespace ts { const node = createNode(SyntaxKind.JsxExpression); parseExpected(SyntaxKind.OpenBraceToken); - if (token !== SyntaxKind.CloseBraceToken) { + if (token() !== SyntaxKind.CloseBraceToken) { node.expression = parseAssignmentExpressionOrHigher(); } if (inExpressionContext) { @@ -3776,7 +3803,7 @@ namespace ts { } function parseJsxAttribute(): JsxAttribute | JsxSpreadAttribute { - if (token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBraceToken) { return parseJsxSpreadAttribute(); } @@ -3784,7 +3811,7 @@ namespace ts { const node = createNode(SyntaxKind.JsxAttribute); node.name = parseIdentifierName(); if (parseOptional(SyntaxKind.EqualsToken)) { - switch (token) { + switch (token()) { case SyntaxKind.StringLiteral: node.initializer = parseLiteralNode(); break; @@ -3839,7 +3866,7 @@ namespace ts { continue; } - if (token === SyntaxKind.ExclamationToken && !scanner.hasPrecedingLineBreak()) { + if (token() === SyntaxKind.ExclamationToken && !scanner.hasPrecedingLineBreak()) { nextToken(); const nonNullExpression = createNode(SyntaxKind.NonNullExpression, expression.pos); nonNullExpression.expression = expression; @@ -3854,7 +3881,7 @@ namespace ts { // It's not uncommon for a user to write: "new Type[]". // Check for that common pattern and report a better error message. - if (token !== SyntaxKind.CloseBracketToken) { + if (token() !== SyntaxKind.CloseBracketToken) { indexedAccess.argumentExpression = allowInAnd(parseExpression); if (indexedAccess.argumentExpression.kind === SyntaxKind.StringLiteral || indexedAccess.argumentExpression.kind === SyntaxKind.NumericLiteral) { const literal = indexedAccess.argumentExpression; @@ -3867,10 +3894,10 @@ namespace ts { continue; } - if (token === SyntaxKind.NoSubstitutionTemplateLiteral || token === SyntaxKind.TemplateHead) { + if (token() === SyntaxKind.NoSubstitutionTemplateLiteral || token() === SyntaxKind.TemplateHead) { const tagExpression = createNode(SyntaxKind.TaggedTemplateExpression, expression.pos); tagExpression.tag = expression; - tagExpression.template = token === SyntaxKind.NoSubstitutionTemplateLiteral + tagExpression.template = token() === SyntaxKind.NoSubstitutionTemplateLiteral ? parseLiteralNode() : parseTemplateExpression(); expression = finishNode(tagExpression); @@ -3884,7 +3911,7 @@ namespace ts { function parseCallExpressionRest(expression: LeftHandSideExpression): LeftHandSideExpression { while (true) { expression = parseMemberExpressionRest(expression); - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { // See if this is the start of a generic invocation. If so, consume it and // keep checking for postfix expressions. Otherwise, it's just a '<' that's // part of an arithmetic expression. Break out so we consume it higher in the @@ -3901,7 +3928,7 @@ namespace ts { expression = finishNode(callExpr); continue; } - else if (token === SyntaxKind.OpenParenToken) { + else if (token() === SyntaxKind.OpenParenToken) { const callExpr = createNode(SyntaxKind.CallExpression, expression.pos); callExpr.expression = expression; callExpr.arguments = parseArgumentList(); @@ -3939,7 +3966,7 @@ namespace ts { } function canFollowTypeArgumentsInExpression(): boolean { - switch (token) { + switch (token()) { case SyntaxKind.OpenParenToken: // foo( // this case are the only case where this token can legally follow a type argument // list. So we definitely want to treat this as a type arg list. @@ -3979,7 +4006,7 @@ namespace ts { } function parsePrimaryExpression(): PrimaryExpression { - switch (token) { + switch (token()) { case SyntaxKind.NumericLiteral: case SyntaxKind.StringLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: @@ -4040,8 +4067,8 @@ namespace ts { } function parseArgumentOrArrayLiteralElement(): Expression { - return token === SyntaxKind.DotDotDotToken ? parseSpreadElement() : - token === SyntaxKind.CommaToken ? createNode(SyntaxKind.OmittedExpression) : + return token() === SyntaxKind.DotDotDotToken ? parseSpreadElement() : + token() === SyntaxKind.CommaToken ? createNode(SyntaxKind.OmittedExpression) : parseAssignmentExpressionOrHigher(); } @@ -4087,7 +4114,7 @@ namespace ts { // Disallowing of optional property assignments happens in the grammar checker. const questionToken = parseOptionalToken(SyntaxKind.QuestionToken); - if (asteriskToken || token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken) { + if (asteriskToken || token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken) { return parseMethodDeclaration(fullStart, decorators, modifiers, asteriskToken, propertyName, questionToken); } @@ -4097,7 +4124,7 @@ namespace ts { // IdentifierReference[?Yield] Initializer[In, ?Yield] // this is necessary because ObjectLiteral productions are also used to cover grammar for ObjectAssignmentPattern const isShorthandPropertyAssignment = - tokenIsIdentifier && (token === SyntaxKind.CommaToken || token === SyntaxKind.CloseBraceToken || token === SyntaxKind.EqualsToken); + tokenIsIdentifier && (token() === SyntaxKind.CommaToken || token() === SyntaxKind.CloseBraceToken || token() === SyntaxKind.EqualsToken); if (isShorthandPropertyAssignment) { const shorthandDeclaration = createNode(SyntaxKind.ShorthandPropertyAssignment, fullStart); @@ -4176,7 +4203,7 @@ namespace ts { parseExpected(SyntaxKind.NewKeyword); node.expression = parseMemberExpressionOrHigher(); node.typeArguments = tryParse(parseTypeArgumentsInExpression); - if (node.typeArguments || token === SyntaxKind.OpenParenToken) { + if (node.typeArguments || token() === SyntaxKind.OpenParenToken) { node.arguments = parseArgumentList(); } @@ -4272,8 +4299,8 @@ namespace ts { parseExpected(SyntaxKind.OpenParenToken); let initializer: VariableDeclarationList | Expression = undefined; - if (token !== SyntaxKind.SemicolonToken) { - if (token === SyntaxKind.VarKeyword || token === SyntaxKind.LetKeyword || token === SyntaxKind.ConstKeyword) { + if (token() !== SyntaxKind.SemicolonToken) { + if (token() === SyntaxKind.VarKeyword || token() === SyntaxKind.LetKeyword || token() === SyntaxKind.ConstKeyword) { initializer = parseVariableDeclarationList(/*inForStatementInitializer*/ true); } else { @@ -4299,11 +4326,11 @@ namespace ts { const forStatement = createNode(SyntaxKind.ForStatement, pos); forStatement.initializer = initializer; parseExpected(SyntaxKind.SemicolonToken); - if (token !== SyntaxKind.SemicolonToken && token !== SyntaxKind.CloseParenToken) { + if (token() !== SyntaxKind.SemicolonToken && token() !== SyntaxKind.CloseParenToken) { forStatement.condition = allowInAnd(parseExpression); } parseExpected(SyntaxKind.SemicolonToken); - if (token !== SyntaxKind.CloseParenToken) { + if (token() !== SyntaxKind.CloseParenToken) { forStatement.incrementor = allowInAnd(parseExpression); } parseExpected(SyntaxKind.CloseParenToken); @@ -4367,7 +4394,7 @@ namespace ts { } function parseCaseOrDefaultClause(): CaseOrDefaultClause { - return token === SyntaxKind.CaseKeyword ? parseCaseClause() : parseDefaultClause(); + return token() === SyntaxKind.CaseKeyword ? parseCaseClause() : parseDefaultClause(); } function parseSwitchStatement(): SwitchStatement { @@ -4406,11 +4433,11 @@ namespace ts { parseExpected(SyntaxKind.TryKeyword); node.tryBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); - node.catchClause = token === SyntaxKind.CatchKeyword ? parseCatchClause() : undefined; + node.catchClause = token() === SyntaxKind.CatchKeyword ? parseCatchClause() : undefined; // If we don't have a catch clause, then we must have a finally clause. Try to parse // one out no matter what. - if (!node.catchClause || token === SyntaxKind.FinallyKeyword) { + if (!node.catchClause || token() === SyntaxKind.FinallyKeyword) { parseExpected(SyntaxKind.FinallyKeyword); node.finallyBlock = parseBlock(/*ignoreMissingOpenBrace*/ false); } @@ -4460,22 +4487,22 @@ namespace ts { function nextTokenIsIdentifierOrKeywordOnSameLine() { nextToken(); - return tokenIsIdentifierOrKeyword(token) && !scanner.hasPrecedingLineBreak(); + return tokenIsIdentifierOrKeyword(token()) && !scanner.hasPrecedingLineBreak(); } function nextTokenIsFunctionKeywordOnSameLine() { nextToken(); - return token === SyntaxKind.FunctionKeyword && !scanner.hasPrecedingLineBreak(); + return token() === SyntaxKind.FunctionKeyword && !scanner.hasPrecedingLineBreak(); } function nextTokenIsIdentifierOrKeywordOrNumberOnSameLine() { nextToken(); - return (tokenIsIdentifierOrKeyword(token) || token === SyntaxKind.NumericLiteral) && !scanner.hasPrecedingLineBreak(); + return (tokenIsIdentifierOrKeyword(token()) || token() === SyntaxKind.NumericLiteral) && !scanner.hasPrecedingLineBreak(); } function isDeclaration(): boolean { while (true) { - switch (token) { + switch (token()) { case SyntaxKind.VarKeyword: case SyntaxKind.LetKeyword: case SyntaxKind.ConstKeyword: @@ -4527,17 +4554,17 @@ namespace ts { case SyntaxKind.GlobalKeyword: nextToken(); - return token === SyntaxKind.OpenBraceToken || token === SyntaxKind.Identifier || token === SyntaxKind.ExportKeyword; + return token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.Identifier || token() === SyntaxKind.ExportKeyword; case SyntaxKind.ImportKeyword: nextToken(); - return token === SyntaxKind.StringLiteral || token === SyntaxKind.AsteriskToken || - token === SyntaxKind.OpenBraceToken || tokenIsIdentifierOrKeyword(token); + return token() === SyntaxKind.StringLiteral || token() === SyntaxKind.AsteriskToken || + token() === SyntaxKind.OpenBraceToken || tokenIsIdentifierOrKeyword(token()); case SyntaxKind.ExportKeyword: nextToken(); - if (token === SyntaxKind.EqualsToken || token === SyntaxKind.AsteriskToken || - token === SyntaxKind.OpenBraceToken || token === SyntaxKind.DefaultKeyword || - token === SyntaxKind.AsKeyword) { + if (token() === SyntaxKind.EqualsToken || token() === SyntaxKind.AsteriskToken || + token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.DefaultKeyword || + token() === SyntaxKind.AsKeyword) { return true; } continue; @@ -4556,7 +4583,7 @@ namespace ts { } function isStartOfStatement(): boolean { - switch (token) { + switch (token()) { case SyntaxKind.AtToken: case SyntaxKind.SemicolonToken: case SyntaxKind.OpenBraceToken: @@ -4614,7 +4641,7 @@ namespace ts { function nextTokenIsIdentifierOrStartOfDestructuring() { nextToken(); - return isIdentifier() || token === SyntaxKind.OpenBraceToken || token === SyntaxKind.OpenBracketToken; + return isIdentifier() || token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.OpenBracketToken; } function isLetDeclaration() { @@ -4624,7 +4651,7 @@ namespace ts { } function parseStatement(): Statement { - switch (token) { + switch (token()) { case SyntaxKind.SemicolonToken: return parseEmptyStatement(); case SyntaxKind.OpenBraceToken: @@ -4698,7 +4725,7 @@ namespace ts { const fullStart = getNodePos(); const decorators = parseDecorators(); const modifiers = parseModifiers(); - switch (token) { + switch (token()) { case SyntaxKind.VarKeyword: case SyntaxKind.LetKeyword: case SyntaxKind.ConstKeyword: @@ -4721,7 +4748,7 @@ namespace ts { return parseImportDeclarationOrImportEqualsDeclaration(fullStart, decorators, modifiers); case SyntaxKind.ExportKeyword: nextToken(); - switch (token) { + switch (token()) { case SyntaxKind.DefaultKeyword: case SyntaxKind.EqualsToken: return parseExportAssignment(fullStart, decorators, modifiers); @@ -4745,11 +4772,11 @@ namespace ts { function nextTokenIsIdentifierOrStringLiteralOnSameLine() { nextToken(); - return !scanner.hasPrecedingLineBreak() && (isIdentifier() || token === SyntaxKind.StringLiteral); + return !scanner.hasPrecedingLineBreak() && (isIdentifier() || token() === SyntaxKind.StringLiteral); } function parseFunctionBlockOrSemicolon(isGenerator: boolean, isAsync: boolean, diagnosticMessage?: DiagnosticMessage): Block { - if (token !== SyntaxKind.OpenBraceToken && canParseSemicolon()) { + if (token() !== SyntaxKind.OpenBraceToken && canParseSemicolon()) { parseSemicolon(); return; } @@ -4760,7 +4787,7 @@ namespace ts { // DECLARATIONS function parseArrayBindingElement(): BindingElement { - if (token === SyntaxKind.CommaToken) { + if (token() === SyntaxKind.CommaToken) { return createNode(SyntaxKind.OmittedExpression); } const node = createNode(SyntaxKind.BindingElement); @@ -4774,7 +4801,7 @@ namespace ts { const node = createNode(SyntaxKind.BindingElement); const tokenIsIdentifier = isIdentifier(); const propertyName = parsePropertyName(); - if (tokenIsIdentifier && token !== SyntaxKind.ColonToken) { + if (tokenIsIdentifier && token() !== SyntaxKind.ColonToken) { node.name = propertyName; } else { @@ -4803,14 +4830,14 @@ namespace ts { } function isIdentifierOrPattern() { - return token === SyntaxKind.OpenBraceToken || token === SyntaxKind.OpenBracketToken || isIdentifier(); + return token() === SyntaxKind.OpenBraceToken || token() === SyntaxKind.OpenBracketToken || isIdentifier(); } function parseIdentifierOrPattern(): Identifier | BindingPattern { - if (token === SyntaxKind.OpenBracketToken) { + if (token() === SyntaxKind.OpenBracketToken) { return parseArrayBindingPattern(); } - if (token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBraceToken) { return parseObjectBindingPattern(); } return parseIdentifier(); @@ -4820,7 +4847,7 @@ namespace ts { const node = createNode(SyntaxKind.VariableDeclaration); node.name = parseIdentifierOrPattern(); node.type = parseTypeAnnotation(); - if (!isInOrOfKeyword(token)) { + if (!isInOrOfKeyword(token())) { node.initializer = parseInitializer(/*inParameter*/ false); } return finishNode(node); @@ -4829,7 +4856,7 @@ namespace ts { function parseVariableDeclarationList(inForStatementInitializer: boolean): VariableDeclarationList { const node = createNode(SyntaxKind.VariableDeclarationList); - switch (token) { + switch (token()) { case SyntaxKind.VarKeyword: break; case SyntaxKind.LetKeyword: @@ -4853,7 +4880,7 @@ namespace ts { // So we need to look ahead to determine if 'of' should be treated as a keyword in // this context. // The checker will then give an error that there is an empty declaration list. - if (token === SyntaxKind.OfKeyword && lookAhead(canFollowContextualOfKeyword)) { + if (token() === SyntaxKind.OfKeyword && lookAhead(canFollowContextualOfKeyword)) { node.declarations = createMissingList(); } else { @@ -4951,7 +4978,7 @@ namespace ts { // Note: this is not legal as per the grammar. But we allow it in the parser and // report an error in the grammar checker. const questionToken = parseOptionalToken(SyntaxKind.QuestionToken); - if (asteriskToken || token === SyntaxKind.OpenParenToken || token === SyntaxKind.LessThanToken) { + if (asteriskToken || token() === SyntaxKind.OpenParenToken || token() === SyntaxKind.LessThanToken) { return parseMethodDeclaration(fullStart, decorators, modifiers, asteriskToken, name, questionToken, Diagnostics.or_expected); } else { @@ -4989,13 +5016,13 @@ namespace ts { function isClassMemberStart(): boolean { let idToken: SyntaxKind; - if (token === SyntaxKind.AtToken) { + if (token() === SyntaxKind.AtToken) { return true; } // Eat up all modifiers, but hold on to the last one in case it is actually an identifier. - while (isModifierKind(token)) { - idToken = token; + while (isModifierKind(token())) { + idToken = token(); // If the idToken is a class modifier (protected, private, public, and static), it is // certain that we are starting to parse class member. This allows better error recovery // Example: @@ -5009,19 +5036,19 @@ namespace ts { nextToken(); } - if (token === SyntaxKind.AsteriskToken) { + if (token() === SyntaxKind.AsteriskToken) { return true; } // Try to get the first property-like token following all modifiers. // This can either be an identifier or the 'get' or 'set' keywords. if (isLiteralPropertyName()) { - idToken = token; + idToken = token(); nextToken(); } // Index signatures and computed properties are class members; we can parse. - if (token === SyntaxKind.OpenBracketToken) { + if (token() === SyntaxKind.OpenBracketToken) { return true; } @@ -5034,7 +5061,7 @@ namespace ts { // If it *is* a keyword, but not an accessor, check a little farther along // to see if it should actually be parsed as a class member. - switch (token) { + switch (token()) { case SyntaxKind.OpenParenToken: // Method declaration case SyntaxKind.LessThanToken: // Generic Method declaration case SyntaxKind.ColonToken: // Type Annotation for declaration @@ -5089,9 +5116,9 @@ namespace ts { let modifiers: ModifiersArray; while (true) { const modifierStart = scanner.getStartPos(); - const modifierKind = token; + const modifierKind = token(); - if (token === SyntaxKind.ConstKeyword && permitInvalidConstAsModifier) { + if (token() === SyntaxKind.ConstKeyword && permitInvalidConstAsModifier) { // We need to ensure that any subsequent modifiers appear on the same line // so that when 'const' is a standalone declaration, we don't issue an error. if (!tryParse(nextTokenIsOnSameLineAndCanFollowModifier)) { @@ -5122,9 +5149,9 @@ namespace ts { function parseModifiersForArrowFunction(): ModifiersArray { let flags = 0; let modifiers: ModifiersArray; - if (token === SyntaxKind.AsyncKeyword) { + if (token() === SyntaxKind.AsyncKeyword) { const modifierStart = scanner.getStartPos(); - const modifierKind = token; + const modifierKind = token(); nextToken(); modifiers = []; modifiers.pos = modifierStart; @@ -5138,7 +5165,7 @@ namespace ts { } function parseClassElement(): ClassElement { - if (token === SyntaxKind.SemicolonToken) { + if (token() === SyntaxKind.SemicolonToken) { const result = createNode(SyntaxKind.SemicolonClassElement); nextToken(); return finishNode(result); @@ -5153,7 +5180,7 @@ namespace ts { return accessor; } - if (token === SyntaxKind.ConstructorKeyword) { + if (token() === SyntaxKind.ConstructorKeyword) { return parseConstructorDeclaration(fullStart, decorators, modifiers); } @@ -5163,11 +5190,11 @@ namespace ts { // It is very important that we check this *after* checking indexers because // the [ token can start an index signature or a computed property name - if (tokenIsIdentifierOrKeyword(token) || - token === SyntaxKind.StringLiteral || - token === SyntaxKind.NumericLiteral || - token === SyntaxKind.AsteriskToken || - token === SyntaxKind.OpenBracketToken) { + if (tokenIsIdentifierOrKeyword(token()) || + token() === SyntaxKind.StringLiteral || + token() === SyntaxKind.NumericLiteral || + token() === SyntaxKind.AsteriskToken || + token() === SyntaxKind.OpenBracketToken) { return parsePropertyOrMethodDeclaration(fullStart, decorators, modifiers); } @@ -5228,7 +5255,7 @@ namespace ts { } function isImplementsClause() { - return token === SyntaxKind.ImplementsKeyword && lookAhead(nextTokenIsIdentifierOrKeyword); + return token() === SyntaxKind.ImplementsKeyword && lookAhead(nextTokenIsIdentifierOrKeyword); } function parseHeritageClauses(isClassHeritageClause: boolean): NodeArray { @@ -5243,9 +5270,9 @@ namespace ts { } function parseHeritageClause() { - if (token === SyntaxKind.ExtendsKeyword || token === SyntaxKind.ImplementsKeyword) { + if (token() === SyntaxKind.ExtendsKeyword || token() === SyntaxKind.ImplementsKeyword) { const node = createNode(SyntaxKind.HeritageClause); - node.token = token; + node.token = token(); nextToken(); node.types = parseDelimitedList(ParsingContext.HeritageClauseElement, parseExpressionWithTypeArguments); return finishNode(node); @@ -5257,7 +5284,7 @@ namespace ts { function parseExpressionWithTypeArguments(): ExpressionWithTypeArguments { const node = createNode(SyntaxKind.ExpressionWithTypeArguments); node.expression = parseLeftHandSideExpressionOrHigher(); - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { node.typeArguments = parseBracketedList(ParsingContext.TypeArguments, parseType, SyntaxKind.LessThanToken, SyntaxKind.GreaterThanToken); } @@ -5265,7 +5292,7 @@ namespace ts { } function isHeritageClause(): boolean { - return token === SyntaxKind.ExtendsKeyword || token === SyntaxKind.ImplementsKeyword; + return token() === SyntaxKind.ExtendsKeyword || token() === SyntaxKind.ImplementsKeyword; } function parseClassMembers() { @@ -5355,7 +5382,7 @@ namespace ts { const node = createNode(SyntaxKind.ModuleDeclaration, fullStart); node.decorators = decorators; setModifiers(node, modifiers); - if (token === SyntaxKind.GlobalKeyword) { + if (token() === SyntaxKind.GlobalKeyword) { // parse 'global' as name of global scope augmentation node.name = parseIdentifier(); node.flags |= NodeFlags.GlobalAugmentation; @@ -5364,7 +5391,7 @@ namespace ts { node.name = parseLiteralNode(/*internName*/ true); } - if (token === SyntaxKind.OpenBraceToken) { + if (token() === SyntaxKind.OpenBraceToken) { node.body = parseModuleBlock(); } else { @@ -5376,7 +5403,7 @@ namespace ts { function parseModuleDeclaration(fullStart: number, decorators: NodeArray, modifiers: ModifiersArray): ModuleDeclaration { let flags = modifiers ? modifiers.flags : 0; - if (token === SyntaxKind.GlobalKeyword) { + if (token() === SyntaxKind.GlobalKeyword) { // global augmentation return parseAmbientExternalModuleDeclaration(fullStart, decorators, modifiers); } @@ -5385,7 +5412,7 @@ namespace ts { } else { parseExpected(SyntaxKind.ModuleKeyword); - if (token === SyntaxKind.StringLiteral) { + if (token() === SyntaxKind.StringLiteral) { return parseAmbientExternalModuleDeclaration(fullStart, decorators, modifiers); } } @@ -5393,7 +5420,7 @@ namespace ts { } function isExternalModuleReference() { - return token === SyntaxKind.RequireKeyword && + return token() === SyntaxKind.RequireKeyword && lookAhead(nextTokenIsOpenParen); } @@ -5426,7 +5453,7 @@ namespace ts { let identifier: Identifier; if (isIdentifier()) { identifier = parseIdentifier(); - if (token !== SyntaxKind.CommaToken && token !== SyntaxKind.FromKeyword) { + if (token() !== SyntaxKind.CommaToken && token() !== SyntaxKind.FromKeyword) { // ImportEquals declaration of type: // import x = require("mod"); or // import x = M.x; @@ -5450,8 +5477,8 @@ namespace ts { // import ImportClause from ModuleSpecifier ; // import ModuleSpecifier; if (identifier || // import id - token === SyntaxKind.AsteriskToken || // import * - token === SyntaxKind.OpenBraceToken) { // import { + token() === SyntaxKind.AsteriskToken || // import * + token() === SyntaxKind.OpenBraceToken) { // import { importDeclaration.importClause = parseImportClause(identifier, afterImportPos); parseExpected(SyntaxKind.FromKeyword); } @@ -5480,7 +5507,7 @@ namespace ts { // parse namespace or named imports if (!importClause.name || parseOptional(SyntaxKind.CommaToken)) { - importClause.namedBindings = token === SyntaxKind.AsteriskToken ? parseNamespaceImport() : parseNamedImportsOrExports(SyntaxKind.NamedImports); + importClause.namedBindings = token() === SyntaxKind.AsteriskToken ? parseNamespaceImport() : parseNamedImportsOrExports(SyntaxKind.NamedImports); } return finishNode(importClause); @@ -5502,7 +5529,7 @@ namespace ts { } function parseModuleSpecifier(): Expression { - if (token === SyntaxKind.StringLiteral) { + if (token() === SyntaxKind.StringLiteral) { const result = parseLiteralNode(); internIdentifier((result).text); return result; @@ -5558,14 +5585,14 @@ namespace ts { // ExportSpecifier: // IdentifierName // IdentifierName as IdentifierName - let checkIdentifierIsKeyword = isKeyword(token) && !isIdentifier(); + let checkIdentifierIsKeyword = isKeyword(token()) && !isIdentifier(); let checkIdentifierStart = scanner.getTokenPos(); let checkIdentifierEnd = scanner.getTextPos(); const identifierName = parseIdentifierName(); - if (token === SyntaxKind.AsKeyword) { + if (token() === SyntaxKind.AsKeyword) { node.propertyName = identifierName; parseExpected(SyntaxKind.AsKeyword); - checkIdentifierIsKeyword = isKeyword(token) && !isIdentifier(); + checkIdentifierIsKeyword = isKeyword(token()) && !isIdentifier(); checkIdentifierStart = scanner.getTokenPos(); checkIdentifierEnd = scanner.getTextPos(); node.name = parseIdentifierName(); @@ -5594,7 +5621,7 @@ namespace ts { // It is not uncommon to accidentally omit the 'from' keyword. Additionally, in editing scenarios, // the 'from' keyword can be parsed as a named export when the export clause is unterminated (i.e. `export { from "moduleName";`) // If we don't have a 'from' keyword, see if we have a string literal such that ASI won't take effect. - if (token === SyntaxKind.FromKeyword || (token === SyntaxKind.StringLiteral && !scanner.hasPrecedingLineBreak())) { + if (token() === SyntaxKind.FromKeyword || (token() === SyntaxKind.StringLiteral && !scanner.hasPrecedingLineBreak())) { parseExpected(SyntaxKind.FromKeyword); node.moduleSpecifier = parseModuleSpecifier(); } @@ -5739,7 +5766,7 @@ namespace ts { export namespace JSDocParser { export function isJSDocType() { - switch (token) { + switch (token()) { case SyntaxKind.AsteriskToken: case SyntaxKind.QuestionToken: case SyntaxKind.OpenParenToken: @@ -5753,13 +5780,13 @@ namespace ts { return true; } - return tokenIsIdentifierOrKeyword(token); + return tokenIsIdentifierOrKeyword(token()); } export function parseJSDocTypeExpressionForTests(content: string, start: number, length: number) { initializeState("file.js", content, ScriptTarget.Latest, /*_syntaxCursor:*/ undefined, ScriptKind.JS); scanner.setText(content, start, length); - token = scanner.scan(); + currentToken = scanner.scan(); const jsDocTypeExpression = parseJSDocTypeExpression(); const diagnostics = parseDiagnostics; clearState(); @@ -5782,13 +5809,13 @@ namespace ts { function parseJSDocTopLevelType(): JSDocType { let type = parseJSDocType(); - if (token === SyntaxKind.BarToken) { + if (token() === SyntaxKind.BarToken) { const unionType = createNode(SyntaxKind.JSDocUnionType, type.pos); unionType.types = parseJSDocTypeList(type); type = finishNode(unionType); } - if (token === SyntaxKind.EqualsToken) { + if (token() === SyntaxKind.EqualsToken) { const optionalType = createNode(SyntaxKind.JSDocOptionalType, type.pos); nextToken(); optionalType.type = type; @@ -5802,7 +5829,7 @@ namespace ts { let type = parseBasicTypeExpression(); while (true) { - if (token === SyntaxKind.OpenBracketToken) { + if (token() === SyntaxKind.OpenBracketToken) { const arrayType = createNode(SyntaxKind.JSDocArrayType, type.pos); arrayType.elementType = type; @@ -5811,14 +5838,14 @@ namespace ts { type = finishNode(arrayType); } - else if (token === SyntaxKind.QuestionToken) { + else if (token() === SyntaxKind.QuestionToken) { const nullableType = createNode(SyntaxKind.JSDocNullableType, type.pos); nullableType.type = type; nextToken(); type = finishNode(nullableType); } - else if (token === SyntaxKind.ExclamationToken) { + else if (token() === SyntaxKind.ExclamationToken) { const nonNullableType = createNode(SyntaxKind.JSDocNonNullableType, type.pos); nonNullableType.type = type; @@ -5834,7 +5861,7 @@ namespace ts { } function parseBasicTypeExpression(): JSDocType { - switch (token) { + switch (token()) { case SyntaxKind.AsteriskToken: return parseJSDocAllType(); case SyntaxKind.QuestionToken: @@ -5900,7 +5927,7 @@ namespace ts { checkForTrailingComma(result.parameters); parseExpected(SyntaxKind.CloseParenToken); - if (token === SyntaxKind.ColonToken) { + if (token() === SyntaxKind.ColonToken) { nextToken(); result.type = parseJSDocType(); } @@ -5921,12 +5948,12 @@ namespace ts { const result = createNode(SyntaxKind.JSDocTypeReference); result.name = parseSimplePropertyName(); - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { result.typeArguments = parseTypeArguments(); } else { while (parseOptional(SyntaxKind.DotToken)) { - if (token === SyntaxKind.LessThanToken) { + if (token() === SyntaxKind.LessThanToken) { result.typeArguments = parseTypeArguments(); break; } @@ -5980,7 +6007,7 @@ namespace ts { const result = createNode(SyntaxKind.JSDocRecordMember); result.name = parseSimplePropertyName(); - if (token === SyntaxKind.ColonToken) { + if (token() === SyntaxKind.ColonToken) { nextToken(); result.type = parseJSDocType(); } @@ -6058,12 +6085,12 @@ namespace ts { // Foo // Foo(?= // (?| - if (token === SyntaxKind.CommaToken || - token === SyntaxKind.CloseBraceToken || - token === SyntaxKind.CloseParenToken || - token === SyntaxKind.GreaterThanToken || - token === SyntaxKind.EqualsToken || - token === SyntaxKind.BarToken) { + if (token() === SyntaxKind.CommaToken || + token() === SyntaxKind.CloseBraceToken || + token() === SyntaxKind.CloseParenToken || + token() === SyntaxKind.GreaterThanToken || + token() === SyntaxKind.EqualsToken || + token() === SyntaxKind.BarToken) { const result = createNode(SyntaxKind.JSDocUnknownType, pos); return finishNode(result); @@ -6086,7 +6113,7 @@ namespace ts { } export function parseJSDocComment(parent: Node, start: number, length: number): JSDocComment { - const saveToken = token; + const saveToken = currentToken; const saveParseDiagnosticsLength = parseDiagnostics.length; const saveParseErrorBeforeNextFinishedNode = parseErrorBeforeNextFinishedNode; @@ -6095,7 +6122,7 @@ namespace ts { comment.parent = parent; } - token = saveToken; + currentToken = saveToken; parseDiagnostics.length = saveParseDiagnosticsLength; parseErrorBeforeNextFinishedNode = saveParseErrorBeforeNextFinishedNode; @@ -6130,8 +6157,8 @@ namespace ts { let seenAsterisk = true; nextJSDocToken(); - while (token !== SyntaxKind.EndOfFileToken) { - switch (token) { + while (token() !== SyntaxKind.EndOfFileToken) { + switch (token()) { case SyntaxKind.AtToken: if (canParseTag) { parseTag(); @@ -6187,13 +6214,13 @@ namespace ts { } function skipWhitespace(): void { - while (token === SyntaxKind.WhitespaceTrivia || token === SyntaxKind.NewLineTrivia) { + while (token() === SyntaxKind.WhitespaceTrivia || token() === SyntaxKind.NewLineTrivia) { nextJSDocToken(); } } function parseTag(): void { - Debug.assert(token === SyntaxKind.AtToken); + Debug.assert(token() === SyntaxKind.AtToken); const atToken = createNode(SyntaxKind.AtToken, scanner.getTokenPos()); atToken.end = scanner.getTextPos(); nextJSDocToken(); @@ -6247,7 +6274,7 @@ namespace ts { } function tryParseTypeExpression(): JSDocTypeExpression { - if (token !== SyntaxKind.OpenBraceToken) { + if (token() !== SyntaxKind.OpenBraceToken) { return undefined; } @@ -6273,7 +6300,7 @@ namespace ts { parseExpected(SyntaxKind.CloseBracketToken); } - else if (tokenIsIdentifierOrKeyword(token)) { + else if (tokenIsIdentifierOrKeyword(token())) { name = parseJSDocIdentifierName(); } @@ -6382,9 +6409,9 @@ namespace ts { let seenAsterisk = false; let parentTagTerminated = false; - while (token !== SyntaxKind.EndOfFileToken && !parentTagTerminated) { + while (token() !== SyntaxKind.EndOfFileToken && !parentTagTerminated) { nextJSDocToken(); - switch (token) { + switch (token()) { case SyntaxKind.AtToken: if (canParseTag) { parentTagTerminated = !tryParseChildTag(jsDocTypeLiteral); @@ -6417,7 +6444,7 @@ namespace ts { } function tryParseChildTag(parentTag: JSDocTypeLiteral): boolean { - Debug.assert(token === SyntaxKind.AtToken); + Debug.assert(token() === SyntaxKind.AtToken); const atToken = createNode(SyntaxKind.AtToken, scanner.getStartPos()); atToken.end = scanner.getTextPos(); nextJSDocToken(); @@ -6469,7 +6496,7 @@ namespace ts { typeParameters.push(typeParameter); - if (token === SyntaxKind.CommaToken) { + if (token() === SyntaxKind.CommaToken) { nextJSDocToken(); } else { @@ -6487,11 +6514,11 @@ namespace ts { } function nextJSDocToken(): SyntaxKind { - return token = scanner.scanJSDocToken(); + return currentToken = scanner.scanJSDocToken(); } function parseJSDocIdentifierName(): Identifier { - return createJSDocIdentifier(tokenIsIdentifierOrKeyword(token)); + return createJSDocIdentifier(tokenIsIdentifierOrKeyword(token())); } function createJSDocIdentifier(isIdentifier: boolean): Identifier { diff --git a/src/compiler/performance.ts b/src/compiler/performance.ts new file mode 100644 index 0000000000000..e8f064e81cdf3 --- /dev/null +++ b/src/compiler/performance.ts @@ -0,0 +1,95 @@ +/*@internal*/ +namespace ts { + declare const performance: { now?(): number } | undefined; + /** Gets a timestamp with (at least) ms resolution */ + export const timestamp = typeof performance !== "undefined" && performance.now ? () => performance.now() : Date.now ? Date.now : () => +(new Date()); +} + +/*@internal*/ +/** Performance measurements for the compiler. */ +namespace ts.performance { + declare const onProfilerEvent: { (markName: string): void; profiler: boolean; }; + + const profilerEvent = typeof onProfilerEvent === "function" && onProfilerEvent.profiler === true + ? onProfilerEvent + : (markName: string) => { }; + + let enabled = false; + let profilerStart = 0; + let counts: Map; + let marks: Map; + let measures: Map; + + /** + * Marks a performance event. + * + * @param markName The name of the mark. + */ + export function mark(markName: string) { + if (enabled) { + marks[markName] = timestamp(); + counts[markName] = (counts[markName] || 0) + 1; + profilerEvent(markName); + } + } + + /** + * Adds a performance measurement with the specified name. + * + * @param measureName The name of the performance measurement. + * @param startMarkName The name of the starting mark. If not supplied, the point at which the + * profiler was enabled is used. + * @param endMarkName The name of the ending mark. If not supplied, the current timestamp is + * used. + */ + export function measure(measureName: string, startMarkName?: string, endMarkName?: string) { + if (enabled) { + const end = endMarkName && marks[endMarkName] || timestamp(); + const start = startMarkName && marks[startMarkName] || profilerStart; + measures[measureName] = (measures[measureName] || 0) + (end - start); + } + } + + /** + * Gets the number of times a marker was encountered. + * + * @param markName The name of the mark. + */ + export function getCount(markName: string) { + return counts && counts[markName] || 0; + } + + /** + * Gets the total duration of all measurements with the supplied name. + * + * @param measureName The name of the measure whose durations should be accumulated. + */ + export function getDuration(measureName: string) { + return measures && measures[measureName] || 0; + } + + /** + * Iterate over each measure, performing some action + * + * @param cb The action to perform for each measure + */ + export function forEachMeasure(cb: (measureName: string, duration: number) => void) { + for (const key in measures) { + cb(key, measures[key]); + } + } + + /** Enables (and resets) performance measurements for the compiler. */ + export function enable() { + counts = createMap(); + marks = createMap(); + measures = createMap(); + enabled = true; + profilerStart = timestamp(); + } + + /** Disables performance measurements for the compiler. */ + export function disable() { + enabled = false; + } +} diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 206311e2f185d..767fcb488bbf9 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -3,11 +3,6 @@ /// namespace ts { - /* @internal */ export let programTime = 0; - /* @internal */ export let emitTime = 0; - /* @internal */ export let ioReadTime = 0; - /* @internal */ export let ioWriteTime = 0; - /** The version of the TypeScript compiler release */ export const version = "2.1.0"; @@ -124,49 +119,31 @@ namespace ts { } function tryReadTypesSection(packageJsonPath: string, baseDirectory: string, state: ModuleResolutionState): string { - let jsonContent: { typings?: string, types?: string, main?: string }; - try { - const jsonText = state.host.readFile(packageJsonPath); - jsonContent = jsonText ? <{ typings?: string, types?: string, main?: string }>JSON.parse(jsonText) : {}; - } - catch (e) { - // gracefully handle if readFile fails or returns not JSON - jsonContent = {}; - } - - let typesFile: string; - let fieldName: string; - // first try to read content of 'typings' section (backward compatibility) - if (jsonContent.typings) { - if (typeof jsonContent.typings === "string") { - fieldName = "typings"; - typesFile = jsonContent.typings; - } - else { - if (state.traceEnabled) { - trace(state.host, Diagnostics.Expected_type_of_0_field_in_package_json_to_be_string_got_1, "typings", typeof jsonContent.typings); + const jsonContent = readJson(packageJsonPath, state.host); + + function tryReadFromField(fieldName: string) { + if (hasProperty(jsonContent, fieldName)) { + const typesFile = (jsonContent)[fieldName]; + if (typeof typesFile === "string") { + const typesFilePath = normalizePath(combinePaths(baseDirectory, typesFile)); + if (state.traceEnabled) { + trace(state.host, Diagnostics.package_json_has_0_field_1_that_references_2, fieldName, typesFile, typesFilePath); + } + return typesFilePath; } - } - } - // then read 'types' - if (!typesFile && jsonContent.types) { - if (typeof jsonContent.types === "string") { - fieldName = "types"; - typesFile = jsonContent.types; - } - else { - if (state.traceEnabled) { - trace(state.host, Diagnostics.Expected_type_of_0_field_in_package_json_to_be_string_got_1, "types", typeof jsonContent.types); + else { + if (state.traceEnabled) { + trace(state.host, Diagnostics.Expected_type_of_0_field_in_package_json_to_be_string_got_1, fieldName, typeof typesFile); + } } } } - if (typesFile) { - const typesFilePath = normalizePath(combinePaths(baseDirectory, typesFile)); - if (state.traceEnabled) { - trace(state.host, Diagnostics.package_json_has_0_field_1_that_references_2, fieldName, typesFile, typesFilePath); - } + + const typesFilePath = tryReadFromField("typings") || tryReadFromField("types"); + if (typesFilePath) { return typesFilePath; } + // Use the main module for inferring types if no types package specified and the allowJs is set if (state.compilerOptions.allowJs && jsonContent.main && typeof jsonContent.main === "string") { if (state.traceEnabled) { @@ -178,6 +155,17 @@ namespace ts { return undefined; } + function readJson(path: string, host: ModuleResolutionHost): { typings?: string, types?: string, main?: string } { + try { + const jsonText = host.readFile(path); + return jsonText ? JSON.parse(jsonText) : {}; + } + catch (e) { + // gracefully handle if readFile fails or returns not JSON + return {}; + } + } + const typeReferenceExtensions = [".d.ts"]; function getEffectiveTypeRoots(options: CompilerOptions, host: ModuleResolutionHost) { @@ -722,7 +710,7 @@ namespace ts { } function loadNodeModuleFromDirectory(extensions: string[], candidate: string, failedLookupLocation: string[], onlyRecordFailures: boolean, state: ModuleResolutionState): string { - const packageJsonPath = combinePaths(candidate, "package.json"); + const packageJsonPath = pathToPackageJson(candidate); const directoryExists = !onlyRecordFailures && directoryProbablyExists(candidate, state.host); if (directoryExists && state.host.fileExists(packageJsonPath)) { if (state.traceEnabled) { @@ -752,6 +740,10 @@ namespace ts { return loadModuleFromFile(combinePaths(candidate, "index"), extensions, failedLookupLocation, !directoryExists, state); } + function pathToPackageJson(directory: string): string { + return combinePaths(directory, "package.json"); + } + function loadModuleFromNodeModulesFolder(moduleName: string, directory: string, failedLookupLocations: string[], state: ModuleResolutionState): string { const nodeModulesFolder = combinePaths(directory, "node_modules"); const nodeModulesFolderExists = directoryProbablyExists(nodeModulesFolder, state.host); @@ -851,7 +843,7 @@ namespace ts { } export function createCompilerHost(options: CompilerOptions, setParentNodes?: boolean): CompilerHost { - const existingDirectories: Map = {}; + const existingDirectories = createMap(); function getCanonicalFileName(fileName: string): string { // if underlying system can distinguish between two files whose names differs only in cases then file name already in canonical form. @@ -865,9 +857,10 @@ namespace ts { function getSourceFile(fileName: string, languageVersion: ScriptTarget, onError?: (message: string) => void): SourceFile { let text: string; try { - const start = new Date().getTime(); + performance.mark("beforeIORead"); text = sys.readFile(fileName, options.charset); - ioReadTime += new Date().getTime() - start; + performance.mark("afterIORead"); + performance.measure("I/O Read", "beforeIORead", "afterIORead"); } catch (e) { if (onError) { @@ -904,7 +897,7 @@ namespace ts { function writeFileIfUpdated(fileName: string, data: string, writeByteOrderMark: boolean): void { if (!outputFingerprints) { - outputFingerprints = {}; + outputFingerprints = createMap(); } const hash = sys.createHash(data); @@ -934,7 +927,7 @@ namespace ts { function writeFile(fileName: string, data: string, writeByteOrderMark: boolean, onError?: (message: string) => void) { try { - const start = new Date().getTime(); + performance.mark("beforeIOWrite"); ensureDirectoriesExist(getDirectoryPath(normalizePath(fileName))); if (isWatchSet(options) && sys.createHash && sys.getModifiedTime) { @@ -944,7 +937,8 @@ namespace ts { sys.writeFile(fileName, data, writeByteOrderMark); } - ioWriteTime += new Date().getTime() - start; + performance.mark("afterIOWrite"); + performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); } catch (e) { if (onError) { @@ -1045,7 +1039,7 @@ namespace ts { return []; } const resolutions: T[] = []; - const cache: Map = {}; + const cache = createMap(); for (const name of names) { let result: T; if (hasProperty(cache, name)) { @@ -1060,32 +1054,37 @@ namespace ts { return resolutions; } - function getInferredTypesRoot(options: CompilerOptions, rootFiles: string[], host: CompilerHost) { - return computeCommonSourceDirectoryOfFilenames(rootFiles, host.getCurrentDirectory(), f => host.getCanonicalFileName(f)); - } - /** - * Given a set of options and a set of root files, returns the set of type directive names + * Given a set of options, returns the set of type directive names * that should be included for this program automatically. * This list could either come from the config file, * or from enumerating the types root + initial secondary types lookup location. * More type directives might appear in the program later as a result of loading actual source files; * this list is only the set of defaults that are implicitly included. */ - export function getAutomaticTypeDirectiveNames(options: CompilerOptions, rootFiles: string[], host: CompilerHost): string[] { + export function getAutomaticTypeDirectiveNames(options: CompilerOptions, host: ModuleResolutionHost): string[] { // Use explicit type list from tsconfig.json if (options.types) { return options.types; } // Walk the primary type lookup locations - let result: string[] = []; + const result: string[] = []; if (host.directoryExists && host.getDirectories) { const typeRoots = getEffectiveTypeRoots(options, host); if (typeRoots) { for (const root of typeRoots) { if (host.directoryExists(root)) { - result = result.concat(host.getDirectories(root)); + for (const typeDirectivePath of host.getDirectories(root)) { + const normalized = normalizePath(typeDirectivePath); + const packageJsonPath = pathToPackageJson(combinePaths(root, normalized)); + // tslint:disable-next-line:no-null-keyword + const isNotNeededPackage = host.fileExists(packageJsonPath) && readJson(packageJsonPath, host).typings === null; + if (!isNotNeededPackage) { + // Return just the type directive names + result.push(getBaseFileName(normalized)); + } + } } } } @@ -1101,7 +1100,7 @@ namespace ts { let noDiagnosticsTypeChecker: TypeChecker; let classifiableNames: Map; - let resolvedTypeReferenceDirectives: Map = {}; + let resolvedTypeReferenceDirectives = createMap(); let fileProcessingDiagnostics = createDiagnosticCollection(); // The below settings are to track if a .js file should be add to the program if loaded via searching under node_modules. @@ -1116,12 +1115,12 @@ namespace ts { // 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. - const modulesWithElidedImports: Map = {}; + const modulesWithElidedImports = createMap(); // Track source files that are source files found by searching under node_modules, as these shouldn't be compiled. - const sourceFilesFoundSearchingNodeModules: Map = {}; + const sourceFilesFoundSearchingNodeModules = createMap(); - const start = new Date().getTime(); + performance.mark("beforeProgram"); host = host || createCompilerHost(options); @@ -1160,11 +1159,11 @@ namespace ts { forEach(rootNames, name => processRootFile(name, /*isDefaultLib*/ false)); // load type declarations specified via 'types' argument or implicitly from types/ and node_modules/@types folders - const typeReferences: string[] = getAutomaticTypeDirectiveNames(options, rootNames, host); + const typeReferences: string[] = getAutomaticTypeDirectiveNames(options, host); if (typeReferences) { - const inferredRoot = getInferredTypesRoot(options, rootNames, host); - const containingFilename = combinePaths(inferredRoot, "__inferred type names__.ts"); + // This containingFilename needs to match with the one used in managed-side + const containingFilename = combinePaths(host.getCurrentDirectory(), "__inferred type names__.ts"); const resolutions = resolveTypeReferenceDirectiveNamesWorker(typeReferences, containingFilename); for (let i = 0; i < typeReferences.length; i++) { processTypeReferenceDirective(typeReferences[i], resolutions[i]); @@ -1219,8 +1218,8 @@ namespace ts { }; verifyCompilerOptions(); - - programTime += new Date().getTime() - start; + performance.mark("afterProgram"); + performance.measure("Program", "beforeProgram", "afterProgram"); return program; @@ -1247,7 +1246,7 @@ namespace ts { if (!classifiableNames) { // Initialize a checker so that all our files are bound. getTypeChecker(); - classifiableNames = {}; + classifiableNames = createMap(); for (const sourceFile of files) { copyMap(sourceFile.classifiableNames, classifiableNames); @@ -1463,14 +1462,15 @@ namespace ts { // checked is to not pass the file to getEmitResolver. const emitResolver = getDiagnosticsProducingTypeChecker().getEmitResolver((options.outFile || options.out) ? undefined : sourceFile); - const start = new Date().getTime(); + performance.mark("beforeEmit"); const emitResult = emitFiles( emitResolver, getEmitHost(writeFileCallback), sourceFile); - emitTime += new Date().getTime() - start; + performance.mark("afterEmit"); + performance.measure("Emit", "beforeEmit", "afterEmit"); return emitResult; } @@ -2088,7 +2088,7 @@ namespace ts { function processImportedModules(file: SourceFile, basePath: string) { collectExternalModuleReferences(file); if (file.imports.length || file.moduleAugmentations.length) { - file.resolvedModules = {}; + file.resolvedModules = createMap(); const moduleNames = map(concatenate(file.imports, file.moduleAugmentations), getTextOfLiteral); const resolutions = resolveModuleNamesWorker(moduleNames, getNormalizedAbsolutePath(file.fileName, currentDirectory)); for (let i = 0; i < moduleNames.length; i++) { @@ -2205,6 +2205,9 @@ namespace ts { programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Pattern_0_can_have_at_most_one_Asterisk_character, key)); } if (isArray(options.paths[key])) { + if (options.paths[key].length === 0) { + programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Substitutions_for_pattern_0_shouldn_t_be_an_empty_array, key)); + } for (const subst of options.paths[key]) { const typeOfSubst = typeof subst; if (typeOfSubst === "string") { @@ -2257,7 +2260,7 @@ namespace ts { const languageVersion = options.target || ScriptTarget.ES3; const outFile = options.outFile || options.out; - const firstExternalModuleSourceFile = forEach(files, f => isExternalModule(f) ? f : undefined); + const firstNonAmbientExternalModuleSourceFile = forEach(files, f => isExternalModule(f) && !isDeclarationFile(f) ? f : undefined); if (options.isolatedModules) { if (options.module === ModuleKind.None && languageVersion < ScriptTarget.ES6) { programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher)); @@ -2269,10 +2272,10 @@ namespace ts { programDiagnostics.add(createFileDiagnostic(firstNonExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_namespaces_when_the_isolatedModules_flag_is_provided)); } } - else if (firstExternalModuleSourceFile && languageVersion < ScriptTarget.ES6 && options.module === ModuleKind.None) { + else if (firstNonAmbientExternalModuleSourceFile && languageVersion < ScriptTarget.ES6 && options.module === ModuleKind.None) { // We cannot use createDiagnosticFromNode because nodes do not have parents yet - const span = getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator); - programDiagnostics.add(createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)); + const span = getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); + programDiagnostics.add(createFileDiagnostic(firstNonAmbientExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_use_imports_exports_or_module_augmentations_when_module_is_none)); } // Cannot specify module gen that isn't amd or system with --out @@ -2280,9 +2283,9 @@ namespace ts { if (options.module && !(options.module === ModuleKind.AMD || options.module === ModuleKind.System)) { programDiagnostics.add(createCompilerDiagnostic(Diagnostics.Only_amd_and_system_modules_are_supported_alongside_0, options.out ? "out" : "outFile")); } - else if (options.module === undefined && firstExternalModuleSourceFile) { - const span = getErrorSpanForNode(firstExternalModuleSourceFile, firstExternalModuleSourceFile.externalModuleIndicator); - programDiagnostics.add(createFileDiagnostic(firstExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, options.out ? "out" : "outFile")); + else if (options.module === undefined && firstNonAmbientExternalModuleSourceFile) { + const span = getErrorSpanForNode(firstNonAmbientExternalModuleSourceFile, firstNonAmbientExternalModuleSourceFile.externalModuleIndicator); + programDiagnostics.add(createFileDiagnostic(firstNonAmbientExternalModuleSourceFile, span.start, span.length, Diagnostics.Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system, options.out ? "out" : "outFile")); } } diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 6dd84298008ce..134dc489b2ae8 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -55,7 +55,7 @@ namespace ts { tryScan(callback: () => T): T; } - const textToToken: Map = { + const textToToken: MapLike = { "abstract": SyntaxKind.AbstractKeyword, "any": SyntaxKind.AnyKeyword, "as": SyntaxKind.AsKeyword, @@ -271,7 +271,7 @@ namespace ts { lookupInUnicodeMap(code, unicodeES3IdentifierPart); } - function makeReverseMap(source: Map): string[] { + function makeReverseMap(source: MapLike): string[] { const result: string[] = []; for (const name in source) { if (source.hasOwnProperty(name)) { diff --git a/src/compiler/sourcemap.ts b/src/compiler/sourcemap.ts index cf7c3d1eaaea7..4046867faf108 100644 --- a/src/compiler/sourcemap.ts +++ b/src/compiler/sourcemap.ts @@ -46,6 +46,7 @@ namespace ts { export function createSourceMapWriter(host: EmitHost, writer: EmitTextWriter): SourceMapWriter { const compilerOptions = host.getCompilerOptions(); + const extendedDiagnostics = compilerOptions.extendedDiagnostics; let currentSourceFile: SourceFile; let sourceMapDir: string; // The directory in which sourcemap will be let stopOverridingSpan = false; @@ -240,6 +241,10 @@ namespace ts { return; } + if (extendedDiagnostics) { + performance.mark("beforeSourcemap"); + } + const sourceLinePos = getLineAndCharacterOfPosition(currentSourceFile, pos); // Convert the location to be one-based. @@ -279,6 +284,11 @@ namespace ts { } updateLastEncodedAndRecordedSpans(); + + if (extendedDiagnostics) { + performance.mark("afterSourcemap"); + performance.measure("Source Map", "beforeSourcemap", "afterSourcemap"); + } } function getStartPos(range: TextRange) { diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 29ae2c60af165..350d75429b754 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -233,15 +233,15 @@ namespace ts { const useNonPollingWatchers = process.env["TSC_NONPOLLING_WATCHER"]; function createWatchedFileSet() { - const dirWatchers: Map = {}; + const dirWatchers = createMap(); // One file can have multiple watchers - const fileWatcherCallbacks: Map = {}; + const fileWatcherCallbacks = createMap(); return { addFile, removeFile }; function reduceDirWatcherRefCountForFile(fileName: string) { const dirName = getDirectoryPath(fileName); - if (hasProperty(dirWatchers, dirName)) { - const watcher = dirWatchers[dirName]; + const watcher = dirWatchers[dirName]; + if (watcher) { watcher.referenceCount -= 1; if (watcher.referenceCount <= 0) { watcher.close(); @@ -251,13 +251,12 @@ namespace ts { } function addDirWatcher(dirPath: string): void { - if (hasProperty(dirWatchers, dirPath)) { - const watcher = dirWatchers[dirPath]; + let watcher = dirWatchers[dirPath]; + if (watcher) { watcher.referenceCount += 1; return; } - - const watcher: DirectoryWatcher = _fs.watch( + watcher = _fs.watch( dirPath, { persistent: true }, (eventName: string, relativeFileName: string) => fileEventHandler(eventName, relativeFileName, dirPath) @@ -268,12 +267,7 @@ namespace ts { } function addFileWatcherCallback(filePath: string, callback: FileWatcherCallback): void { - if (hasProperty(fileWatcherCallbacks, filePath)) { - fileWatcherCallbacks[filePath].push(callback); - } - else { - fileWatcherCallbacks[filePath] = [callback]; - } + (fileWatcherCallbacks[filePath] || (fileWatcherCallbacks[filePath] = [])).push(callback); } function addFile(fileName: string, callback: FileWatcherCallback): WatchedFile { @@ -289,8 +283,9 @@ namespace ts { } function removeFileWatcherCallback(filePath: string, callback: FileWatcherCallback) { - if (hasProperty(fileWatcherCallbacks, filePath)) { - const newCallbacks = copyListRemovingItem(callback, fileWatcherCallbacks[filePath]); + const callbacks = fileWatcherCallbacks[filePath]; + if (callbacks) { + const newCallbacks = copyListRemovingItem(callback, callbacks); if (newCallbacks.length === 0) { delete fileWatcherCallbacks[filePath]; } @@ -306,7 +301,7 @@ namespace ts { ? undefined : ts.getNormalizedAbsolutePath(relativeFileName, baseDirPath); // Some applications save a working file via rename operations - if ((eventName === "change" || eventName === "rename") && hasProperty(fileWatcherCallbacks, fileName)) { + if ((eventName === "change" || eventName === "rename") && fileWatcherCallbacks[fileName]) { for (const fileCallback of fileWatcherCallbacks[fileName]) { fileCallback(fileName); } diff --git a/src/compiler/tsc.ts b/src/compiler/tsc.ts index 242d24caf3c19..3b588edd101ca 100644 --- a/src/compiler/tsc.ts +++ b/src/compiler/tsc.ts @@ -122,7 +122,7 @@ namespace ts { const gutterSeparator = " "; const resetEscapeSequence = "\u001b[0m"; const ellipsis = "..."; - const categoryFormatMap: Map = { + const categoryFormatMap: MapLike = { [DiagnosticCategory.Warning]: yellowForegroundEscapeSequence, [DiagnosticCategory.Error]: redForegroundEscapeSequence, [DiagnosticCategory.Message]: blueForegroundEscapeSequence, @@ -432,7 +432,7 @@ namespace ts { } // reset the cache of existing files - cachedExistingFiles = {}; + cachedExistingFiles = createMap(); const compileResult = compile(rootFileNames, compilerOptions, compilerHost); @@ -550,12 +550,8 @@ namespace ts { } function compile(fileNames: string[], compilerOptions: CompilerOptions, compilerHost: CompilerHost) { - ioReadTime = 0; - ioWriteTime = 0; - programTime = 0; - bindTime = 0; - checkTime = 0; - emitTime = 0; + const hasDiagnostics = compilerOptions.diagnostics || compilerOptions.extendedDiagnostics; + if (hasDiagnostics) performance.enable(); const program = createProgram(fileNames, compilerOptions, compilerHost); const exitStatus = compileProgram(); @@ -566,7 +562,7 @@ namespace ts { }); } - if (compilerOptions.diagnostics) { + if (hasDiagnostics) { const memoryUsed = sys.getMemoryUsage ? sys.getMemoryUsage() : -1; reportCountStatistic("Files", program.getSourceFiles().length); reportCountStatistic("Lines", countLines(program)); @@ -579,17 +575,28 @@ namespace ts { reportStatisticalValue("Memory used", Math.round(memoryUsed / 1000) + "K"); } - // Individual component times. - // Note: To match the behavior of previous versions of the compiler, the reported parse time includes - // I/O read time and processing time for triple-slash references and module imports, and the reported - // emit time includes I/O write time. We preserve this behavior so we can accurately compare times. - reportTimeStatistic("I/O read", ioReadTime); - reportTimeStatistic("I/O write", ioWriteTime); - reportTimeStatistic("Parse time", programTime); - reportTimeStatistic("Bind time", bindTime); - reportTimeStatistic("Check time", checkTime); - reportTimeStatistic("Emit time", emitTime); + const programTime = performance.getDuration("Program"); + const bindTime = performance.getDuration("Bind"); + const checkTime = performance.getDuration("Check"); + const emitTime = performance.getDuration("Emit"); + if (compilerOptions.extendedDiagnostics) { + performance.forEachMeasure((name, duration) => reportTimeStatistic(`${name} time`, duration)); + } + else { + // Individual component times. + // Note: To match the behavior of previous versions of the compiler, the reported parse time includes + // I/O read time and processing time for triple-slash references and module imports, and the reported + // emit time includes I/O write time. We preserve this behavior so we can accurately compare times. + reportTimeStatistic("I/O read", performance.getDuration("I/O Read")); + reportTimeStatistic("I/O write", performance.getDuration("I/O Write")); + reportTimeStatistic("Parse time", programTime); + reportTimeStatistic("Bind time", bindTime); + reportTimeStatistic("Check time", checkTime); + reportTimeStatistic("Emit time", emitTime); + } reportTimeStatistic("Total time", programTime + bindTime + checkTime + emitTime); + + performance.disable(); } return { program, exitStatus }; @@ -669,7 +676,7 @@ namespace ts { const usageColumn: string[] = []; // Things like "-d, --declaration" go in here. const descriptionColumn: string[] = []; - const optionsDescriptionMap: Map = {}; // Map between option.description and list of option.type if it is a kind + const optionsDescriptionMap = createMap(); // Map between option.description and list of option.type if it is a kind for (let i = 0; i < optsList.length; i++) { const option = optsList[i]; @@ -779,7 +786,7 @@ namespace ts { return; function serializeCompilerOptions(options: CompilerOptions): Map { - const result: Map = {}; + const result = createMap(); const optionsNameMap = getOptionNameMap().optionNameMap; for (const name in options) { diff --git a/src/compiler/tsconfig.json b/src/compiler/tsconfig.json index 827a9b81c4d87..cc9bfddcece78 100644 --- a/src/compiler/tsconfig.json +++ b/src/compiler/tsconfig.json @@ -12,6 +12,7 @@ }, "files": [ "core.ts", + "performance.ts", "sys.ts", "types.ts", "scanner.ts", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index de4f6bc526c7b..d144c984a3fc2 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1,9 +1,13 @@ - namespace ts { - export interface Map { + + export interface MapLike { [index: string]: T; } + export interface Map extends MapLike { + __mapBrand: any; + } + // branded string type used to store absolute, normalized and canonicalized paths // arbitrary file name can be converted to Path via toPath function export type Path = string & { __pathBrand: any }; @@ -210,7 +214,7 @@ namespace ts { IntersectionType, ParenthesizedType, ThisType, - StringLiteralType, + LiteralType, // Binding patterns ObjectBindingPattern, ArrayBindingPattern, @@ -361,7 +365,7 @@ namespace ts { FirstFutureReservedWord = ImplementsKeyword, LastFutureReservedWord = YieldKeyword, FirstTypeNode = TypePredicate, - LastTypeNode = StringLiteralType, + LastTypeNode = LiteralType, FirstPunctuation = OpenBraceToken, LastPunctuation = CaretEqualsToken, FirstToken = Unknown, @@ -794,8 +798,9 @@ namespace ts { } // @kind(SyntaxKind.StringLiteralType) - export interface StringLiteralTypeNode extends LiteralLikeNode, TypeNode { + export interface LiteralTypeNode extends TypeNode { _stringLiteralTypeBrand: any; + literal: Expression; } // @kind(SyntaxKind.StringLiteral) @@ -981,13 +986,19 @@ namespace ts { multiLine?: boolean; } + export type EntityNameExpression = Identifier | PropertyAccessEntityNameExpression; + export type EntityNameOrEntityNameExpression = EntityName | EntityNameExpression; + // @kind(SyntaxKind.PropertyAccessExpression) export interface PropertyAccessExpression extends MemberExpression, Declaration { expression: LeftHandSideExpression; name: Identifier; } - - export type IdentifierOrPropertyAccess = Identifier | PropertyAccessExpression; + /** Brand for a PropertyAccessExpression which, like a QualifiedName, consists of a sequence of identifiers separated by dots. */ + export interface PropertyAccessEntityNameExpression extends PropertyAccessExpression { + _propertyAccessExpressionLikeQualifiedNameBrand?: any; + expression: EntityNameExpression; + } // @kind(SyntaxKind.ElementAccessExpression) export interface ElementAccessExpression extends MemberExpression { @@ -1605,6 +1616,16 @@ namespace ts { antecedent: FlowNode; } + export type FlowType = Type | IncompleteType; + + // Incomplete types occur during control flow analysis of loops. An IncompleteType + // is distinguished from a regular type by a flags value of zero. Incomplete type + // objects are internal to the getFlowTypeOfRefecence function and never escape it. + export interface IncompleteType { + flags: TypeFlags; // No flags set + type: Type; // The type marked incomplete + } + export interface AmdDependency { path: string; name: string; @@ -1629,7 +1650,7 @@ namespace ts { // this map is used by transpiler to supply alternative names for dependencies (i.e. in case of bundling) /* @internal */ - renamedDependencies?: Map; + renamedDependencies?: MapLike; /** * lib.d.ts should have a reference comment like @@ -1916,6 +1937,7 @@ namespace ts { InElementType = 0x00000040, // Writing an array or union element type UseFullyQualifiedType = 0x00000080, // Write out the fully qualified type name (eg. Module.Type, instead of Type) InFirstTypeArgument = 0x00000100, // Writing first type argument of the instantiated type + InTypeAlias = 0x00000200, // Writing type in type alias declaration } export const enum SymbolFormatFlags { @@ -2019,7 +2041,7 @@ namespace ts { writeTypeOfExpression(expr: Expression, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; writeBaseConstructorTypeOfClass(node: ClassLikeDeclaration, enclosingDeclaration: Node, flags: TypeFormatFlags, writer: SymbolWriter): void; isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node, meaning: SymbolFlags): SymbolAccessibilityResult; - isEntityNameVisible(entityName: EntityName | Expression, enclosingDeclaration: Node): SymbolVisibilityResult; + isEntityNameVisible(entityName: EntityNameOrEntityNameExpression, enclosingDeclaration: Node): SymbolVisibilityResult; // Returns the constant value this property access resolves to, or 'undefined' for a non-constant getConstantValue(node: EnumMember | PropertyAccessExpression | ElementAccessExpression): number; getReferencedValueDeclaration(reference: Identifier): Declaration; @@ -2028,7 +2050,7 @@ namespace ts { moduleExportsSomeValue(moduleReferenceExpression: Expression): boolean; isArgumentsLocalBinding(node: Identifier): boolean; getExternalModuleFileFromDeclaration(declaration: ImportEqualsDeclaration | ImportDeclaration | ExportDeclaration | ModuleDeclaration): SourceFile; - getTypeReferenceDirectivesForEntityName(name: EntityName | PropertyAccessExpression): string[]; + getTypeReferenceDirectivesForEntityName(name: EntityNameOrEntityNameExpression): string[]; getTypeReferenceDirectivesForSymbol(symbol: Symbol, meaning?: SymbolFlags): string[]; } @@ -2069,8 +2091,8 @@ namespace ts { Enum = RegularEnum | ConstEnum, Variable = FunctionScopedVariable | BlockScopedVariable, Value = Variable | Property | EnumMember | Function | Class | Enum | ValueModule | Method | GetAccessor | SetAccessor, - Type = Class | Interface | Enum | TypeLiteral | ObjectLiteral | TypeParameter | TypeAlias, - Namespace = ValueModule | NamespaceModule, + Type = Class | Interface | Enum | EnumMember | TypeLiteral | ObjectLiteral | TypeParameter | TypeAlias, + Namespace = ValueModule | NamespaceModule | Enum, Module = ValueModule | NamespaceModule, Accessor = GetAccessor | SetAccessor, @@ -2084,7 +2106,7 @@ namespace ts { ParameterExcludes = Value, PropertyExcludes = None, - EnumMemberExcludes = Value, + EnumMemberExcludes = Value | Type, FunctionExcludes = Value & ~(Function | ValueModule), ClassExcludes = (Value | Type) & ~(ValueModule | Interface), // class-interface mergability done in checker.ts InterfaceExcludes = Type & ~(Interface | Class), @@ -2148,6 +2170,8 @@ namespace ts { mapper?: TypeMapper; // Type mapper for instantiation alias referenced?: boolean; // True if alias symbol has been referenced as a value containingType?: UnionOrIntersectionType; // Containing union or intersection type for synthetic property + hasCommonType?: boolean; // True if constituents of synthetic property all have same type + isDiscriminantProperty?: boolean; // True if discriminant synthetic property resolvedExports?: SymbolTable; // Resolved exports of module exportsChecked?: boolean; // True if exports of external module have been checked isDeclarationWithCollidingName?: boolean; // True if symbol is block scoped redeclaration @@ -2158,9 +2182,7 @@ namespace ts { /* @internal */ export interface TransientSymbol extends Symbol, SymbolLinks { } - export interface SymbolTable { - [index: string]: Symbol; - } + export type SymbolTable = Map; /** Represents a "prefix*suffix" pattern. */ /* @internal */ @@ -2215,57 +2237,65 @@ namespace ts { } export const enum TypeFlags { - Any = 0x00000001, - String = 0x00000002, - Number = 0x00000004, - Boolean = 0x00000008, - Void = 0x00000010, - Undefined = 0x00000020, - Null = 0x00000040, - Enum = 0x00000080, // Enum type - StringLiteral = 0x00000100, // String literal type - TypeParameter = 0x00000200, // Type parameter - Class = 0x00000400, // Class - Interface = 0x00000800, // Interface - Reference = 0x00001000, // Generic type reference - Tuple = 0x00002000, // Tuple - Union = 0x00004000, // Union (T | U) - Intersection = 0x00008000, // Intersection (T & U) - Anonymous = 0x00010000, // Anonymous - Instantiated = 0x00020000, // Instantiated anonymous type + Any = 1 << 0, + String = 1 << 1, + Number = 1 << 2, + Boolean = 1 << 3, + Enum = 1 << 4, + StringLiteral = 1 << 5, + NumberLiteral = 1 << 6, + BooleanLiteral = 1 << 7, + EnumLiteral = 1 << 8, + ESSymbol = 1 << 9, // Type of symbol primitive introduced in ES6 + Void = 1 << 10, + Undefined = 1 << 11, + Null = 1 << 12, + Never = 1 << 13, // Never type + TypeParameter = 1 << 14, // Type parameter + Class = 1 << 15, // Class + Interface = 1 << 16, // Interface + Reference = 1 << 17, // Generic type reference + Tuple = 1 << 18, // Tuple + Union = 1 << 19, // Union (T | U) + Intersection = 1 << 20, // Intersection (T & U) + Anonymous = 1 << 21, // Anonymous + Instantiated = 1 << 22, // Instantiated anonymous type /* @internal */ - FromSignature = 0x00040000, // Created for signature assignment check - ObjectLiteral = 0x00080000, // Originates in an object literal + ObjectLiteral = 1 << 23, // Originates in an object literal /* @internal */ - FreshObjectLiteral = 0x00100000, // Fresh object literal type + FreshObjectLiteral = 1 << 24, // Fresh object literal type /* @internal */ - ContainsWideningType = 0x00200000, // Type is or contains undefined or null widening type + ContainsWideningType = 1 << 25, // Type is or contains undefined or null widening type /* @internal */ - ContainsObjectLiteral = 0x00400000, // Type is or contains object literal type + ContainsObjectLiteral = 1 << 26, // Type is or contains object literal type /* @internal */ - ContainsAnyFunctionType = 0x00800000, // Type is or contains object literal type - ESSymbol = 0x01000000, // Type of symbol primitive introduced in ES6 - ThisType = 0x02000000, // This type - ObjectLiteralPatternWithComputedProperties = 0x04000000, // Object literal type implied by binding pattern has computed properties - Never = 0x08000000, // Never type + ContainsAnyFunctionType = 1 << 27, // Type is or contains object literal type + ThisType = 1 << 28, // This type + ObjectLiteralPatternWithComputedProperties = 1 << 29, // Object literal type implied by binding pattern has computed properties /* @internal */ Nullable = Undefined | Null, + Literal = StringLiteral | NumberLiteral | BooleanLiteral | EnumLiteral, /* @internal */ - Falsy = Void | Undefined | Null, // TODO: Add false, 0, and "" + DefinitelyFalsy = StringLiteral | NumberLiteral | BooleanLiteral | Void | Undefined | Null, + PossiblyFalsy = DefinitelyFalsy | String | Number | Boolean, /* @internal */ - Intrinsic = Any | String | Number | Boolean | ESSymbol | Void | Undefined | Null | Never, + Intrinsic = Any | String | Number | Boolean | BooleanLiteral | ESSymbol | Void | Undefined | Null | Never, /* @internal */ - Primitive = String | Number | Boolean | ESSymbol | Void | Undefined | Null | StringLiteral | Enum, + Primitive = String | Number | Boolean | Enum | ESSymbol | Void | Undefined | Null | Literal, StringLike = String | StringLiteral, - NumberLike = Number | Enum, + NumberLike = Number | NumberLiteral | Enum | EnumLiteral, + BooleanLike = Boolean | BooleanLiteral, + EnumLike = Enum | EnumLiteral, ObjectType = Class | Interface | Reference | Tuple | Anonymous, UnionOrIntersection = Union | Intersection, StructuredType = ObjectType | Union | Intersection, + StructuredOrTypeParameter = StructuredType | TypeParameter, // 'Narrowable' types are types where narrowing actually narrows. // This *should* be every type other than null, undefined, void, and never - Narrowable = Any | StructuredType | TypeParameter | StringLike | NumberLike | Boolean | ESSymbol, + Narrowable = Any | StructuredType | TypeParameter | StringLike | NumberLike | BooleanLike | ESSymbol, + NotUnionOrUnit = Any | String | Number | ESSymbol | ObjectType, /* @internal */ RequiresWidening = ContainsWideningType | ContainsObjectLiteral, /* @internal */ @@ -2280,6 +2310,8 @@ namespace ts { /* @internal */ id: number; // Unique ID symbol?: Symbol; // Symbol associated with type (if any) pattern?: DestructuringPattern; // Destructuring pattern represented by type (if any) + aliasSymbol?: Symbol; // Alias associated with type + aliasTypeArguments?: Type[]; // Alias type arguments (if any) } /* @internal */ @@ -2289,10 +2321,20 @@ namespace ts { } // String literal types (TypeFlags.StringLiteral) - export interface StringLiteralType extends Type { + export interface LiteralType extends Type { text: string; // Text of string literal } + // Enum types (TypeFlags.Enum) + export interface EnumType extends Type { + memberTypes: Map; + } + + // Enum types (TypeFlags.EnumLiteral) + export interface EnumLiteralType extends LiteralType { + baseType: EnumType & UnionType; + } + // Object types (TypeFlags.ObjectType) export interface ObjectType extends Type { } @@ -2337,14 +2379,15 @@ namespace ts { export interface TupleType extends ObjectType { elementTypes: Type[]; // Element types + thisType?: Type; // This-type of tuple (only needed for tuples that are constraints of type parameters) } export interface UnionOrIntersectionType extends Type { types: Type[]; // Constituent types /* @internal */ - reducedType: Type; // Reduced union type (all subtypes removed) - /* @internal */ resolvedProperties: SymbolTable; // Cache of resolved properties + /* @internal */ + couldContainTypeParameters: boolean; } export interface UnionType extends UnionOrIntersectionType { } @@ -2413,7 +2456,7 @@ namespace ts { /* @internal */ hasRestParameter: boolean; // True if last parameter is rest parameter /* @internal */ - hasStringLiterals: boolean; // True if specialized + hasLiteralTypes: boolean; // True if specialized /* @internal */ target?: Signature; // Instantiation target /* @internal */ @@ -2443,6 +2486,7 @@ namespace ts { export interface TypeMapper { (t: TypeParameter): Type; mappedTypes?: Type[]; // Types mapped by this mapper + targetTypes?: Type[]; // Types substituted for mapped types instantiations?: Type[]; // Cache of instantiations created using this type mapper. context?: InferenceContext; // The inference context this mapper was created from. // Only inference mappers have this set (in createInferenceMapper). @@ -2522,7 +2566,7 @@ namespace ts { } export type RootPaths = string[]; - export type PathSubstitutions = Map; + export type PathSubstitutions = MapLike; export type TsConfigOnlyOptions = RootPaths | PathSubstitutions; export type CompilerOptionsValue = string | number | boolean | (string | number)[] | TsConfigOnlyOptions; @@ -2539,6 +2583,7 @@ namespace ts { declaration?: boolean; declarationDir?: string; /* @internal */ diagnostics?: boolean; + /* @internal */ extendedDiagnostics?: boolean; disableSizeLimit?: boolean; emitBOM?: boolean; emitDecoratorMetadata?: boolean; @@ -2681,7 +2726,7 @@ namespace ts { fileNames: string[]; raw?: any; errors: Diagnostic[]; - wildcardDirectories?: Map; + wildcardDirectories?: MapLike; } export const enum WatchDirectoryFlags { @@ -2691,13 +2736,13 @@ namespace ts { export interface ExpandResult { fileNames: string[]; - wildcardDirectories: Map; + wildcardDirectories: MapLike; } /* @internal */ export interface CommandLineOptionBase { name: string; - type: "string" | "number" | "boolean" | "object" | "list" | Map; // a value of a primitive type, or an object literal mapping named values to actual values + type: "string" | "number" | "boolean" | "object" | "list" | MapLike; // a value of a primitive type, or an object literal mapping named values to actual values isFilePath?: boolean; // True if option value is a path or fileName shortName?: string; // A short mnemonic for convenience - for instance, 'h' can be used in place of 'help' description?: DiagnosticMessage; // The message describing what the command line switch does @@ -2713,7 +2758,7 @@ namespace ts { /* @internal */ export interface CommandLineOptionOfCustomType extends CommandLineOptionBase { - type: Map; // an object literal mapping named values to actual values + type: MapLike; // an object literal mapping named values to actual values } /* @internal */ @@ -2876,6 +2921,7 @@ namespace ts { directoryExists?(directoryName: string): boolean; realpath?(path: string): string; getCurrentDirectory?(): string; + getDirectories?(path: string): string[]; } export interface ResolvedModule { @@ -2912,7 +2958,6 @@ namespace ts { getCancellationToken?(): CancellationToken; getDefaultLibFileName(options: CompilerOptions): string; getDefaultLibLocation?(): string; - getDefaultTypeDirectiveNames?(rootPath: string): string[]; writeFile: WriteFileCallback; getCurrentDirectory(): string; getDirectories(path: string): string[]; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 7219a5bbd24ab..fcda8f0ce1a57 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -87,14 +87,14 @@ namespace ts { return node.end - node.pos; } - export function mapIsEqualTo(map1: Map, map2: Map): boolean { + export function mapIsEqualTo(map1: MapLike, map2: MapLike): boolean { if (!map1 || !map2) { return map1 === map2; } return containsAll(map1, map2) && containsAll(map2, map1); } - function containsAll(map: Map, other: Map): boolean { + function containsAll(map: MapLike, other: MapLike): boolean { for (const key in map) { if (!hasProperty(map, key)) { continue; @@ -126,7 +126,7 @@ namespace ts { } export function hasResolvedModule(sourceFile: SourceFile, moduleNameText: string): boolean { - return sourceFile.resolvedModules && hasProperty(sourceFile.resolvedModules, moduleNameText); + return !!(sourceFile.resolvedModules && sourceFile.resolvedModules[moduleNameText]); } export function getResolvedModule(sourceFile: SourceFile, moduleNameText: string): ResolvedModule { @@ -135,7 +135,7 @@ namespace ts { export function setResolvedModule(sourceFile: SourceFile, moduleNameText: string, resolvedModule: ResolvedModule): void { if (!sourceFile.resolvedModules) { - sourceFile.resolvedModules = {}; + sourceFile.resolvedModules = createMap(); } sourceFile.resolvedModules[moduleNameText] = resolvedModule; @@ -143,7 +143,7 @@ namespace ts { export function setResolvedTypeReferenceDirective(sourceFile: SourceFile, typeReferenceDirectiveName: string, resolvedTypeReferenceDirective: ResolvedTypeReferenceDirective): void { if (!sourceFile.resolvedTypeReferenceDirectiveNames) { - sourceFile.resolvedTypeReferenceDirectiveNames = {}; + sourceFile.resolvedTypeReferenceDirectiveNames = createMap(); } sourceFile.resolvedTypeReferenceDirectiveNames[typeReferenceDirectiveName] = resolvedTypeReferenceDirective; @@ -166,7 +166,7 @@ namespace ts { } for (let i = 0; i < names.length; i++) { const newResolution = newResolutions[i]; - const oldResolution = oldResolutions && hasProperty(oldResolutions, names[i]) ? oldResolutions[names[i]] : undefined; + const oldResolution = oldResolutions && oldResolutions[names[i]]; const changed = oldResolution ? !newResolution || !comparer(oldResolution, newResolution) @@ -1033,14 +1033,14 @@ namespace ts { && (node).expression.kind === SyntaxKind.SuperKeyword; } - - export function getEntityNameFromTypeNode(node: TypeNode): EntityName | Expression { + export function getEntityNameFromTypeNode(node: TypeNode): EntityNameOrEntityNameExpression { if (node) { switch (node.kind) { case SyntaxKind.TypeReference: return (node).typeName; case SyntaxKind.ExpressionWithTypeArguments: - return (node).expression; + Debug.assert(isEntityNameExpression((node).expression)); + return (node).expression; case SyntaxKind.Identifier: case SyntaxKind.QualifiedName: return (node); @@ -1523,7 +1523,7 @@ namespace ts { continue; } return parent.kind === SyntaxKind.BinaryExpression && - (parent).operatorToken.kind === SyntaxKind.EqualsToken && + isAssignmentOperator((parent).operatorToken.kind) && (parent).left === node || (parent.kind === SyntaxKind.ForInStatement || parent.kind === SyntaxKind.ForOfStatement) && (parent).initializer === node; @@ -1569,6 +1569,7 @@ namespace ts { case SyntaxKind.MethodSignature: case SyntaxKind.ModuleDeclaration: case SyntaxKind.NamespaceImport: + case SyntaxKind.NamespaceExportDeclaration: case SyntaxKind.Parameter: case SyntaxKind.PropertyAssignment: case SyntaxKind.PropertyDeclaration: @@ -1693,8 +1694,8 @@ namespace ts { // import * as from ... // import { x as } from ... // export { x as } from ... - // export = ... - // export default ... + // export = + // export default export function isAliasSymbolDeclaration(node: Node): boolean { return node.kind === SyntaxKind.ImportEqualsDeclaration || node.kind === SyntaxKind.NamespaceExportDeclaration || @@ -1702,7 +1703,11 @@ namespace ts { node.kind === SyntaxKind.NamespaceImport || node.kind === SyntaxKind.ImportSpecifier || node.kind === SyntaxKind.ExportSpecifier || - node.kind === SyntaxKind.ExportAssignment && (node).expression.kind === SyntaxKind.Identifier; + node.kind === SyntaxKind.ExportAssignment && exportAssignmentIsAlias(node); + } + + export function exportAssignmentIsAlias(node: ExportAssignment): boolean { + return isEntityNameExpression(node.expression); } export function getClassExtendsHeritageClauseElement(node: ClassLikeDeclaration | InterfaceDeclaration) { @@ -1965,7 +1970,7 @@ namespace ts { export function createDiagnosticCollection(): DiagnosticCollection { let nonFileDiagnostics: Diagnostic[] = []; - const fileDiagnostics: Map = {}; + const fileDiagnostics = createMap(); let diagnosticsModified = false; let modificationCount = 0; @@ -1983,12 +1988,11 @@ namespace ts { } function reattachFileDiagnostics(newFile: SourceFile): void { - if (!hasProperty(fileDiagnostics, newFile.fileName)) { - return; - } - - for (const diagnostic of fileDiagnostics[newFile.fileName]) { - diagnostic.file = newFile; + const diagnostics = fileDiagnostics[newFile.fileName]; + if (diagnostics) { + for (const diagnostic of diagnostics) { + diagnostic.file = newFile; + } } } @@ -2029,9 +2033,7 @@ namespace ts { forEach(nonFileDiagnostics, pushDiagnostic); for (const key in fileDiagnostics) { - if (hasProperty(fileDiagnostics, key)) { - forEach(fileDiagnostics[key], pushDiagnostic); - } + forEach(fileDiagnostics[key], pushDiagnostic); } return sortAndDeduplicateDiagnostics(allDiagnostics); @@ -2046,9 +2048,7 @@ namespace ts { nonFileDiagnostics = sortAndDeduplicateDiagnostics(nonFileDiagnostics); for (const key in fileDiagnostics) { - if (hasProperty(fileDiagnostics, key)) { - fileDiagnostics[key] = sortAndDeduplicateDiagnostics(fileDiagnostics[key]); - } + fileDiagnostics[key] = sortAndDeduplicateDiagnostics(fileDiagnostics[key]); } } } @@ -2059,7 +2059,7 @@ namespace ts { // the map below must be updated. Note that this regexp *does not* include the 'delete' character. // There is no reason for this other than that JSON.stringify does not handle it either. const escapedCharsRegExp = /[\\\"\u0000-\u001f\t\v\f\b\r\n\u2028\u2029\u0085]/g; - const escapedCharsMap: Map = { + const escapedCharsMap: MapLike = { "\0": "\\0", "\t": "\\t", "\v": "\\v", @@ -2680,22 +2680,9 @@ namespace ts { isClassLike(node.parent.parent); } - // Returns false if this heritage clause element's expression contains something unsupported - // (i.e. not a name or dotted name). - export function isSupportedExpressionWithTypeArguments(node: ExpressionWithTypeArguments): boolean { - return isSupportedExpressionWithTypeArgumentsRest(node.expression); - } - - function isSupportedExpressionWithTypeArgumentsRest(node: Expression): boolean { - if (node.kind === SyntaxKind.Identifier) { - return true; - } - else if (isPropertyAccessExpression(node)) { - return isSupportedExpressionWithTypeArgumentsRest(node.expression); - } - else { - return false; - } + export function isEntityNameExpression(node: Expression): node is EntityNameExpression { + return node.kind === SyntaxKind.Identifier || + node.kind === SyntaxKind.PropertyAccessExpression && isEntityNameExpression((node).expression); } export function isRightSideOfQualifiedNameOrPropertyAccess(node: Node) { diff --git a/src/harness/compilerRunner.ts b/src/harness/compilerRunner.ts index ecdc18394b079..fe8986984d39b 100644 --- a/src/harness/compilerRunner.ts +++ b/src/harness/compilerRunner.ts @@ -52,7 +52,7 @@ class CompilerBaselineRunner extends RunnerBase { private makeUnitName(name: string, root: string) { const path = ts.toPath(name, root, (fileName) => Harness.Compiler.getCanonicalFileName(fileName)); const pathStart = ts.toPath(Harness.IO.getCurrentDirectory(), "", (fileName) => Harness.Compiler.getCanonicalFileName(fileName)); - return path.replace(pathStart, "/"); + return pathStart ? path.replace(pathStart, "/") : path; }; public checkTestCodeOutput(fileName: string) { @@ -291,8 +291,8 @@ class CompilerBaselineRunner extends RunnerBase { const fullWalker = new TypeWriterWalker(program, /*fullTypeCheck*/ true); - const fullResults: ts.Map = {}; - const pullResults: ts.Map = {}; + const fullResults: ts.MapLike = {}; + const pullResults: ts.MapLike = {}; for (const sourceFile of allFiles) { fullResults[sourceFile.unitName] = fullWalker.getTypeAndSymbols(sourceFile.unitName); @@ -338,7 +338,7 @@ class CompilerBaselineRunner extends RunnerBase { } } - function generateBaseLine(typeWriterResults: ts.Map, isSymbolBaseline: boolean): string { + function generateBaseLine(typeWriterResults: ts.MapLike, isSymbolBaseline: boolean): string { const typeLines: string[] = []; const typeMap: { [fileName: string]: { [lineNum: number]: string[]; } } = {}; diff --git a/src/harness/fourslash.ts b/src/harness/fourslash.ts index a42abbbc60909..733fbfa260c18 100644 --- a/src/harness/fourslash.ts +++ b/src/harness/fourslash.ts @@ -95,7 +95,7 @@ namespace FourSlash { export import IndentStyle = ts.IndentStyle; - const entityMap: ts.Map = { + const entityMap: ts.MapLike = { "&": "&", "\"": """, "'": "'", @@ -204,7 +204,7 @@ namespace FourSlash { public formatCodeOptions: ts.FormatCodeOptions; - private inputFiles: ts.Map = {}; // Map between inputFile's fileName and its content for easily looking up when resolving references + private inputFiles: ts.MapLike = {}; // Map between inputFile's fileName and its content for easily looking up when resolving references // Add input file which has matched file name with the given reference-file path. // This is necessary when resolveReference flag is specified @@ -249,6 +249,7 @@ namespace FourSlash { if (compilationOptions.typeRoots) { compilationOptions.typeRoots = compilationOptions.typeRoots.map(p => ts.getNormalizedAbsolutePath(p, this.basePath)); } + compilationOptions.skipDefaultLibCheck = true; const languageServiceAdapter = this.getLanguageServiceAdapter(testType, this.cancellationToken, compilationOptions); this.languageServiceAdapterHost = languageServiceAdapter.getHost(); @@ -376,7 +377,7 @@ namespace FourSlash { public verifyErrorExistsBetweenMarkers(startMarkerName: string, endMarkerName: string, negative: boolean) { const startMarker = this.getMarkerByName(startMarkerName); const endMarker = this.getMarkerByName(endMarkerName); - const predicate = function (errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { + const predicate = function(errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { return ((errorMinChar === startPos) && (errorLimChar === endPos)) ? true : false; }; @@ -428,12 +429,12 @@ namespace FourSlash { let predicate: (errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) => boolean; if (after) { - predicate = function (errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { + predicate = function(errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { return ((errorMinChar >= startPos) && (errorLimChar >= startPos)) ? true : false; }; } else { - predicate = function (errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { + predicate = function(errorMinChar: number, errorLimChar: number, startPos: number, endPos: number) { return ((errorMinChar <= startPos) && (errorLimChar <= startPos)) ? true : false; }; } @@ -458,7 +459,7 @@ namespace FourSlash { endPos = endMarker.position; } - errors.forEach(function (error: ts.Diagnostic) { + errors.forEach(function(error: ts.Diagnostic) { if (predicate(error.start, error.start + error.length, startPos, endPos)) { exists = true; } @@ -475,7 +476,7 @@ namespace FourSlash { Harness.IO.log("Unexpected error(s) found. Error list is:"); } - errors.forEach(function (error: ts.Diagnostic) { + errors.forEach(function(error: ts.Diagnostic) { Harness.IO.log(" minChar: " + error.start + ", limChar: " + (error.start + error.length) + ", message: " + ts.flattenDiagnosticMessageText(error.messageText, Harness.IO.newLine()) + "\n"); @@ -593,7 +594,7 @@ namespace FourSlash { public noItemsWithSameNameButDifferentKind(): void { const completions = this.getCompletionListAtCaret(); - const uniqueItems: ts.Map = {}; + const uniqueItems: ts.MapLike = {}; for (const item of completions.entries) { if (!ts.hasProperty(uniqueItems, item.name)) { uniqueItems[item.name] = item.kind; @@ -1348,14 +1349,7 @@ namespace FourSlash { } // Enters lines of text at the current caret position - public type(text: string) { - return this.typeHighFidelity(text); - } - - // Enters lines of text at the current caret position, invoking - // language service APIs to mimic Visual Studio's behavior - // as much as possible - private typeHighFidelity(text: string) { + public type(text: string, highFidelity = false) { let offset = this.currentCaretPosition; const prevChar = " "; const checkCadence = (text.length >> 2) + 1; @@ -1364,24 +1358,26 @@ namespace FourSlash { // Make the edit const ch = text.charAt(i); this.languageServiceAdapterHost.editScript(this.activeFile.fileName, offset, offset, ch); - this.languageService.getBraceMatchingAtPosition(this.activeFile.fileName, offset); + if (highFidelity) { + this.languageService.getBraceMatchingAtPosition(this.activeFile.fileName, offset); + } this.updateMarkersForEdit(this.activeFile.fileName, offset, offset, ch); offset++; - if (ch === "(" || ch === ",") { - /* Signature help*/ - this.languageService.getSignatureHelpItems(this.activeFile.fileName, offset); - } - else if (prevChar === " " && /A-Za-z_/.test(ch)) { - /* Completions */ - this.languageService.getCompletionsAtPosition(this.activeFile.fileName, offset); - } + if (highFidelity) { + if (ch === "(" || ch === ",") { + /* Signature help*/ + this.languageService.getSignatureHelpItems(this.activeFile.fileName, offset); + } + else if (prevChar === " " && /A-Za-z_/.test(ch)) { + /* Completions */ + this.languageService.getCompletionsAtPosition(this.activeFile.fileName, offset); + } - if (i % checkCadence === 0) { - this.checkPostEditInvariants(); - // this.languageService.getSyntacticDiagnostics(this.activeFile.fileName); - // this.languageService.getSemanticDiagnostics(this.activeFile.fileName); + if (i % checkCadence === 0) { + this.checkPostEditInvariants(); + } } // Handle post-keystroke formatting @@ -1389,14 +1385,12 @@ namespace FourSlash { const edits = this.languageService.getFormattingEditsAfterKeystroke(this.activeFile.fileName, offset, ch, this.formatCodeOptions); if (edits.length) { offset += this.applyEdits(this.activeFile.fileName, edits, /*isFormattingEdit*/ true); - // this.checkPostEditInvariants(); } } } // Move the caret to wherever we ended up this.currentCaretPosition = offset; - this.fixCaretPosition(); this.checkPostEditInvariants(); } @@ -1415,7 +1409,6 @@ namespace FourSlash { const edits = this.languageService.getFormattingEditsForRange(this.activeFile.fileName, start, offset, this.formatCodeOptions); if (edits.length) { offset += this.applyEdits(this.activeFile.fileName, edits, /*isFormattingEdit*/ true); - this.checkPostEditInvariants(); } } @@ -1638,8 +1631,8 @@ namespace FourSlash { return this.testData.ranges; } - public rangesByText(): ts.Map { - const result: ts.Map = {}; + public rangesByText(): ts.MapLike { + const result: ts.MapLike = {}; for (const range of this.getRanges()) { const text = this.rangeText(range); (ts.getProperty(result, text) || (result[text] = [])).push(range); @@ -1897,7 +1890,7 @@ namespace FourSlash { public verifyBraceCompletionAtPosition(negative: boolean, openingBrace: string) { - const openBraceMap: ts.Map = { + const openBraceMap: ts.MapLike = { "(": ts.CharacterCodes.openParen, "{": ts.CharacterCodes.openBrace, "[": ts.CharacterCodes.openBracket, @@ -2269,40 +2262,12 @@ namespace FourSlash { export function runFourSlashTestContent(basePath: string, testType: FourSlashTestType, content: string, fileName: string): void { // Parse out the files and their metadata const testData = parseTestData(basePath, content, fileName); - const state = new TestState(basePath, testType, testData); - - let result = ""; - const fourslashFile: Harness.Compiler.TestFile = { - unitName: Harness.Compiler.fourslashFileName, - content: undefined, - }; - const testFile: Harness.Compiler.TestFile = { - unitName: fileName, - content: content - }; - - const host = Harness.Compiler.createCompilerHost( - [fourslashFile, testFile], - (fn, contents) => result = contents, - ts.ScriptTarget.Latest, - Harness.IO.useCaseSensitiveFileNames(), - Harness.IO.getCurrentDirectory()); - - const program = ts.createProgram([Harness.Compiler.fourslashFileName, fileName], { outFile: "fourslashTestOutput.js", noResolve: true, target: ts.ScriptTarget.ES3 }, host); - - const sourceFile = host.getSourceFile(fileName, ts.ScriptTarget.ES3); - - const diagnostics = ts.getPreEmitDiagnostics(program, sourceFile); - if (diagnostics.length > 0) { - throw new Error(`Error compiling ${fileName}: ` + - diagnostics.map(e => ts.flattenDiagnosticMessageText(e.messageText, Harness.IO.newLine())).join("\r\n")); + const output = ts.transpileModule(content, { reportDiagnostics: true }); + if (output.diagnostics.length > 0) { + throw new Error(`Syntax error in ${basePath}: ${output.diagnostics[0].messageText}`); } - - program.emit(sourceFile); - - ts.Debug.assert(!!result); - runCode(result, state); + runCode(output.outputText, state); } function runCode(code: string, state: TestState): void { @@ -2395,13 +2360,14 @@ ${code} // Comment line, check for global/file @options and record them const match = optionRegex.exec(line.substr(2)); if (match) { - const fileMetadataNamesIndex = fileMetadataNames.indexOf(match[1]); + const [key, value] = match.slice(1); + const fileMetadataNamesIndex = fileMetadataNames.indexOf(key); if (fileMetadataNamesIndex === -1) { // Check if the match is already existed in the global options - if (globalOptions[match[1]] !== undefined) { - throw new Error("Global Option : '" + match[1] + "' is already existed"); + if (globalOptions[key] !== undefined) { + throw new Error(`Global option '${key}' already exists`); } - globalOptions[match[1]] = match[2]; + globalOptions[key] = value; } else { if (fileMetadataNamesIndex === fileMetadataNames.indexOf(metadataOptionNames.fileName)) { @@ -2416,12 +2382,12 @@ ${code} resetLocalData(); } - currentFileName = basePath + "/" + match[2]; - currentFileOptions[match[1]] = match[2]; + currentFileName = basePath + "/" + value; + currentFileOptions[key] = value; } else { // Add other fileMetadata flag - currentFileOptions[match[1]] = match[2]; + currentFileOptions[key] = value; } } } @@ -2509,7 +2475,7 @@ ${code} } const marker: Marker = { - fileName: fileName, + fileName, position: location.position, data: markerValue }; @@ -2526,7 +2492,7 @@ ${code} function recordMarker(fileName: string, location: LocationInformation, name: string, markerMap: MarkerMap, markers: Marker[]): Marker { const marker: Marker = { - fileName: fileName, + fileName, position: location.position }; @@ -2772,7 +2738,7 @@ namespace FourSlashInterface { return this.state.getRanges(); } - public rangesByText(): ts.Map { + public rangesByText(): ts.MapLike { return this.state.rangesByText(); } diff --git a/src/harness/harness.ts b/src/harness/harness.ts index 534778fdab8f4..5ae33303d5572 100644 --- a/src/harness/harness.ts +++ b/src/harness/harness.ts @@ -750,7 +750,7 @@ namespace Harness { export function readDirectory(path: string, extension?: string[], exclude?: string[], include?: string[]) { const fs = new Utils.VirtualFileSystem(path, useCaseSensitiveFileNames()); - for (const file in listFiles(path)) { + for (const file of listFiles(path)) { fs.addFile(file); } return ts.matchFiles(path, extension, exclude, include, useCaseSensitiveFileNames(), getCurrentDirectory(), path => { @@ -848,7 +848,7 @@ namespace Harness { export const defaultLibFileName = "lib.d.ts"; export const es2015DefaultLibFileName = "lib.es2015.d.ts"; - const libFileNameSourceFileMap: ts.Map = { + const libFileNameSourceFileMap: ts.MapLike = { [defaultLibFileName]: createSourceFileAndAssertInvariants(defaultLibFileName, IO.readFile(libFolder + "lib.es5.d.ts"), /*languageVersion*/ ts.ScriptTarget.Latest) }; @@ -1002,7 +1002,7 @@ namespace Harness { { name: "symlink", type: "string" } ]; - let optionsIndex: ts.Map; + let optionsIndex: ts.MapLike; function getCommandLineOption(name: string): ts.CommandLineOption { if (!optionsIndex) { optionsIndex = {}; @@ -1210,18 +1210,7 @@ namespace Harness { } export function minimalDiagnosticsToString(diagnostics: ts.Diagnostic[]) { - // This is basically copied from tsc.ts's reportError to replicate what tsc does - let errorOutput = ""; - ts.forEach(diagnostics, diagnostic => { - if (diagnostic.file) { - const lineAndCharacter = diagnostic.file.getLineAndCharacterOfPosition(diagnostic.start); - errorOutput += diagnostic.file.fileName + "(" + (lineAndCharacter.line + 1) + "," + (lineAndCharacter.character + 1) + "): "; - } - - errorOutput += ts.DiagnosticCategory[diagnostic.category].toLowerCase() + " TS" + diagnostic.code + ": " + ts.flattenDiagnosticMessageText(diagnostic.messageText, Harness.IO.newLine()) + Harness.IO.newLine(); - }); - - return errorOutput; + return ts.formatDiagnostics(diagnostics, { getCanonicalFileName, getCurrentDirectory: () => "", getNewLine: () => Harness.IO.newLine() }); } export function getErrorBaseline(inputFiles: TestFile[], diagnostics: ts.Diagnostic[]) { diff --git a/src/harness/harnessLanguageService.ts b/src/harness/harnessLanguageService.ts index d7ed04b627f4f..4f95f19e14441 100644 --- a/src/harness/harnessLanguageService.ts +++ b/src/harness/harnessLanguageService.ts @@ -123,7 +123,7 @@ namespace Harness.LanguageService { } export class LanguageServiceAdapterHost { - protected fileNameToScript: ts.Map = {}; + protected fileNameToScript: ts.MapLike = {}; constructor(protected cancellationToken = DefaultHostCancellationToken.Instance, protected settings = ts.getDefaultCompilerOptions()) { @@ -235,7 +235,7 @@ namespace Harness.LanguageService { this.getModuleResolutionsForFile = (fileName) => { const scriptInfo = this.getScriptInfo(fileName); const preprocessInfo = ts.preProcessFile(scriptInfo.content, /*readImportFiles*/ true); - const imports: ts.Map = {}; + const imports: ts.MapLike = {}; for (const module of preprocessInfo.importedFiles) { const resolutionInfo = ts.resolveModuleName(module.fileName, fileName, compilerOptions, moduleResolutionHost); if (resolutionInfo.resolvedModule) { @@ -248,7 +248,7 @@ namespace Harness.LanguageService { const scriptInfo = this.getScriptInfo(fileName); if (scriptInfo) { const preprocessInfo = ts.preProcessFile(scriptInfo.content, /*readImportFiles*/ false); - const resolutions: ts.Map = {}; + const resolutions: ts.MapLike = {}; const settings = this.nativeHost.getCompilationSettings(); for (const typeReferenceDirective of preprocessInfo.typeReferenceDirectives) { const resolutionInfo = ts.resolveTypeReferenceDirective(typeReferenceDirective.fileName, fileName, settings, moduleResolutionHost); diff --git a/src/harness/loggedIO.ts b/src/harness/loggedIO.ts index 25e982cf6804e..33a46450a178a 100644 --- a/src/harness/loggedIO.ts +++ b/src/harness/loggedIO.ts @@ -209,7 +209,7 @@ namespace Playback { memoize(path => findResultByFields(replayLog.pathsResolved, { path }, !ts.isRootedDiskPath(ts.normalizeSlashes(path)) && replayLog.currentDirectory ? replayLog.currentDirectory + "/" + path : ts.normalizeSlashes(path)))); wrapper.readFile = recordReplay(wrapper.readFile, underlying)( - path => { + (path: string) => { const result = underlying.readFile(path); const logEntry = { path, codepage: 0, result: { contents: result, codepage: 0 } }; recordLog.filesRead.push(logEntry); diff --git a/src/harness/projectsRunner.ts b/src/harness/projectsRunner.ts index 038b2dbe35953..be3030a6dd68f 100644 --- a/src/harness/projectsRunner.ts +++ b/src/harness/projectsRunner.ts @@ -253,7 +253,7 @@ class ProjectRunner extends RunnerBase { moduleResolution: ts.ModuleResolutionKind.Classic, // currently all tests use classic module resolution kind, this will change in the future }; // Set the values specified using json - const optionNameMap: ts.Map = {}; + const optionNameMap: ts.MapLike = {}; ts.forEach(ts.optionDeclarations, option => { optionNameMap[option.name] = option; }); diff --git a/src/harness/tsconfig.json b/src/harness/tsconfig.json index 5853bee327419..3b9025c27c362 100644 --- a/src/harness/tsconfig.json +++ b/src/harness/tsconfig.json @@ -14,6 +14,7 @@ }, "files": [ "../compiler/core.ts", + "../compiler/performance.ts", "../compiler/sys.ts", "../compiler/types.ts", "../compiler/scanner.ts", diff --git a/src/harness/unittests/cachingInServerLSHost.ts b/src/harness/unittests/cachingInServerLSHost.ts index e0ce09391fb86..a1e010b97dfa5 100644 --- a/src/harness/unittests/cachingInServerLSHost.ts +++ b/src/harness/unittests/cachingInServerLSHost.ts @@ -6,8 +6,8 @@ namespace ts { content: string; } - function createDefaultServerHost(fileMap: Map): server.ServerHost { - const existingDirectories: Map = {}; + function createDefaultServerHost(fileMap: MapLike): server.ServerHost { + const existingDirectories: MapLike = {}; forEachValue(fileMap, v => { let dir = getDirectoryPath(v.name); let previous: string; @@ -193,7 +193,7 @@ namespace ts { content: `export var y = 1` }; - const fileMap: Map = { [root.name]: root }; + const fileMap: MapLike = { [root.name]: root }; const serverHost = createDefaultServerHost(fileMap); const originalFileExists = serverHost.fileExists; diff --git a/src/harness/unittests/matchFiles.ts b/src/harness/unittests/matchFiles.ts index ae856f40c1764..6b499e5698909 100644 --- a/src/harness/unittests/matchFiles.ts +++ b/src/harness/unittests/matchFiles.ts @@ -23,6 +23,8 @@ namespace ts { "c:/dev/x/y/b.ts", "c:/dev/js/a.js", "c:/dev/js/b.js", + "c:/dev/js/d.min.js", + "c:/dev/js/ab.min.js", "c:/ext/ext.ts", "c:/ext/b/a..b.ts" ]); @@ -75,6 +77,17 @@ namespace ts { "c:/dev/jspm_packages/a.ts" ]); + const caseInsensitiveDottedFoldersHost = new Utils.MockParseConfigHost(caseInsensitiveBasePath, /*useCaseSensitiveFileNames*/ false, [ + "c:/dev/x/d.ts", + "c:/dev/x/y/d.ts", + "c:/dev/x/y/.e.ts", + "c:/dev/x/.y/a.ts", + "c:/dev/.z/.b.ts", + "c:/dev/.z/c.ts", + "c:/dev/w/.u/e.ts", + "c:/dev/g.min.js/.g/g.ts" + ]); + describe("matchFiles", () => { describe("with literal file list", () => { it("without exclusions", () => { @@ -726,6 +739,33 @@ namespace ts { assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); assert.deepEqual(actual.errors, expected.errors); }); + it("include explicitly listed .min.js files when allowJs=true", () => { + const json = { + compilerOptions: { + allowJs: true + }, + include: [ + "js/*.min.js" + ] + }; + const expected: ts.ParsedCommandLine = { + options: { + allowJs: true + }, + errors: [], + fileNames: [ + "c:/dev/js/ab.min.js", + "c:/dev/js/d.min.js" + ], + wildcardDirectories: { + "c:/dev/js": ts.WatchDirectoryFlags.None + } + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); it("include paths outside of the project", () => { const json = { include: [ @@ -951,6 +991,35 @@ namespace ts { assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); assert.deepEqual(actual.errors, expected.errors); }); + it("exclude .min.js files using wildcards", () => { + const json = { + compilerOptions: { + allowJs: true + }, + include: [ + "js/*.min.js" + ], + exclude: [ + "js/a*" + ] + }; + const expected: ts.ParsedCommandLine = { + options: { + allowJs: true + }, + errors: [], + fileNames: [ + "c:/dev/js/d.min.js" + ], + wildcardDirectories: { + "c:/dev/js": ts.WatchDirectoryFlags.None + } + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); describe("with trailing recursive directory", () => { it("in includes", () => { const json = { @@ -1145,5 +1214,122 @@ namespace ts { }); }); }); + describe("with files or folders that begin with a .", () => { + it("that are not explicitly included", () => { + const json = { + include: [ + "x/**/*", + "w/*/*" + ] + }; + const expected: ts.ParsedCommandLine = { + options: {}, + errors: [], + fileNames: [ + "c:/dev/x/d.ts", + "c:/dev/x/y/d.ts", + ], + wildcardDirectories: { + "c:/dev/x": ts.WatchDirectoryFlags.Recursive, + "c:/dev/w": ts.WatchDirectoryFlags.Recursive + } + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveDottedFoldersHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); + describe("that are explicitly included", () => { + it("without wildcards", () => { + const json = { + include: [ + "x/.y/a.ts", + "c:/dev/.z/.b.ts" + ] + }; + const expected: ts.ParsedCommandLine = { + options: {}, + errors: [], + fileNames: [ + "c:/dev/.z/.b.ts", + "c:/dev/x/.y/a.ts" + ], + wildcardDirectories: {} + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveDottedFoldersHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); + it("with recursive wildcards that match directories", () => { + const json = { + include: [ + "**/.*/*" + ] + }; + const expected: ts.ParsedCommandLine = { + options: {}, + errors: [], + fileNames: [ + "c:/dev/.z/c.ts", + "c:/dev/g.min.js/.g/g.ts", + "c:/dev/w/.u/e.ts", + "c:/dev/x/.y/a.ts" + ], + wildcardDirectories: { + "c:/dev": ts.WatchDirectoryFlags.Recursive + } + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveDottedFoldersHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); + it("with recursive wildcards that match nothing", () => { + const json = { + include: [ + "x/**/.y/*", + ".z/**/.*" + ] + }; + const expected: ts.ParsedCommandLine = { + options: {}, + errors: [], + fileNames: [ + "c:/dev/.z/.b.ts", + "c:/dev/x/.y/a.ts" + ], + wildcardDirectories: { + "c:/dev/.z": ts.WatchDirectoryFlags.Recursive, + "c:/dev/x": ts.WatchDirectoryFlags.Recursive + } + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveDottedFoldersHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); + it("with wildcard excludes that implicitly exclude dotted files", () => { + const json = { + include: [ + "**/.*/*" + ], + exclude: [ + "**/*" + ] + }; + const expected: ts.ParsedCommandLine = { + options: {}, + errors: [], + fileNames: [], + wildcardDirectories: {} + }; + const actual = ts.parseJsonConfigFileContent(json, caseInsensitiveDottedFoldersHost, caseInsensitiveBasePath); + assert.deepEqual(actual.fileNames, expected.fileNames); + assert.deepEqual(actual.wildcardDirectories, expected.wildcardDirectories); + assert.deepEqual(actual.errors, expected.errors); + }); + }); + }); }); } \ No newline at end of file diff --git a/src/harness/unittests/moduleResolution.ts b/src/harness/unittests/moduleResolution.ts index b3f2102d903de..4b5ef9f24f15e 100644 --- a/src/harness/unittests/moduleResolution.ts +++ b/src/harness/unittests/moduleResolution.ts @@ -1,21 +1,6 @@ /// namespace ts { - function diagnosticToString(diagnostic: Diagnostic) { - let output = ""; - - if (diagnostic.file) { - const loc = getLineAndCharacterOfPosition(diagnostic.file, diagnostic.start); - - output += `${diagnostic.file.fileName}(${loc.line + 1},${loc.character + 1}): `; - } - - const category = DiagnosticCategory[diagnostic.category].toLowerCase(); - output += `${category} TS${diagnostic.code}: ${flattenDiagnosticMessageText(diagnostic.messageText, sys.newLine)}${sys.newLine}`; - - return output; - } - interface File { name: string; content?: string; @@ -25,7 +10,7 @@ namespace ts { const map = arrayToMap(files, f => f.name); if (hasDirectoryExists) { - const directories: Map = {}; + const directories: MapLike = {}; for (const f of files) { let name = getDirectoryPath(f.name); while (true) { @@ -297,7 +282,7 @@ namespace ts { }); describe("Module resolution - relative imports", () => { - function test(files: Map, currentDirectory: string, rootFiles: string[], expectedFilesCount: number, relativeNamesToCheck: string[]) { + function test(files: MapLike, currentDirectory: string, rootFiles: string[], expectedFilesCount: number, relativeNamesToCheck: string[]) { const options: CompilerOptions = { module: ModuleKind.CommonJS }; const host: CompilerHost = { getSourceFile: (fileName: string, languageVersion: ScriptTarget) => { @@ -322,9 +307,9 @@ namespace ts { assert.equal(program.getSourceFiles().length, expectedFilesCount); const syntacticDiagnostics = program.getSyntacticDiagnostics(); - assert.equal(syntacticDiagnostics.length, 0, `expect no syntactic diagnostics, got: ${JSON.stringify(syntacticDiagnostics.map(diagnosticToString))}`); + assert.equal(syntacticDiagnostics.length, 0, `expect no syntactic diagnostics, got: ${JSON.stringify(Harness.Compiler.minimalDiagnosticsToString(syntacticDiagnostics))}`); const semanticDiagnostics = program.getSemanticDiagnostics(); - assert.equal(semanticDiagnostics.length, 0, `expect no semantic diagnostics, got: ${JSON.stringify(semanticDiagnostics.map(diagnosticToString))}`); + assert.equal(semanticDiagnostics.length, 0, `expect no semantic diagnostics, got: ${JSON.stringify(Harness.Compiler.minimalDiagnosticsToString(semanticDiagnostics))}`); // try to get file using a relative name for (const relativeFileName of relativeNamesToCheck) { @@ -333,7 +318,7 @@ namespace ts { } it("should find all modules", () => { - const files: Map = { + const files: MapLike = { "/a/b/c/first/shared.ts": ` class A {} export = A`, @@ -352,7 +337,7 @@ export = C; }); it("should find modules in node_modules", () => { - const files: Map = { + const files: MapLike = { "/parent/node_modules/mod/index.d.ts": "export var x", "/parent/app/myapp.ts": `import {x} from "mod"` }; @@ -360,7 +345,7 @@ export = C; }); it("should find file referenced via absolute and relative names", () => { - const files: Map = { + const files: MapLike = { "/a/b/c.ts": `/// `, "/a/b/b.ts": "var x" }; @@ -370,10 +355,10 @@ export = C; describe("Files with different casing", () => { const library = createSourceFile("lib.d.ts", "", ScriptTarget.ES5); - function test(files: Map, options: CompilerOptions, currentDirectory: string, useCaseSensitiveFileNames: boolean, rootFiles: string[], diagnosticCodes: number[]): void { + function test(files: MapLike, options: CompilerOptions, currentDirectory: string, useCaseSensitiveFileNames: boolean, rootFiles: string[], diagnosticCodes: number[]): void { const getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); if (!useCaseSensitiveFileNames) { - const f: Map = {}; + const f: MapLike = {}; for (const fileName in files) { f[getCanonicalFileName(fileName)] = files[fileName]; } @@ -403,14 +388,14 @@ export = C; }; const program = createProgram(rootFiles, options, host); const diagnostics = sortAndDeduplicateDiagnostics(program.getSemanticDiagnostics().concat(program.getOptionsDiagnostics())); - assert.equal(diagnostics.length, diagnosticCodes.length, `Incorrect number of expected diagnostics, expected ${diagnosticCodes.length}, got '${map(diagnostics, diagnosticToString).join("\r\n")}'`); + assert.equal(diagnostics.length, diagnosticCodes.length, `Incorrect number of expected diagnostics, expected ${diagnosticCodes.length}, got '${Harness.Compiler.minimalDiagnosticsToString(diagnostics)}'`); for (let i = 0; i < diagnosticCodes.length; i++) { assert.equal(diagnostics[i].code, diagnosticCodes[i], `Expected diagnostic code ${diagnosticCodes[i]}, got '${diagnostics[i].code}': '${diagnostics[i].messageText}'`); } } it("should succeed when the same file is referenced using absolute and relative names", () => { - const files: Map = { + const files: MapLike = { "/a/b/c.ts": `/// `, "/a/b/d.ts": "var x" }; @@ -418,7 +403,7 @@ export = C; }); it("should fail when two files used in program differ only in casing (tripleslash references)", () => { - const files: Map = { + const files: MapLike = { "/a/b/c.ts": `/// `, "/a/b/d.ts": "var x" }; @@ -426,7 +411,7 @@ export = C; }); it("should fail when two files used in program differ only in casing (imports)", () => { - const files: Map = { + const files: MapLike = { "/a/b/c.ts": `import {x} from "D"`, "/a/b/d.ts": "export var x" }; @@ -434,7 +419,7 @@ export = C; }); it("should fail when two files used in program differ only in casing (imports, relative module names)", () => { - const files: Map = { + const files: MapLike = { "moduleA.ts": `import {x} from "./ModuleB"`, "moduleB.ts": "export var x" }; @@ -442,7 +427,7 @@ export = C; }); it("should fail when two files exist on disk that differs only in casing", () => { - const files: Map = { + const files: MapLike = { "/a/b/c.ts": `import {x} from "D"`, "/a/b/D.ts": "export var x", "/a/b/d.ts": "export var y" @@ -451,7 +436,7 @@ export = C; }); it("should fail when module name in 'require' calls has inconsistent casing", () => { - const files: Map = { + const files: MapLike = { "moduleA.ts": `import a = require("./ModuleC")`, "moduleB.ts": `import a = require("./moduleC")`, "moduleC.ts": "export var x" @@ -460,7 +445,7 @@ export = C; }); it("should fail when module names in 'require' calls has inconsistent casing and current directory has uppercase chars", () => { - const files: Map = { + const files: MapLike = { "/a/B/c/moduleA.ts": `import a = require("./ModuleC")`, "/a/B/c/moduleB.ts": `import a = require("./moduleC")`, "/a/B/c/moduleC.ts": "export var x", @@ -472,7 +457,7 @@ import b = require("./moduleB.ts"); test(files, { module: ts.ModuleKind.CommonJS, forceConsistentCasingInFileNames: true }, "/a/B/c", /*useCaseSensitiveFileNames*/ false, ["moduleD.ts"], [1149]); }); it("should not fail when module names in 'require' calls has consistent casing and current directory has uppercase chars", () => { - const files: Map = { + const files: MapLike = { "/a/B/c/moduleA.ts": `import a = require("./moduleC")`, "/a/B/c/moduleB.ts": `import a = require("./moduleC")`, "/a/B/c/moduleC.ts": "export var x", diff --git a/src/harness/unittests/reuseProgramStructure.ts b/src/harness/unittests/reuseProgramStructure.ts index 8b2b15c15b30d..76015667232a6 100644 --- a/src/harness/unittests/reuseProgramStructure.ts +++ b/src/harness/unittests/reuseProgramStructure.ts @@ -96,7 +96,7 @@ namespace ts { } function createTestCompilerHost(texts: NamedSourceText[], target: ScriptTarget): CompilerHost { - const files: Map = {}; + const files: MapLike = {}; for (const t of texts) { const file = createSourceFile(t.name, t.text.getFullText(), target); file.sourceText = t.text; @@ -152,7 +152,7 @@ namespace ts { return program; } - function getSizeOfMap(map: Map): number { + function getSizeOfMap(map: MapLike): number { let size = 0; for (const id in map) { if (hasProperty(map, id)) { @@ -174,7 +174,7 @@ namespace ts { assert.isTrue(expected.primary === actual.primary, `'primary': expected '${expected.primary}' to be equal to '${actual.primary}'`); } - function checkCache(caption: string, program: Program, fileName: string, expectedContent: Map, getCache: (f: SourceFile) => Map, entryChecker: (expected: T, original: T) => void): void { + function checkCache(caption: string, program: Program, fileName: string, expectedContent: MapLike, getCache: (f: SourceFile) => MapLike, entryChecker: (expected: T, original: T) => void): void { const file = program.getSourceFile(fileName); assert.isTrue(file !== undefined, `cannot find file ${fileName}`); const cache = getCache(file); @@ -203,11 +203,11 @@ namespace ts { } } - function checkResolvedModulesCache(program: Program, fileName: string, expectedContent: Map): void { + function checkResolvedModulesCache(program: Program, fileName: string, expectedContent: MapLike): void { checkCache("resolved modules", program, fileName, expectedContent, f => f.resolvedModules, checkResolvedModule); } - function checkResolvedTypeDirectivesCache(program: Program, fileName: string, expectedContent: Map): void { + function checkResolvedTypeDirectivesCache(program: Program, fileName: string, expectedContent: MapLike): void { checkCache("resolved type directives", program, fileName, expectedContent, f => f.resolvedTypeReferenceDirectiveNames, checkResolvedTypeDirective); } diff --git a/src/harness/unittests/session.ts b/src/harness/unittests/session.ts index c528554432914..e8e06da7badc0 100644 --- a/src/harness/unittests/session.ts +++ b/src/harness/unittests/session.ts @@ -106,7 +106,7 @@ namespace ts.server { describe("onMessage", () => { it("should not throw when commands are executed with invalid arguments", () => { let i = 0; - for (name in CommandNames) { + for (const name in CommandNames) { if (!Object.prototype.hasOwnProperty.call(CommandNames, name)) { continue; } @@ -362,8 +362,8 @@ namespace ts.server { class InProcClient { private server: InProcSession; private seq = 0; - private callbacks: ts.Map<(resp: protocol.Response) => void> = {}; - private eventHandlers: ts.Map<(args: any) => void> = {}; + private callbacks: ts.MapLike<(resp: protocol.Response) => void> = {}; + private eventHandlers: ts.MapLike<(args: any) => void> = {}; handle(msg: protocol.Message): void { if (msg.type === "response") { diff --git a/src/harness/unittests/tsconfigParsing.ts b/src/harness/unittests/tsconfigParsing.ts index 736d567a33a75..557379dff3b7d 100644 --- a/src/harness/unittests/tsconfigParsing.ts +++ b/src/harness/unittests/tsconfigParsing.ts @@ -1,185 +1,185 @@ -/// -/// - -namespace ts { - describe("parseConfigFileTextToJson", () => { - function assertParseResult(jsonText: string, expectedConfigObject: { config?: any; error?: Diagnostic }) { - const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); - assert.equal(JSON.stringify(parsed), JSON.stringify(expectedConfigObject)); - } - - function assertParseError(jsonText: string) { - const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); - assert.isTrue(undefined === parsed.config); - assert.isTrue(undefined !== parsed.error); - } - - function assertParseErrorWithExcludesKeyword(jsonText: string) { - const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); - const parsedCommand = ts.parseJsonConfigFileContent(parsed.config, ts.sys, "tests/cases/unittests"); - assert.isTrue(parsedCommand.errors && parsedCommand.errors.length === 1 && - parsedCommand.errors[0].code === ts.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude.code); - } - - function assertParseFileList(jsonText: string, configFileName: string, basePath: string, allFileList: string[], expectedFileList: string[]) { - const json = JSON.parse(jsonText); - const host: ParseConfigHost = new Utils.MockParseConfigHost(basePath, true, allFileList); - const parsed = ts.parseJsonConfigFileContent(json, host, basePath, /*existingOptions*/ undefined, configFileName); - assert.isTrue(arrayIsEqualTo(parsed.fileNames.sort(), expectedFileList.sort())); - } - - it("returns empty config for file with only whitespaces", () => { - assertParseResult("", { config : {} }); - assertParseResult(" ", { config : {} }); - }); - - it("returns empty config for file with comments only", () => { - assertParseResult("// Comment", { config: {} }); - assertParseResult("/* Comment*/", { config: {} }); - }); - - it("returns empty config when config is empty object", () => { - assertParseResult("{}", { config: {} }); - }); - - it("returns config object without comments", () => { - assertParseResult( - `{ // Excluded files - "exclude": [ - // Exclude d.ts - "file.d.ts" - ] - }`, { config: { exclude: ["file.d.ts"] } }); - - assertParseResult( - `{ - /* Excluded - Files - */ - "exclude": [ - /* multiline comments can be in the middle of a line */"file.d.ts" - ] - }`, { config: { exclude: ["file.d.ts"] } }); - }); - - it("keeps string content untouched", () => { - assertParseResult( - `{ - "exclude": [ - "xx//file.d.ts" - ] - }`, { config: { exclude: ["xx//file.d.ts"] } }); - assertParseResult( - `{ - "exclude": [ - "xx/*file.d.ts*/" - ] - }`, { config: { exclude: ["xx/*file.d.ts*/"] } }); - }); - - it("handles escaped characters in strings correctly", () => { - assertParseResult( - `{ - "exclude": [ - "xx\\"//files" - ] - }`, { config: { exclude: ["xx\"//files"] } }); - - assertParseResult( - `{ - "exclude": [ - "xx\\\\" // end of line comment - ] - }`, { config: { exclude: ["xx\\"] } }); - }); - - it("returns object with error when json is invalid", () => { - assertParseError("invalid"); - }); - - it("returns object when users correctly specify library", () => { - assertParseResult( - `{ - "compilerOptions": { - "lib": ["es5"] - } - }`, { - config: { compilerOptions: { lib: ["es5"] } } - }); - - assertParseResult( - `{ - "compilerOptions": { - "lib": ["es5", "es6"] - } - }`, { - config: { compilerOptions: { lib: ["es5", "es6"] } } - }); - }); - - it("returns error when tsconfig have excludes", () => { - assertParseErrorWithExcludesKeyword( - `{ - "compilerOptions": { - "lib": ["es5"] - }, - "excludes": [ - "foge.ts" - ] - }`); - }); - - it("ignore dotted files and folders", () => { - assertParseFileList( - `{}`, - "tsconfig.json", - "/apath", - ["/apath/test.ts", "/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"], - ["/apath/test.ts"] - ); - }); - - it("allow dotted files and folders when explicitly requested", () => { - assertParseFileList( - `{ - "files": ["/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"] - }`, - "tsconfig.json", - "/apath", - ["/apath/test.ts", "/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"], - ["/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"] - ); - }); - - it("always exclude outDir", () => { - const tsconfigWithoutExclude = - `{ - "compilerOptions": { - "outDir": "bin" - } - }`; - const tsconfigWithExclude = - `{ - "compilerOptions": { - "outDir": "bin" - }, - "exclude": [ "obj" ] - }`; - const rootDir = "/"; - const allFiles = ["/bin/a.ts", "/b.ts"]; - const expectedFiles = ["/b.ts"]; - assertParseFileList(tsconfigWithoutExclude, "tsconfig.json", rootDir, allFiles, expectedFiles); - assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, expectedFiles); - }); - - it("implicitly exclude common package folders", () => { - assertParseFileList( - `{}`, - "tsconfig.json", - "/", - ["/node_modules/a.ts", "/bower_components/b.ts", "/jspm_packages/c.ts", "/d.ts", "/folder/e.ts"], - ["/d.ts", "/folder/e.ts"] - ); - }); - }); -} +/// +/// + +namespace ts { + describe("parseConfigFileTextToJson", () => { + function assertParseResult(jsonText: string, expectedConfigObject: { config?: any; error?: Diagnostic }) { + const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); + assert.equal(JSON.stringify(parsed), JSON.stringify(expectedConfigObject)); + } + + function assertParseError(jsonText: string) { + const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); + assert.isTrue(undefined === parsed.config); + assert.isTrue(undefined !== parsed.error); + } + + function assertParseErrorWithExcludesKeyword(jsonText: string) { + const parsed = ts.parseConfigFileTextToJson("/apath/tsconfig.json", jsonText); + const parsedCommand = ts.parseJsonConfigFileContent(parsed.config, ts.sys, "tests/cases/unittests"); + assert.isTrue(parsedCommand.errors && parsedCommand.errors.length === 1 && + parsedCommand.errors[0].code === ts.Diagnostics.Unknown_option_excludes_Did_you_mean_exclude.code); + } + + function assertParseFileList(jsonText: string, configFileName: string, basePath: string, allFileList: string[], expectedFileList: string[]) { + const json = JSON.parse(jsonText); + const host: ParseConfigHost = new Utils.MockParseConfigHost(basePath, true, allFileList); + const parsed = ts.parseJsonConfigFileContent(json, host, basePath, /*existingOptions*/ undefined, configFileName); + assert.isTrue(arrayIsEqualTo(parsed.fileNames.sort(), expectedFileList.sort())); + } + + it("returns empty config for file with only whitespaces", () => { + assertParseResult("", { config : {} }); + assertParseResult(" ", { config : {} }); + }); + + it("returns empty config for file with comments only", () => { + assertParseResult("// Comment", { config: {} }); + assertParseResult("/* Comment*/", { config: {} }); + }); + + it("returns empty config when config is empty object", () => { + assertParseResult("{}", { config: {} }); + }); + + it("returns config object without comments", () => { + assertParseResult( + `{ // Excluded files + "exclude": [ + // Exclude d.ts + "file.d.ts" + ] + }`, { config: { exclude: ["file.d.ts"] } }); + + assertParseResult( + `{ + /* Excluded + Files + */ + "exclude": [ + /* multiline comments can be in the middle of a line */"file.d.ts" + ] + }`, { config: { exclude: ["file.d.ts"] } }); + }); + + it("keeps string content untouched", () => { + assertParseResult( + `{ + "exclude": [ + "xx//file.d.ts" + ] + }`, { config: { exclude: ["xx//file.d.ts"] } }); + assertParseResult( + `{ + "exclude": [ + "xx/*file.d.ts*/" + ] + }`, { config: { exclude: ["xx/*file.d.ts*/"] } }); + }); + + it("handles escaped characters in strings correctly", () => { + assertParseResult( + `{ + "exclude": [ + "xx\\"//files" + ] + }`, { config: { exclude: ["xx\"//files"] } }); + + assertParseResult( + `{ + "exclude": [ + "xx\\\\" // end of line comment + ] + }`, { config: { exclude: ["xx\\"] } }); + }); + + it("returns object with error when json is invalid", () => { + assertParseError("invalid"); + }); + + it("returns object when users correctly specify library", () => { + assertParseResult( + `{ + "compilerOptions": { + "lib": ["es5"] + } + }`, { + config: { compilerOptions: { lib: ["es5"] } } + }); + + assertParseResult( + `{ + "compilerOptions": { + "lib": ["es5", "es6"] + } + }`, { + config: { compilerOptions: { lib: ["es5", "es6"] } } + }); + }); + + it("returns error when tsconfig have excludes", () => { + assertParseErrorWithExcludesKeyword( + `{ + "compilerOptions": { + "lib": ["es5"] + }, + "excludes": [ + "foge.ts" + ] + }`); + }); + + it("ignore dotted files and folders", () => { + assertParseFileList( + `{}`, + "tsconfig.json", + "/apath", + ["/apath/test.ts", "/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"], + ["/apath/test.ts"] + ); + }); + + it("allow dotted files and folders when explicitly requested", () => { + assertParseFileList( + `{ + "files": ["/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"] + }`, + "tsconfig.json", + "/apath", + ["/apath/test.ts", "/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"], + ["/apath/.git/a.ts", "/apath/.b.ts", "/apath/..c.ts"] + ); + }); + + it("always exclude outDir", () => { + const tsconfigWithoutExclude = + `{ + "compilerOptions": { + "outDir": "bin" + } + }`; + const tsconfigWithExclude = + `{ + "compilerOptions": { + "outDir": "bin" + }, + "exclude": [ "obj" ] + }`; + const rootDir = "/"; + const allFiles = ["/bin/a.ts", "/b.ts"]; + const expectedFiles = ["/b.ts"]; + assertParseFileList(tsconfigWithoutExclude, "tsconfig.json", rootDir, allFiles, expectedFiles); + assertParseFileList(tsconfigWithExclude, "tsconfig.json", rootDir, allFiles, expectedFiles); + }); + + it("implicitly exclude common package folders", () => { + assertParseFileList( + `{}`, + "tsconfig.json", + "/", + ["/node_modules/a.ts", "/bower_components/b.ts", "/jspm_packages/c.ts", "/d.ts", "/folder/e.ts"], + ["/d.ts", "/folder/e.ts"] + ); + }); + }); +} diff --git a/src/harness/unittests/tsserverProjectSystem.ts b/src/harness/unittests/tsserverProjectSystem.ts index 7a375c50b8a36..74b9e303cf7e7 100644 --- a/src/harness/unittests/tsserverProjectSystem.ts +++ b/src/harness/unittests/tsserverProjectSystem.ts @@ -68,7 +68,7 @@ namespace ts { return entry; } - function sizeOfMap(map: Map): number { + function sizeOfMap(map: MapLike): number { let n = 0; for (const name in map) { if (hasProperty(map, name)) { @@ -78,7 +78,7 @@ namespace ts { return n; } - function checkMapKeys(caption: string, map: Map, expectedKeys: string[]) { + function checkMapKeys(caption: string, map: MapLike, expectedKeys: string[]) { assert.equal(sizeOfMap(map), expectedKeys.length, `${caption}: incorrect size of map`); for (const name of expectedKeys) { assert.isTrue(hasProperty(map, name), `${caption} is expected to contain ${name}, actual keys: ${getKeys(map)}`); @@ -126,8 +126,8 @@ namespace ts { private getCanonicalFileName: (s: string) => string; private toPath: (f: string) => Path; private callbackQueue: TimeOutCallback[] = []; - readonly watchedDirectories: Map<{ cb: DirectoryWatcherCallback, recursive: boolean }[]> = {}; - readonly watchedFiles: Map = {}; + readonly watchedDirectories: MapLike<{ cb: DirectoryWatcherCallback, recursive: boolean }[]> = {}; + readonly watchedFiles: MapLike = {}; constructor(public useCaseSensitiveFileNames: boolean, private executingFilePath: string, private currentDirectory: string, fileOrFolderList: FileOrFolder[]) { this.getCanonicalFileName = createGetCanonicalFileName(useCaseSensitiveFileNames); diff --git a/src/lib/es2015.core.d.ts b/src/lib/es2015.core.d.ts index 206b8b8f9bf40..980f610ca7d11 100644 --- a/src/lib/es2015.core.d.ts +++ b/src/lib/es2015.core.d.ts @@ -226,7 +226,7 @@ interface NumberConstructor { /** * The value of the largest integer n such that n and n + 1 are both exactly representable as * a Number value. - * The value of Number.MIN_SAFE_INTEGER is 9007199254740991 2^53 − 1. + * The value of Number.MAX_SAFE_INTEGER is 9007199254740991 2^53 − 1. */ readonly MAX_SAFE_INTEGER: number; @@ -343,6 +343,30 @@ interface ObjectConstructor { defineProperty(o: any, propertyKey: PropertyKey, attributes: PropertyDescriptor): any; } +interface ReadonlyArray { + /** + * Returns the value of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + find(predicate: (value: T, index: number, obj: ReadonlyArray) => boolean, thisArg?: any): T | undefined; + + /** + * Returns the index of the first element in the array where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of the array, in ascending + * order, until it finds one where predicate returns true. If such an element is found, + * findIndex immediately returns that element index. Otherwise, findIndex returns -1. + * @param thisArg If provided, it will be used as the this value for each invocation of + * predicate. If it is not provided, undefined is used instead. + */ + findIndex(predicate: (value: T) => boolean, thisArg?: any): number; +} + interface RegExp { /** * Returns a string indicating the flags of the regular expression in question. This field is read-only. diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index e1b9d99762bce..de339e2bf2cc4 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -63,6 +63,26 @@ interface ArrayConstructor { from(iterable: Iterable): Array; } +interface ReadonlyArray { + /** Iterator */ + [Symbol.iterator](): IterableIterator; + + /** + * Returns an array of key, value pairs for every entry in the array + */ + entries(): IterableIterator<[number, T]>; + + /** + * Returns an list of keys in the array + */ + keys(): IterableIterator; + + /** + * Returns an list of values in the array + */ + values(): IterableIterator; +} + interface IArguments { /** Iterator */ [Symbol.iterator](): IterableIterator; diff --git a/src/lib/es5.d.ts b/src/lib/es5.d.ts index 77b960409c281..496df578c1911 100644 --- a/src/lib/es5.d.ts +++ b/src/lib/es5.d.ts @@ -513,8 +513,8 @@ interface NumberConstructor { /** An object that represents a number of any kind. All JavaScript numbers are 64-bit floating-point numbers. */ declare const Number: NumberConstructor; -interface TemplateStringsArray extends Array { - readonly raw: string[]; +interface TemplateStringsArray extends ReadonlyArray { + readonly raw: ReadonlyArray } interface Math { @@ -1108,6 +1108,11 @@ interface Array { * Removes the last element from an array and returns it. */ pop(): T | undefined; + /** + * Combines two or more arrays. + * @param items Additional items to add to the end of array1. + */ + concat(...items: T[][]): T[]; /** * Combines two or more arrays. * @param items Additional items to add to the end of array1. diff --git a/src/server/client.ts b/src/server/client.ts index f04dbd8dc0253..3547ac52602de 100644 --- a/src/server/client.ts +++ b/src/server/client.ts @@ -21,7 +21,7 @@ namespace ts.server { export class SessionClient implements LanguageService { private sequence: number = 0; - private lineMaps: ts.Map = {}; + private lineMaps: ts.Map = ts.createMap(); private messages: string[] = []; private lastRenameEntry: RenameEntry; diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index 8854ea9f4320c..a14c42f471e70 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -115,6 +115,9 @@ namespace ts.server { readFile: fileName => this.host.readFile(fileName), directoryExists: directoryName => this.host.directoryExists(directoryName) }; + if (this.host.realpath) { + this.moduleResolutionHost.realpath = path => this.host.realpath(path); + } } private resolveNamesWithLocalCache( @@ -127,7 +130,7 @@ namespace ts.server { const path = toPath(containingFile, this.host.getCurrentDirectory(), this.getCanonicalFileName); const currentResolutionsInFile = cache.get(path); - const newResolutions: Map = {}; + const newResolutions = createMap(); const resolvedModules: R[] = []; const compilerOptions = this.getCompilationSettings(); @@ -375,7 +378,7 @@ namespace ts.server { export interface ProjectOptions { // these fields can be present in the project file files?: string[]; - wildcardDirectories?: ts.Map; + wildcardDirectories?: ts.MapLike; compilerOptions?: ts.CompilerOptions; } @@ -388,7 +391,7 @@ namespace ts.server { // Used to keep track of what directories are watched for this project directoriesWatchedForTsconfig: string[] = []; program: ts.Program; - filenameToSourceFile: ts.Map = {}; + filenameToSourceFile = ts.createMap(); updateGraphSeq = 0; /** Used for configured projects which may have multiple open roots */ openRefCount = 0; @@ -501,7 +504,7 @@ namespace ts.server { return; } - this.filenameToSourceFile = {}; + this.filenameToSourceFile = createMap(); const sourceFiles = this.program.getSourceFiles(); for (let i = 0, len = sourceFiles.length; i < len; i++) { const normFilename = ts.normalizePath(sourceFiles[i].fileName); @@ -610,7 +613,7 @@ namespace ts.server { } export class ProjectService { - filenameToScriptInfo: ts.Map = {}; + filenameToScriptInfo = ts.createMap(); // open, non-configured root files openFileRoots: ScriptInfo[] = []; // projects built from openFileRoots @@ -622,12 +625,12 @@ namespace ts.server { // open files that are roots of a configured project openFileRootsConfigured: ScriptInfo[] = []; // a path to directory watcher map that detects added tsconfig files - directoryWatchersForTsconfig: ts.Map = {}; + directoryWatchersForTsconfig = ts.createMap(); // count of how many projects are using the directory watcher. If the // number becomes 0 for a watcher, then we should close it. - directoryWatchersRefCount: ts.Map = {}; + directoryWatchersRefCount = ts.createMap(); hostConfiguration: HostConfiguration; - timerForDetectingProjectFileListChanges: Map = {}; + timerForDetectingProjectFileListChanges = createMap(); constructor(public host: ServerHost, public psLogger: Logger, public eventHandler?: ProjectServiceEventHandler) { // ts.disableIncrementalParsing = true; diff --git a/src/server/session.ts b/src/server/session.ts index 7e1ca81e2af8c..13b0e6d6ce4ac 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1061,7 +1061,7 @@ namespace ts.server { return { response, responseRequired: true }; } - private handlers: Map<(request: protocol.Request) => { response?: any, responseRequired?: boolean }> = { + private handlers: MapLike<(request: protocol.Request) => { response?: any, responseRequired?: boolean }> = { [CommandNames.Exit]: () => { this.exit(); return { responseRequired: false }; diff --git a/src/server/tsconfig.library.json b/src/server/tsconfig.library.json index 746283720bf32..af04a74d55755 100644 --- a/src/server/tsconfig.library.json +++ b/src/server/tsconfig.library.json @@ -10,6 +10,8 @@ "types": [] }, "files": [ + "../services/shims.ts", + "../services/utilities.ts", "editorServices.ts", "protocol.d.ts", "session.ts" diff --git a/src/services/formatting/formatting.ts b/src/services/formatting/formatting.ts index 8a27501e684bd..c17d38421c235 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 110ac9bf4eab3..1839726b9ad9e 100644 --- a/src/services/formatting/rules.ts +++ b/src/services/formatting/rules.ts @@ -231,6 +231,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 @@ -322,7 +329,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 +393,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, @@ -413,6 +427,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 +466,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 +514,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 +757,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); } diff --git a/src/services/formatting/rulesMap.ts b/src/services/formatting/rulesMap.ts index 703ca566bd20b..65c30908863c0 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/jsTyping.ts b/src/services/jsTyping.ts index 3b013a4a924ac..05de0061d3978 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: [] }; @@ -62,7 +62,7 @@ namespace ts.JsTyping { safeList = result.config; } else { - safeList = {}; + safeList = createMap(); }; } diff --git a/src/services/navigationBar.ts b/src/services/navigationBar.ts index 022c538e76278..ebd6936ea8543 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); @@ -506,7 +506,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 +518,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 +539,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)) { diff --git a/src/services/patternMatcher.ts b/src/services/patternMatcher.ts index 3d20337eca775..cff3f591f8adf 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(); diff --git a/src/services/services.ts b/src/services/services.ts index d9e025cf8fd0c..850e29030d801 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -94,7 +94,7 @@ namespace ts { * 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; + getChangeRange(oldSnapshot: IScriptSnapshot): TextChangeRange | undefined; /** Releases all resources held by this script snapshot */ dispose?(): void; @@ -434,7 +434,7 @@ namespace ts { } } IdentifierObject.prototype.kind = SyntaxKind.Identifier; - + class SymbolObject implements Symbol { flags: SymbolFlags; name: string; @@ -871,7 +871,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. @@ -975,7 +975,7 @@ namespace ts { } private computeNamedDeclarations(): Map { - const result: Map = {}; + const result = createMap(); forEachChild(this, visit); @@ -1082,7 +1082,7 @@ namespace ts { // fall through case SyntaxKind.VariableDeclaration: case SyntaxKind.BindingElement: { - const decl = node; + const decl = node; if (isBindingPattern(decl.name)) { forEachChild(decl.name, visit); break; @@ -1690,6 +1690,8 @@ namespace ts { /** enum E */ export const enumElement = "enum"; + // TODO: GH#9983 + export const enumMemberElement = "const"; /** * Inside module and script only @@ -1884,7 +1886,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 { @@ -2023,7 +2025,7 @@ namespace ts { fileName?: string; reportDiagnostics?: boolean; moduleName?: string; - renamedDependencies?: Map; + renamedDependencies?: MapLike; } export interface TranspileOutput { @@ -2040,7 +2042,7 @@ namespace ts { 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")); + typeof o.type === "object" && !forEachValue(>o.type, v => typeof v !== "number")); options = clone(options); @@ -2241,7 +2243,7 @@ namespace ts { 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 buckets = createMap>(); const getCanonicalFileName = createGetCanonicalFileName(!!useCaseSensitiveFileNames); function getKeyForCompilationSettings(settings: CompilerOptions): DocumentRegistryBucketKey { @@ -2947,7 +2949,10 @@ namespace ts { /* @internal */ export function getNodeKind(node: Node): string { switch (node.kind) { - case SyntaxKind.ModuleDeclaration: return ScriptElementKind.moduleElement; + 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; @@ -2955,11 +2960,10 @@ namespace ts { 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; + return getKindOfVariableDeclaration(node); + case SyntaxKind.BindingElement: + return getKindOfVariableDeclaration(getRootDeclaration(node)); + case SyntaxKind.ArrowFunction: case SyntaxKind.FunctionDeclaration: case SyntaxKind.FunctionExpression: return ScriptElementKind.functionElement; @@ -2976,7 +2980,7 @@ namespace ts { 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.EnumMember: return ScriptElementKind.enumMemberElement; case SyntaxKind.Parameter: return (node.flags & NodeFlags.ParameterPropertyModifier) ? ScriptElementKind.memberVariableElement : ScriptElementKind.parameterElement; case SyntaxKind.ImportEqualsDeclaration: case SyntaxKind.ImportSpecifier: @@ -2984,8 +2988,19 @@ namespace ts { 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; } - return ScriptElementKind.unknown; } class CancellationTokenObject implements CancellationToken { @@ -3075,14 +3090,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 || + !mapIsEqualTo(oldSettings.paths, newSettings.paths)); // Now create a new compiler const compilerHost: CompilerHost = { @@ -3134,7 +3151,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 +3185,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) { @@ -3349,14 +3366,14 @@ namespace ts { let isJsDocTagName = false; - let start = new Date().getTime(); + let start = timestamp(); const currentToken = getTokenAtPosition(sourceFile, position); - log("getCompletionData: Get current token: " + (new Date().getTime() - start)); + log("getCompletionData: Get current token: " + (timestamp() - start)); - start = new Date().getTime(); + 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: " + (new Date().getTime() - start)); + log("getCompletionData: Is inside comment: " + (timestamp() - start)); if (insideComment) { // The current position is next to the '@' sign, when no tag name being provided yet. @@ -3399,9 +3416,9 @@ namespace ts { } } - start = new Date().getTime(); + start = timestamp(); const previousToken = findPrecedingToken(position, sourceFile); - log("getCompletionData: Get previous token 1: " + (new Date().getTime() - start)); + 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 @@ -3410,9 +3427,9 @@ namespace ts { // 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 = new Date().getTime(); + const start = timestamp(); contextToken = findPrecedingToken(contextToken.getFullStart(), sourceFile); - log("getCompletionData: Get previous token 2: " + (new Date().getTime() - start)); + log("getCompletionData: Get previous token 2: " + (timestamp() - start)); } // Find the node where completion is requested on. @@ -3459,7 +3476,7 @@ namespace ts { } } - const semanticStart = new Date().getTime(); + const semanticStart = timestamp(); let isMemberCompletion: boolean; let isNewIdentifierLocation: boolean; let symbols: Symbol[] = []; @@ -3497,7 +3514,7 @@ namespace ts { } } - log("getCompletionData: Semantic work: " + (new Date().getTime() - semanticStart)); + log("getCompletionData: Semantic work: " + (timestamp() - semanticStart)); return { symbols, isMemberCompletion, isNewIdentifierLocation, location, isRightOfDot: (isRightOfDot || isRightOfOpenTag), isJsDocTagName }; @@ -3641,12 +3658,12 @@ namespace ts { } function isCompletionListBlocker(contextToken: Node): boolean { - const start = new Date().getTime(); + const start = timestamp(); const result = isInStringOrRegularExpressionOrTemplateLiteral(contextToken) || isSolelyIdentifierDefinitionLocation(contextToken) || isDotOfNumericLiteral(contextToken) || isInJsxText(contextToken); - log("getCompletionsAtPosition: isCompletionListBlocker: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: isCompletionListBlocker: " + (timestamp() - start)); return result; } @@ -3731,7 +3748,6 @@ namespace ts { 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(); @@ -4086,7 +4102,7 @@ namespace ts { * do not occur at the current position and have not otherwise been typed. */ function filterNamedImportOrExportCompletionItems(exportsOfModule: Symbol[], namedImportsOrExports: ImportOrExportSpecifier[]): Symbol[] { - const existingImportsOrExports: Map = {}; + const existingImportsOrExports = createMap(); for (const element of namedImportsOrExports) { // If this is the current item we are editing right now, do not filter it out @@ -4116,7 +4132,7 @@ namespace ts { return contextualMemberSymbols; } - const existingMemberNames: Map = {}; + const existingMemberNames = createMap(); for (const m of existingMembers) { // Ignore omitted expressions for missing members if (m.kind !== SyntaxKind.PropertyAssignment && @@ -4159,7 +4175,7 @@ namespace ts { * do not occur at the current position and have not otherwise been typed. */ function filterJsxAttributes(symbols: Symbol[], attributes: NodeArray): Symbol[] { - const seenNames: Map = {}; + 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()) { @@ -4296,11 +4312,12 @@ namespace ts { kindModifiers: getSymbolModifiers(symbol), sortText: "0", }; + } function getCompletionEntriesFromSymbols(symbols: Symbol[], entries: CompletionEntry[], location: Node, performCharacterChecks: boolean): Map { - const start = new Date().getTime(); - const uniqueNames: Map = {}; + const start = timestamp(); + const uniqueNames = createMap(); if (symbols) { for (const symbol of symbols) { const entry = createCompletionEntry(symbol, location, performCharacterChecks); @@ -4314,7 +4331,7 @@ namespace ts { } } - log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (new Date().getTime() - start)); + log("getCompletionsAtPosition: getCompletionEntriesFromSymbols: " + (timestamp() - start)); return uniqueNames; } @@ -4324,22 +4341,58 @@ namespace ts { return undefined; } - const argumentInfo = SignatureHelp.getContainingArgumentInfo(node, position, sourceFile); - if (argumentInfo) { - // Get string literal completions from specialized signatures of the target - return getStringLiteralCompletionEntriesFromCallExpression(argumentInfo); + 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 { - // Otherwise, get the completions from the contextual type if one exists + 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 getStringLiteralCompletionEntriesFromCallExpression(argumentInfo: SignatureHelp.ArgumentListInfo) { + 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[] = []; @@ -4396,7 +4449,7 @@ namespace ts { else { if (type.flags & TypeFlags.StringLiteral) { result.push({ - name: (type).text, + name: (type).text, kindModifiers: ScriptElementKindModifier.none, kind: ScriptElementKind.variableElement, sortText: "0" @@ -4697,7 +4750,7 @@ namespace ts { displayParts.push(spacePart()); displayParts.push(operatorPart(SyntaxKind.EqualsToken)); displayParts.push(spacePart()); - addRange(displayParts, typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration)); + addRange(displayParts, typeToDisplayParts(typeChecker, typeChecker.getDeclaredTypeOfSymbol(symbol), enclosingDeclaration, TypeFormatFlags.InTypeAlias)); } if (symbolFlags & SymbolFlags.Enum) { addNewLineIfDisplayPartsExist(); @@ -4777,7 +4830,14 @@ namespace ts { } if (symbolFlags & SymbolFlags.Alias) { addNewLineIfDisplayPartsExist(); - displayParts.push(keywordPart(SyntaxKind.ImportKeyword)); + 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 => { @@ -5184,7 +5244,7 @@ namespace ts { return undefined; } - if (type.flags & TypeFlags.Union) { + if (type.flags & TypeFlags.Union && !(type.flags & TypeFlags.Enum)) { const result: DefinitionInfo[] = []; forEach((type).types, t => { if (t.symbol) { @@ -5258,7 +5318,7 @@ namespace ts { return undefined; } - const fileNameToDocumentHighlights: Map = {}; + const fileNameToDocumentHighlights = createMap(); const result: DocumentHighlights[] = []; for (const referencedSymbol of referencedSymbols) { for (const referenceEntry of referencedSymbol.references) { @@ -6653,7 +6713,7 @@ namespace ts { // 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*/ {}); + getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ createMap()); } }); @@ -6774,7 +6834,7 @@ namespace ts { // 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*/ {}); + getPropertySymbolsFromBaseTypes(rootSymbol.parent, rootSymbol.getName(), result, /*previousIterationSymbolsCache*/ createMap()); return forEach(result, s => searchSymbols.indexOf(s) >= 0 ? s : undefined); } @@ -7098,7 +7158,6 @@ namespace ts { case SyntaxKind.PropertyAccessExpression: case SyntaxKind.QualifiedName: case SyntaxKind.StringLiteral: - case SyntaxKind.StringLiteralType: case SyntaxKind.FalseKeyword: case SyntaxKind.TrueKeyword: case SyntaxKind.NullKeyword: @@ -7602,7 +7661,7 @@ namespace ts { else if (tokenKind === SyntaxKind.NumericLiteral) { return ClassificationType.numericLiteral; } - else if (tokenKind === SyntaxKind.StringLiteral || tokenKind === SyntaxKind.StringLiteralType) { + else if (tokenKind === SyntaxKind.StringLiteral) { return token.parent.kind === SyntaxKind.JsxAttribute ? ClassificationType.jsxAttributeStringLiteralValue : ClassificationType.stringLiteral; } else if (tokenKind === SyntaxKind.RegularExpressionLiteral) { @@ -7735,14 +7794,14 @@ namespace ts { } function getIndentationAtPosition(fileName: string, position: number, editorOptions: EditorOptions) { - let start = new Date().getTime(); + let start = timestamp(); const sourceFile = syntaxTreeCache.getCurrentSourceFile(fileName); - log("getIndentationAtPosition: getCurrentSourceFile: " + (new Date().getTime() - start)); + log("getIndentationAtPosition: getCurrentSourceFile: " + (timestamp() - start)); - start = new Date().getTime(); + start = timestamp(); const result = formatting.SmartIndenter.getIndentation(position, sourceFile, editorOptions); - log("getIndentationAtPosition: computeIndentation : " + (new Date().getTime() - start)); + log("getIndentationAtPosition: computeIndentation : " + (timestamp() - start)); return result; } @@ -8097,11 +8156,11 @@ namespace ts { } } - function getStringLiteralTypeForNode(node: StringLiteral | StringLiteralTypeNode, typeChecker: TypeChecker): StringLiteralType { - const searchNode = node.parent.kind === SyntaxKind.StringLiteralType ? node.parent : node; + 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 type; } return undefined; } @@ -8259,7 +8318,7 @@ namespace ts { } function initializeNameTable(sourceFile: SourceFile): void { - const nameTable: Map = {}; + const nameTable = createMap(); walk(sourceFile); sourceFile.nameTable = nameTable; @@ -8588,7 +8647,7 @@ namespace ts { addResult(start, end, classFromKind(token)); if (end >= text.length) { - if (token === SyntaxKind.StringLiteral || token === SyntaxKind.StringLiteralType) { + if (token === SyntaxKind.StringLiteral) { // Check to see if we finished up on a multiline string literal. const tokenText = scanner.getTokenText(); if (scanner.isUnterminated()) { @@ -8738,7 +8797,6 @@ namespace ts { case SyntaxKind.NumericLiteral: return ClassificationType.numericLiteral; case SyntaxKind.StringLiteral: - case SyntaxKind.StringLiteralType: return ClassificationType.stringLiteral; case SyntaxKind.RegularExpressionLiteral: return ClassificationType.regularExpressionLiteral; diff --git a/src/services/shims.ts b/src/services/shims.ts index e85bf537d30fb..45c4b284ae744 100644 --- a/src/services/shims.ts +++ b/src/services/shims.ts @@ -72,8 +72,13 @@ namespace ts { 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 +86,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 +250,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; @@ -423,7 +434,7 @@ namespace ts { } public isCancellationRequested(): boolean { - const time = Date.now(); + const time = timestamp(); const duration = Math.abs(time - this.lastCancellationCheckTime); if (duration > 10) { // Check no more than once every 10 ms. @@ -492,19 +503,23 @@ 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 { let start: number; if (logPerformance) { logger.log(actionDescription); - start = Date.now(); + start = timestamp(); } const result = action(); if (logPerformance) { - const end = Date.now(); + const end = timestamp(); logger.log(`${actionDescription} completed in ${end - start} msec`); if (typeof result === "string") { let str = result; @@ -1003,7 +1018,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 +1032,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; diff --git a/src/services/tsconfig.json b/src/services/tsconfig.json index 86efd25493720..cfeb7c2fcd582 100644 --- a/src/services/tsconfig.json +++ b/src/services/tsconfig.json @@ -13,6 +13,7 @@ }, "files": [ "../compiler/core.ts", + "../compiler/performance.ts", "../compiler/sys.ts", "../compiler/types.ts", "../compiler/scanner.ts", diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 0c4c0fd1dea3f..7f41cdbb3a42e 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -434,8 +434,7 @@ namespace ts { export function isInString(sourceFile: SourceFile, position: number): boolean { const previousToken = findPrecedingToken(position, sourceFile); - if (previousToken && - (previousToken.kind === SyntaxKind.StringLiteral || previousToken.kind === SyntaxKind.StringLiteralType)) { + if (previousToken && previousToken.kind === SyntaxKind.StringLiteral) { const start = previousToken.getStart(); const end = previousToken.getEnd(); @@ -633,7 +632,6 @@ namespace ts { export function isStringOrRegularExpressionOrTemplateLiteral(kind: SyntaxKind): boolean { if (kind === SyntaxKind.StringLiteral - || kind === SyntaxKind.StringLiteralType || kind === SyntaxKind.RegularExpressionLiteral || isTemplateLiteralKind(kind)) { return true; @@ -922,7 +920,7 @@ namespace ts { if (host && host.getScriptKind) { scriptKind = host.getScriptKind(fileName); } - if (!scriptKind || scriptKind === ScriptKind.Unknown) { + if (!scriptKind) { scriptKind = getScriptKindFromFileName(fileName); } return ensureScriptKind(fileName, scriptKind); diff --git a/tests/baselines/reference/APISample_watcher.js b/tests/baselines/reference/APISample_watcher.js index 7573f2ba99ea8..cb7fc3a4c5c92 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/ES5For-of30.errors.txt b/tests/baselines/reference/ES5For-of30.errors.txt index ee2d14a4f5809..e99b8284bf336 100644 --- a/tests/baselines/reference/ES5For-of30.errors.txt +++ b/tests/baselines/reference/ES5For-of30.errors.txt @@ -1,4 +1,4 @@ -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,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 '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'. @@ -8,7 +8,7 @@ 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'. ~ diff --git a/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck11.errors.txt index 57a28b6612c54..635bb09616afa 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-ofTypeCheck5.types b/tests/baselines/reference/ES5For-ofTypeCheck5.types index f24aa54c7f323..ed3d13f3918a7 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 3f382d72a08d0..156eb18880367 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/ES5for-of32.types b/tests/baselines/reference/ES5for-of32.types index 6fe5ba2008b82..034d7a3b1eaba 100644 --- a/tests/baselines/reference/ES5for-of32.types +++ b/tests/baselines/reference/ES5for-of32.types @@ -18,7 +18,7 @@ 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[] diff --git a/tests/baselines/reference/TypeGuardWithEnumUnion.types b/tests/baselines/reference/TypeGuardWithEnumUnion.types index 05d55cb0dbba1..dee8feae27d4a 100644 --- a/tests/baselines/reference/TypeGuardWithEnumUnion.types +++ b/tests/baselines/reference/TypeGuardWithEnumUnion.types @@ -6,15 +6,15 @@ enum Color { R, G, B } >B : Color 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/abstractClassInLocalScope.js b/tests/baselines/reference/abstractClassInLocalScope.js new file mode 100644 index 0000000000000..a49da04c8a175 --- /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 0000000000000..8b8033e5c8618 --- /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 0000000000000..56456dc7d8cf6 --- /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 0000000000000..f5c5b417ea31b --- /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 0000000000000..1f6c1dfdd7a00 --- /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/aliasUsageInOrExpression.types b/tests/baselines/reference/aliasUsageInOrExpression.types index c43b7889cc555..0fcf3c3590d22 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/allowSyntheticDefaultImports10.errors.txt b/tests/baselines/reference/allowSyntheticDefaultImports10.errors.txt new file mode 100644 index 0000000000000..981f89214e2ca --- /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 0000000000000..746997c4c8941 --- /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/allowSyntheticDefaultImports7.js b/tests/baselines/reference/allowSyntheticDefaultImports7.js new file mode 100644 index 0000000000000..51cc63e6e11e7 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports7.js @@ -0,0 +1,28 @@ +//// [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 0000000000000..51155dd69dfd8 --- /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 0000000000000..69ce39e6dc6e6 --- /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 0000000000000..acb584f8fd9e0 --- /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 0000000000000..3c3c5fa8d28c7 --- /dev/null +++ b/tests/baselines/reference/allowSyntheticDefaultImports8.js @@ -0,0 +1,28 @@ +//// [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 0000000000000..15810ccaaf703 --- /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 0000000000000..51155dd69dfd8 --- /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 0000000000000..69ce39e6dc6e6 --- /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 0000000000000..0d9fed7724006 --- /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 0000000000000..554d3cfcce8e0 --- /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/amdImportAsPrimaryExpression.types b/tests/baselines/reference/amdImportAsPrimaryExpression.types index eab0b168f445e..8f6e509419f68 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. } diff --git a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types index 6c3978d93aa1d..5d90a8dadc243 100644 --- a/tests/baselines/reference/amdImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/amdImportNotAsPrimaryExpression.types @@ -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 { diff --git a/tests/baselines/reference/anonymousClassExpression1.types b/tests/baselines/reference/anonymousClassExpression1.types index 1e38399f01ed7..0fbffffdf4b82 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/arrayBestCommonTypes.types b/tests/baselines/reference/arrayBestCommonTypes.types index fca66793f40ec..2e87dc2ca15e8 100644 --- a/tests/baselines/reference/arrayBestCommonTypes.types +++ b/tests/baselines/reference/arrayBestCommonTypes.types @@ -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 diff --git a/tests/baselines/reference/arrayConcat2.symbols b/tests/baselines/reference/arrayConcat2.symbols index fb84193c11336..daedee6e9c831 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 b7df374911601..27fe754c48504 100644 --- a/tests/baselines/reference/arrayConcat2.types +++ b/tests/baselines/reference/arrayConcat2.types @@ -5,17 +5,17 @@ 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[] +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >"hello" : string >'world' : string 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[] +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >'Hello' : string var b = new Array(); @@ -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[] +>concat : { (...items: string[][]): string[]; (...items: (string | string[])[]): string[]; } >'hello' : string diff --git a/tests/baselines/reference/arrayConcatMap.symbols b/tests/baselines/reference/arrayConcatMap.symbols index bde2686e25936..5ef9d81172348 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 38e1a1c49c9ec..647406ef1c3d7 100644 --- a/tests/baselines/reference/arrayConcatMap.types +++ b/tests/baselines/reference/arrayConcatMap.types @@ -4,9 +4,9 @@ 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 diff --git a/tests/baselines/reference/arrayLiteralComments.types b/tests/baselines/reference/arrayLiteralComments.types index a8c32b48e41a3..e18635167927c 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() { diff --git a/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt b/tests/baselines/reference/arrayLiteralExpressionContextualTyping.errors.txt index 72ba14113207d..3e9777aea7c26 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/arrayLiteralWithMultipleBestCommonTypes.types b/tests/baselines/reference/arrayLiteralWithMultipleBestCommonTypes.types index 1bbb6c41e8aeb..aad515b62ee5f 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; } diff --git a/tests/baselines/reference/arrayLiterals2ES5.types b/tests/baselines/reference/arrayLiterals2ES5.types index a9cf31611c26f..6eae997f4654c 100644 --- a/tests/baselines/reference/arrayLiterals2ES5.types +++ b/tests/baselines/reference/arrayLiterals2ES5.types @@ -24,8 +24,8 @@ var a1 = ["hello", "world"] >"world" : string var a2 = [, , , ...a0, "hello"]; ->a2 : (number | string)[] ->[, , , ...a0, "hello"] : (number | string)[] +>a2 : (string | number)[] +>[, , , ...a0, "hello"] : (string | number)[] > : undefined > : undefined > : undefined @@ -151,8 +151,8 @@ 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)[] +>d0 : (string | number | boolean)[] +>[1, true, ...temp,] : (string | number | boolean)[] >1 : number >true : boolean >...temp : string @@ -214,8 +214,8 @@ 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[] diff --git a/tests/baselines/reference/arrayLiterals2ES6.types b/tests/baselines/reference/arrayLiterals2ES6.types index b6bf4f1de1b39..f05b0ca9282a6 100644 --- a/tests/baselines/reference/arrayLiterals2ES6.types +++ b/tests/baselines/reference/arrayLiterals2ES6.types @@ -24,8 +24,8 @@ var a1 = ["hello", "world"] >"world" : string var a2 = [, , , ...a0, "hello"]; ->a2 : (number | string)[] ->[, , , ...a0, "hello"] : (number | string)[] +>a2 : (string | number)[] +>[, , , ...a0, "hello"] : (string | number)[] > : undefined > : undefined > : undefined @@ -140,8 +140,8 @@ 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)[] +>d0 : (string | number | boolean)[] +>[1, true, ...temp, ] : (string | number | boolean)[] >1 : number >true : boolean >...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,8 +201,8 @@ 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[] diff --git a/tests/baselines/reference/arrayLiterals3.errors.txt b/tests/baselines/reference/arrayLiterals3.errors.txt index f205e90ecedef..8e6c7eccf81f8 100644 --- a/tests/baselines/reference/arrayLiterals3.errors.txt +++ b/tests/baselines/reference/arrayLiterals3.errors.txt @@ -5,19 +5,19 @@ tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts(11,5): error 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'. ==== tests/cases/conformance/expressions/arrayLiterals/arrayLiterals3.ts (6 errors) ==== @@ -48,8 +48,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 +75,10 @@ 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'. \ No newline at end of file diff --git a/tests/baselines/reference/asOpEmitParens.js b/tests/baselines/reference/asOpEmitParens.js new file mode 100644 index 0000000000000..dee8d263eaef2 --- /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 0000000000000..210d9f3ea0dc2 --- /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 0000000000000..b87d7f4d91f9c --- /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 : number +>3 : number + +// 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 cc8a49ddc55fa..3f69871ea0942 100644 --- a/tests/baselines/reference/asOperator1.types +++ b/tests/baselines/reference/asOperator1.types @@ -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 +>j : string | number +>32 as number|string : string | number >32 : number j = ''; >j = '' : string ->j : number | string +>j : string | number >'' : string diff --git a/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt b/tests/baselines/reference/assignmentCompatBetweenTupleAndArray.errors.txt index c7552c3fdb2a9..03dcee9baf3e1 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/assignmentNonObjectTypeConstraints.types b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types index 94391e2ea5f32..e2c3176940d38 100644 --- a/tests/baselines/reference/assignmentNonObjectTypeConstraints.types +++ b/tests/baselines/reference/assignmentNonObjectTypeConstraints.types @@ -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/awaitUnion_es6.types b/tests/baselines/reference/awaitUnion_es6.types index 97d4bd2fc579b..eabcb56e59cfc 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 +>await_e : string | number +>await e : string | number +>e : number | PromiseLike } diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.js b/tests/baselines/reference/baseTypeWrappingInstantiationChain.js index 62d995c225e08..dc52eeeaee600 100644 --- a/tests/baselines/reference/baseTypeWrappingInstantiationChain.js +++ b/tests/baselines/reference/baseTypeWrappingInstantiationChain.js @@ -1,30 +1,31 @@ //// [baseTypeWrappingInstantiationChain.ts] -class C extends CBase { - public works() { - new CBaseBase>(this); - } - public alsoWorks() { - new CBase(this); // Should not error, parameter is of type Parameter> - } - - public method(t: Wrapper) { } +class CBaseBase { + constructor(x: Parameter) { } } class CBase extends CBaseBase> { } -class CBaseBase { - constructor(x: Parameter) { } -} - class Parameter { method(t: T4) { } } class Wrapper { property: T5; -} +} + +class C extends CBase { + public works() { + new CBaseBase>(this); + } + public alsoWorks() { + new CBase(this); // Should not error, parameter is of type Parameter> + } + + public method(t: Wrapper) { } +} + //// [baseTypeWrappingInstantiationChain.js] var __extends = (this && this.__extends) || function (d, b) { @@ -32,20 +33,11 @@ var __extends = (this && this.__extends) || function (d, b) { function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; -var C = (function (_super) { - __extends(C, _super); - function C() { - _super.apply(this, arguments); +var CBaseBase = (function () { + function CBaseBase(x) { } - C.prototype.works = function () { - new CBaseBase(this); - }; - C.prototype.alsoWorks = function () { - new CBase(this); // Should not error, parameter is of type Parameter> - }; - C.prototype.method = function (t) { }; - return C; -}(CBase)); + return CBaseBase; +}()); var CBase = (function (_super) { __extends(CBase, _super); function CBase() { @@ -53,11 +45,6 @@ var CBase = (function (_super) { } return CBase; }(CBaseBase)); -var CBaseBase = (function () { - function CBaseBase(x) { - } - return CBaseBase; -}()); var Parameter = (function () { function Parameter() { } @@ -69,3 +56,17 @@ var Wrapper = (function () { } return Wrapper; }()); +var C = (function (_super) { + __extends(C, _super); + function C() { + _super.apply(this, arguments); + } + C.prototype.works = function () { + new CBaseBase(this); + }; + C.prototype.alsoWorks = function () { + new CBase(this); // Should not error, parameter is of type Parameter> + }; + C.prototype.method = function (t) { }; + return C; +}(CBase)); diff --git a/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols b/tests/baselines/reference/baseTypeWrappingInstantiationChain.symbols index 936110ea43a6d..67550141758ab 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)) - - 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)) - } +class CBaseBase { +>CBaseBase : Symbol(CBaseBase, Decl(baseTypeWrappingInstantiationChain.ts, 0, 0)) +>T3 : Symbol(T3, Decl(baseTypeWrappingInstantiationChain.ts, 0, 16)) - 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 ba702171de9db..ede580c6c7d29 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 0000000000000..0c1bf5df2d420 --- /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 0000000000000..25f7de2eeda5a --- /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 0000000000000..f88cf64e5a27b --- /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; } +>'' : string +>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; } +>'' : string +>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; } +>'' : string +>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 1191004a32bef..2a5ee6a2fe230 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions.types @@ -60,8 +60,8 @@ var r4 = true ? a : b; // typeof a >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; } +>r5 : { x: number; y?: number; } | { x: number; z?: number; } +>true ? b : a : { x: number; y?: number; } | { x: number; z?: number; } >true : boolean >b : { x: number; z?: number; } >a : { x: number; y?: number; } diff --git a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types index ef9ecfb2a1190..833bddd0e7c62 100644 --- a/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types +++ b/tests/baselines/reference/bestCommonTypeOfConditionalExpressions2.types @@ -29,8 +29,8 @@ var derived2: Derived2; >Derived2 : Derived2 var r2 = true ? 1 : ''; ->r2 : number | string ->true ? 1 : '' : number | string +>r2 : string | number +>true ? 1 : '' : string | number >true : boolean >1 : number >'' : string diff --git a/tests/baselines/reference/bestCommonTypeOfTuple.types b/tests/baselines/reference/bestCommonTypeOfTuple.types index 7d3330f486341..6aa84f37ebac6 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple.types @@ -98,8 +98,8 @@ var e3 = t3[2]; // any >2 : number 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 diff --git a/tests/baselines/reference/bestCommonTypeOfTuple2.types b/tests/baselines/reference/bestCommonTypeOfTuple2.types index 573e346637601..864d3030d8886 100644 --- a/tests/baselines/reference/bestCommonTypeOfTuple2.types +++ b/tests/baselines/reference/bestCommonTypeOfTuple2.types @@ -66,8 +66,8 @@ 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 @@ -90,8 +90,8 @@ var e41 = t4[2]; // base1 >2 : number var e51 = t5[2]; // {} ->e51 : C1 | F ->t5[2] : C1 | F +>e51 : F | C1 +>t5[2] : F | C1 >t5 : [C1, F] >2 : number diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types index 244160dcc6b38..477d36982f44c 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop2.types @@ -25,7 +25,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } @@ -63,7 +63,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue; } @@ -104,7 +104,7 @@ 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 @@ -146,7 +146,7 @@ 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 diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types index 0753391d5c225..ee69f9a5a9f62 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop3.types @@ -26,7 +26,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; } @@ -96,7 +96,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 continue; } @@ -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 @@ -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 diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types index 006f536ccca4e..c3576bbccd264 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop4.types @@ -28,7 +28,7 @@ function f1() { if (x == 1) { >x == 1 : boolean >x : number ->1 : number +>1 : 1 return 1; >1 : number diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types index 530978dc722ed..47a0fd5289125 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop5.types @@ -25,7 +25,7 @@ for (let x = 1, y = 2; x < y; ++x, --y) { if (x == 1) >x == 1 : boolean >x : number ->1 : number +>1 : 1 break; else diff --git a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types index 673c0788a033b..c4287869ec0a3 100644 --- a/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types +++ b/tests/baselines/reference/blockScopedBindingsReassignedInLoop6.types @@ -29,13 +29,13 @@ 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 @@ -85,13 +85,13 @@ 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 diff --git a/tests/baselines/reference/booleanLiteralTypes1.js b/tests/baselines/reference/booleanLiteralTypes1.js new file mode 100644 index 0000000000000..6fb0244ac687d --- /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 0000000000000..ee7ab2ca67449 --- /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 0000000000000..704eba4055b00 --- /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 : false +>t && f : false +>t : true +>f : false + + var x2 = f && t; +>x2 : false +>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 : true +>f || t : true +>f : false +>t : true + + var x5 = !t; +>x5 : boolean +>!t : boolean +>t : true + + var x6 = !f; +>x6 : true +>!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" : string +} + +function f10(x: true | false) { +>f10 : (x: boolean) => string +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : string + + case false: return "false"; +>false : false +>"false" : string + } +} + +function f11(x: true | false) { +>f11 : (x: boolean) => string +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : string + + case false: return "false"; +>false : false +>"false" : string + } + 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 0000000000000..7ef643593a684 --- /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 0000000000000..1f64767cbb4d7 --- /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 0000000000000..76cca9481d4a0 --- /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 : false +>t && f : false +>t : true +>f : false + + var x2 = f && t; +>x2 : false +>f && t : false +>f : false +>t : true + + var x3 = t || f; +>x3 : true +>t || f : true +>t : true +>f : false + + var x4 = f || t; +>x4 : true +>f || t : true +>f : false +>t : true + + var x5 = !t; +>x5 : false +>!t : false +>t : true + + var x6 = !f; +>x6 : true +>!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" : string +} + +function f10(x: true | false) { +>f10 : (x: boolean) => string +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : string + + case false: return "false"; +>false : false +>"false" : string + } +} + +function f11(x: true | false) { +>f11 : (x: boolean) => string +>x : boolean +>true : true +>false : false + + switch (x) { +>x : boolean + + case true: return "true"; +>true : true +>"true" : string + + case false: return "false"; +>false : false +>"false" : string + } + 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/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types index fe7d3a6ad089c..76b8a51370261 100644 --- a/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/callExpressionWithTypeParameterConstrainedToOuterTypeParameter.types @@ -15,8 +15,8 @@ var i: I; >I : I var y = i(""); // y should be string ->y : string ->i("") : string +>y : "" +>i("") : "" >i : I ->"" : string +>"" : "" diff --git a/tests/baselines/reference/callWithSpread.types b/tests/baselines/reference/callWithSpread.types index eae92c471e91f..bc120dc4043bc 100644 --- a/tests/baselines/reference/callWithSpread.types +++ b/tests/baselines/reference/callWithSpread.types @@ -163,8 +163,8 @@ xa[1].foo(1, 2, ...a, "abc"); >xa : X[] >1 : number >foo : (x: number, y: number, ...z: string[]) => any ->...[1, 2, "abc"] : number | string ->[1, 2, "abc"] : (number | string)[] +>...[1, 2, "abc"] : string | number +>[1, 2, "abc"] : (string | number)[] >1 : number >2 : number >"abc" : string diff --git a/tests/baselines/reference/callWithSpreadES6.types b/tests/baselines/reference/callWithSpreadES6.types index b0c118855fef7..99fe1330df9aa 100644 --- a/tests/baselines/reference/callWithSpreadES6.types +++ b/tests/baselines/reference/callWithSpreadES6.types @@ -164,8 +164,8 @@ xa[1].foo(1, 2, ...a, "abc"); >xa : X[] >1 : number >foo : (x: number, y: number, ...z: string[]) => any ->...[1, 2, "abc"] : number | string ->[1, 2, "abc"] : (number | string)[] +>...[1, 2, "abc"] : string | number +>[1, 2, "abc"] : (string | number)[] >1 : number >2 : number >"abc" : string diff --git a/tests/baselines/reference/capturedLetConstInLoop1.types b/tests/baselines/reference/capturedLetConstInLoop1.types index bed3db55d7cf2..c60ac25ce1fd8 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/capturedLetConstInLoop11.types b/tests/baselines/reference/capturedLetConstInLoop11.types index 93e18f2cb27ba..09fad9f202308 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11.types +++ b/tests/baselines/reference/capturedLetConstInLoop11.types @@ -21,7 +21,7 @@ function foo() { >a : number case 0: return () => a; ->0 : number +>0 : 0 >() => a : () => number >a : number } diff --git a/tests/baselines/reference/capturedLetConstInLoop11_ES6.types b/tests/baselines/reference/capturedLetConstInLoop11_ES6.types index de75d5d15118b..d6fd971202c54 100644 --- a/tests/baselines/reference/capturedLetConstInLoop11_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop11_ES6.types @@ -21,7 +21,7 @@ function foo() { >a : number case 0: return () => a; ->0 : number +>0 : 0 >() => a : () => number >a : number } diff --git a/tests/baselines/reference/capturedLetConstInLoop1_ES6.types b/tests/baselines/reference/capturedLetConstInLoop1_ES6.types index 47b125866849c..cee71c0d5cd3c 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.types b/tests/baselines/reference/capturedLetConstInLoop2.types index 2872eb4c763f8..f4f7a926f8946 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.types b/tests/baselines/reference/capturedLetConstInLoop2_ES6.types index 8a4d9c826285e..80e455e44cefe 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.types b/tests/baselines/reference/capturedLetConstInLoop3.types index 9c0c188b7272b..3f35072fdb2cd 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.types b/tests/baselines/reference/capturedLetConstInLoop3_ES6.types index 03377d913c967..3c7776a665119 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.types b/tests/baselines/reference/capturedLetConstInLoop4.types index 1bc928cefe447..16226243c53a3 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.types b/tests/baselines/reference/capturedLetConstInLoop4_ES6.types index cf44c7b69819e..fba7d88ec488f 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.types b/tests/baselines/reference/capturedLetConstInLoop5.types index b7b4b880dc4c1..098a1ce70a474 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.types b/tests/baselines/reference/capturedLetConstInLoop5_ES6.types index 855bbfc63086a..78b41d7cdf354 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.types b/tests/baselines/reference/capturedLetConstInLoop6.types index f2b1103305fb8..a7d28222bb09f 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.types b/tests/baselines/reference/capturedLetConstInLoop6_ES6.types index cfd55a63aaab2..14635c0cd1c8a 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.types b/tests/baselines/reference/capturedLetConstInLoop7.types index 29ea34e39a16b..641ccb9dbeacb 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.types b/tests/baselines/reference/capturedLetConstInLoop7_ES6.types index c72afb4194200..666f3e33e0f2c 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.types b/tests/baselines/reference/capturedLetConstInLoop8.types index 9c3db88535c86..618e71038ffd6 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.types b/tests/baselines/reference/capturedLetConstInLoop8_ES6.types index 7911e9b63a259..0b877d27a4632 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.types b/tests/baselines/reference/capturedLetConstInLoop9.types index 7f793ab66016d..9f1bab2014871 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9.types +++ b/tests/baselines/reference/capturedLetConstInLoop9.types @@ -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 @@ -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 @@ -132,7 +132,7 @@ function foo() { 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,7 +153,7 @@ function foo() { if (b === 3) { >b === 3 : boolean >b : any ->3 : number +>3 : 3 break l1; >l1 : any @@ -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 @@ -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 } } } diff --git a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types index dfbfa387ed409..8a4adafe34069 100644 --- a/tests/baselines/reference/capturedLetConstInLoop9_ES6.types +++ b/tests/baselines/reference/capturedLetConstInLoop9_ES6.types @@ -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 @@ -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 @@ -133,7 +133,7 @@ function foo() { 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,7 +154,7 @@ function foo() { if (b === 3) { >b === 3 : boolean >b : any ->3 : number +>3 : 3 break l1; >l1 : any @@ -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 @@ -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 } } } diff --git a/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types b/tests/baselines/reference/checkSwitchStatementIfCaseTypeIsString.types index fa394b4e0bd32..30f584894fcc3 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 0000000000000..82c9205ae548d --- /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 518766ceb5d85..0000000000000 --- 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 e4b2f27dbbed2..0000000000000 --- 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/circularTypeAliasForUnionWithClass.types b/tests/baselines/reference/circularTypeAliasForUnionWithClass.types index 99a05f3d66a50..8735c19875e38 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 4325f9c774ab5..941c23f866474 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/classConstructorAccessibility2.errors.txt b/tests/baselines/reference/classConstructorAccessibility2.errors.txt index 7bd784ac268c2..337e9787e5e3f 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 e19589ece4521..03b7af3e716c1 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 0000000000000..f372bd5c10a1b --- /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 0000000000000..ec9e9f83a8e41 --- /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/classDoesNotDependOnBaseTypes.types b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types index c342f0ea002cd..529be3c66353f 100644 --- a/tests/baselines/reference/classDoesNotDependOnBaseTypes.types +++ b/tests/baselines/reference/classDoesNotDependOnBaseTypes.types @@ -1,24 +1,24 @@ === 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] : StringTree >x : StringTreeCollection >0 : number >"" : string x[0] = new StringTreeCollection; >x[0] = new StringTreeCollection : StringTreeCollection ->x[0] : string | StringTreeCollection +>x[0] : StringTree >x : StringTreeCollection >0 : number >new StringTreeCollection : StringTreeCollection @@ -26,7 +26,7 @@ if (typeof x !== "string") { } 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 0000000000000..2a7a2e160f16c --- /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 bc1b263a00044..0000000000000 --- 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 87423ecf0bd60..0000000000000 --- 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/classExpressionES63.errors.txt b/tests/baselines/reference/classExpressionES63.errors.txt new file mode 100644 index 0000000000000..9463162e4a6fb --- /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.symbols b/tests/baselines/reference/classExpressionES63.symbols deleted file mode 100644 index 4e52d5ee9ddc1..0000000000000 --- 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 5b07bf79692b0..0000000000000 --- 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/classExpressionWithStaticPropertiesES64.js b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.js new file mode 100644 index 0000000000000..ac09415bc0e4e --- /dev/null +++ b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.js @@ -0,0 +1,10 @@ +//// [classExpressionWithStaticPropertiesES64.ts] +(class { static x = 0; }); + + +//// [classExpressionWithStaticPropertiesES64.js] +((classExpression_1 = class { + }, + classExpression_1.x = 0, + classExpression_1)); +var classExpression_1; diff --git a/tests/baselines/reference/classExpressionWithStaticPropertiesES64.symbols b/tests/baselines/reference/classExpressionWithStaticPropertiesES64.symbols new file mode 100644 index 0000000000000..1289a526e4a64 --- /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 0000000000000..f48ec6fdde6b6 --- /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 : number + diff --git a/tests/baselines/reference/classInheritence.errors.txt b/tests/baselines/reference/classInheritence.errors.txt index cba8c040d6e43..cd95dedbfcf4f 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/classOrder2.errors.txt b/tests/baselines/reference/classOrder2.errors.txt new file mode 100644 index 0000000000000..a1b8dc6346e63 --- /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 8ca6e89e1db3b..0000000000000 --- 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 ac65da2ec9d80..0000000000000 --- 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 0000000000000..e286594ec2de3 --- /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 b90ae38a4a9b6..0000000000000 --- 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 7a3ee630266d4..0000000000000 --- 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/commentsEnums.types b/tests/baselines/reference/commentsEnums.types index 64404bff2e53c..ef2c52067d1ce 100644 --- a/tests/baselines/reference/commentsEnums.types +++ b/tests/baselines/reference/commentsEnums.types @@ -20,10 +20,10 @@ var x = Colors.Cornflower; >Cornflower : Colors 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/commentsdoNotEmitComments.types b/tests/baselines/reference/commentsdoNotEmitComments.types index 067275f215115..465c841e20f66 100644 --- a/tests/baselines/reference/commentsdoNotEmitComments.types +++ b/tests/baselines/reference/commentsdoNotEmitComments.types @@ -165,7 +165,7 @@ const enum color { red, green, 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/commonJSImportNotAsPrimaryExpression.types b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types index 6c3978d93aa1d..5d90a8dadc243 100644 --- a/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types +++ b/tests/baselines/reference/commonJSImportNotAsPrimaryExpression.types @@ -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 { diff --git a/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types b/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types index 67077683d8733..0f07c158cc4e4 100644 --- a/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types +++ b/tests/baselines/reference/comparisonOperatorWithSubtypeEnumAndNumber.types @@ -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/complexClassRelationships.errors.txt b/tests/baselines/reference/complexClassRelationships.errors.txt new file mode 100644 index 0000000000000..33413e496d4b4 --- /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 9f6b3adf98dfa..0000000000000 --- 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 525baf5168abd..0000000000000 --- 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/compoundAdditionAssignmentLHSCanBeAssigned.types b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types index e40422450b44f..77189e5fee233 100644 --- a/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types +++ b/tests/baselines/reference/compoundAdditionAssignmentLHSCanBeAssigned.types @@ -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 diff --git a/tests/baselines/reference/computedPropertyNames1_ES5.types b/tests/baselines/reference/computedPropertyNames1_ES5.types index bcff3b34177f7..a77895e06d1fc 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES5.types +++ b/tests/baselines/reference/computedPropertyNames1_ES5.types @@ -1,7 +1,7 @@ === 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 diff --git a/tests/baselines/reference/computedPropertyNames1_ES6.types b/tests/baselines/reference/computedPropertyNames1_ES6.types index df2237a463f02..503988b0314f7 100644 --- a/tests/baselines/reference/computedPropertyNames1_ES6.types +++ b/tests/baselines/reference/computedPropertyNames1_ES6.types @@ -1,7 +1,7 @@ === 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 diff --git a/tests/baselines/reference/computedPropertyNames4_ES5.types b/tests/baselines/reference/computedPropertyNames4_ES5.types index 3c5f884640fbe..a71b3984ec8fb 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES5.types +++ b/tests/baselines/reference/computedPropertyNames4_ES5.types @@ -9,8 +9,8 @@ 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 diff --git a/tests/baselines/reference/computedPropertyNames4_ES6.types b/tests/baselines/reference/computedPropertyNames4_ES6.types index 335c2415bd060..a4bcc59711c11 100644 --- a/tests/baselines/reference/computedPropertyNames4_ES6.types +++ b/tests/baselines/reference/computedPropertyNames4_ES6.types @@ -9,8 +9,8 @@ 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 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types index b49724ccded92..e5b7440f49e62 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES5.types @@ -17,9 +17,9 @@ 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]: string | number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; p: string; } p: "", >p : string diff --git a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types index e88959d7cdc5f..71498d7f3d4ad 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType6_ES6.types @@ -17,9 +17,9 @@ 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]: string | number | boolean | (() => void) | number[]; [x: number]: number | (() => void) | number[]; 0: () => void; p: string; } p: "", >p : string diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types index 64367864881c9..c209945630332 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES5.types @@ -33,9 +33,9 @@ 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 diff --git a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types index 07aeda807b0c5..6ae7d7eeadacc 100644 --- a/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types +++ b/tests/baselines/reference/computedPropertyNamesContextualType7_ES6.types @@ -33,9 +33,9 @@ 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 diff --git a/tests/baselines/reference/concatError.symbols b/tests/baselines/reference/concatError.symbols index 23cc55c85be45..d4f04531fc7e2 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 21a5cc5d0899d..9624342bd2141 100644 --- a/tests/baselines/reference/concatError.types +++ b/tests/baselines/reference/concatError.types @@ -16,9 +16,9 @@ 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 @@ -26,9 +26,9 @@ 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 diff --git a/tests/baselines/reference/concatTuples.js b/tests/baselines/reference/concatTuples.js new file mode 100644 index 0000000000000..699c43f210ea0 --- /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 0000000000000..a6524f3e1ff2f --- /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 0000000000000..3923470b78d5a --- /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 : number +>2 : number + +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 : number +>4 : number +>[5, 6] : [number, number] +>5 : number +>6 : number + diff --git a/tests/baselines/reference/conditionalExpression1.errors.txt b/tests/baselines/reference/conditionalExpression1.errors.txt index 49ed20953532c..0e2919867858d 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 'string | number' is not assignable to type 'boolean'. + Type 'string' 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 'string | number' is not assignable to type 'boolean'. +!!! error TS2322: Type 'string' is not assignable to type 'boolean'. \ No newline at end of file diff --git a/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types b/tests/baselines/reference/conditionalOperatorConditionIsBooleanType.types index 4d28939b696ae..ec3bd526e9e4b 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 @@ -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 @@ -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/conditionalOperatorWithIdenticalBCT.types b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types index 026c8f4227218..3f5f6454eda08 100644 --- a/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types +++ b/tests/baselines/reference/conditionalOperatorWithIdenticalBCT.types @@ -218,7 +218,7 @@ 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 ? 1 : 'string' : string | number >true : boolean >1 : number >'string' : string diff --git a/tests/baselines/reference/constEnums.types b/tests/baselines/reference/constEnums.types index a59bd2d012a6d..83ee20100e5a2 100644 --- a/tests/baselines/reference/constEnums.types +++ b/tests/baselines/reference/constEnums.types @@ -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 } } diff --git a/tests/baselines/reference/constLocalsInFunctionExpressions.types b/tests/baselines/reference/constLocalsInFunctionExpressions.types index e9f0086f6b1b5..db1da04e0ca1e 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/constructorWithIncompleteTypeAnnotation.errors.txt b/tests/baselines/reference/constructorWithIncompleteTypeAnnotation.errors.txt index b9804b1b6dbcb..4011a51f557e9 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,9 @@ 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 | true'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(184,13): error TS2322: Type 'boolean' is not assignable to type 'number | true'. +tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(192,13): error TS2322: Type 'boolean' is not assignable to type 'number | true'. 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 +86,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 (86 errors) ==== declare module "fs" { export class File { @@ -152,7 +155,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 +171,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,8 +352,12 @@ 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 | true'. i = ~i;/*~i*/ b = i < (i - 1) && (i + 1) > i;/*< && >*/ + ~ +!!! error TS2322: Type 'boolean' is not assignable to type 'number | true'. var f = true ? 1 : 0;/*? :*/ // YES : i++;/*++*/ i--;/*--*/ @@ -359,6 +366,8 @@ tests/cases/compiler/constructorWithIncompleteTypeAnnotation.ts(262,1): error TS 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 | true'. i += 5.0;/*+=*/ i -= i;/*-=*/ i *= i;/**=*/ diff --git a/tests/baselines/reference/contextualSignatureInstantiation.types b/tests/baselines/reference/contextualSignatureInstantiation.types index dd88a00ae3a3e..49d6871804c04 100644 --- a/tests/baselines/reference/contextualSignatureInstantiation.types +++ b/tests/baselines/reference/contextualSignatureInstantiation.types @@ -87,24 +87,24 @@ var a = baz(1, 1, g); // Should be number >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 >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 @@ -112,11 +112,11 @@ var b = bar("one", 1, g); // Should be number | string >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[]; @@ -138,7 +138,7 @@ var d = bar(1, "one", h); // Should be number[] | string[] 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 diff --git a/tests/baselines/reference/contextualTypeWithTuple.errors.txt b/tests/baselines/reference/contextualTypeWithTuple.errors.txt index a2d3b224ddc29..e0580ca237961 100644 --- a/tests/baselines/reference/contextualTypeWithTuple.errors.txt +++ b/tests/baselines/reference/contextualTypeWithTuple.errors.txt @@ -1,8 +1,8 @@ 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. @@ -30,9 +30,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 }]]; diff --git a/tests/baselines/reference/contextualTyping21.errors.txt b/tests/baselines/reference/contextualTyping21.errors.txt index db6ecd32b97f5..0bac30d5b4462 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/contextualTyping30.errors.txt b/tests/baselines/reference/contextualTyping30.errors.txt index bce19c508967c..eda30769ac81d 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/contextualTypingOfArrayLiterals1.errors.txt b/tests/baselines/reference/contextualTypingOfArrayLiterals1.errors.txt index 698a8e789f0d8..be73de51f138b 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/contextuallyTypedIife.types b/tests/baselines/reference/contextuallyTypedIife.types index 0f2092ef7c381..8777e3cef3f95 100644 --- a/tests/baselines/reference/contextuallyTypedIife.types +++ b/tests/baselines/reference/contextuallyTypedIife.types @@ -119,18 +119,18 @@ ((...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 +>n : string | number >5 : number >'oops' : string >'oh no' : string diff --git a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types index 2aeb286d60490..885b67d414046 100644 --- a/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types +++ b/tests/baselines/reference/continueInLoopsWithCapturedBlockScopedBindings1.types @@ -11,7 +11,7 @@ function foo() { if (i === 0) { >i === 0 : boolean >i : number ->0 : number +>0 : 0 continue; } diff --git a/tests/baselines/reference/controlFlowAssignmentExpression.types b/tests/baselines/reference/controlFlowAssignmentExpression.types index 24355fd8c4a40..107fb4cb332ec 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 +>x : string | number | boolean >"" : string x = x.length; >x = x.length : number ->x : string | boolean | number +>x : string | number | boolean >x.length : number >x : string >length : number @@ -22,7 +22,7 @@ x; // number x = true; >x = true : boolean ->x : string | boolean | number +>x : string | number | boolean >true : boolean (x = "", obj).foo = (x = x.length); @@ -31,13 +31,13 @@ x = true; >(x = "", obj) : any >x = "", obj : any >x = "" : string ->x : string | boolean | number +>x : string | number | boolean >"" : string >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/controlFlowBinaryOrExpression.symbols b/tests/baselines/reference/controlFlowBinaryOrExpression.symbols index e47bdb19d346c..217e11dc95d0a 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 8c1cd32d8d9d7..7e92fcdbbd153 100644 --- a/tests/baselines/reference/controlFlowBinaryOrExpression.types +++ b/tests/baselines/reference/controlFlowBinaryOrExpression.types @@ -25,7 +25,7 @@ x = ""; >"" : string cond || (x = 0); ->cond || (x = 0) : boolean | number +>cond || (x = 0) : number | true >cond : boolean >(x = 0) : number >x = 0 : 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 cd603b274d139..137fbc3d19c53 100644 --- a/tests/baselines/reference/controlFlowCaching.types +++ b/tests/baselines/reference/controlFlowCaching.types @@ -43,7 +43,7 @@ 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 @@ -180,7 +180,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >o.titleGap : any >o : any >titleGap : any ->0 : number +>0 : 0 >0 : number >o.titleGap || (ta.title && ta.title.gap) || 15 : any >o.titleGap || (ta.title && ta.title.gap) : any @@ -545,7 +545,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >taTitleOrientation : any >taTitleOrientation == "away" : boolean >taTitleOrientation : any ->"away" : string +>"away" : "away" >180 : number >0 : number @@ -570,7 +570,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { >labelAlign : any case "start": ->"start" : string +>"start" : "start" labelAlign = "end"; >labelAlign = "end" : string @@ -579,7 +579,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { break; case "end": ->"end" : string +>"end" : "end" labelAlign = "start"; >labelAlign = "start" : string @@ -588,7 +588,7 @@ function f(dim, offsets, arr, acommon, centerAnchorLimit, g, has, lin) { 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 53014ceafa7b0..211fae3655a14 100644 --- a/tests/baselines/reference/controlFlowCommaOperator.types +++ b/tests/baselines/reference/controlFlowCommaOperator.types @@ -19,7 +19,7 @@ function f(x: string | number | boolean) { >typeof x === "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" x; // string >x : string @@ -38,7 +38,7 @@ function f(x: string | number | boolean) { >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 | boolean } diff --git a/tests/baselines/reference/controlFlowDeleteOperator.types b/tests/baselines/reference/controlFlowDeleteOperator.types index 365174db0587d..b0040f12bc2c2 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 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 +>x.a : string | number | undefined +>x : { a?: string | number | undefined; b: string | number; } +>a : string | number | undefined >1 : number x.b = 1; >x.b = 1 : number ->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 >1 : number 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/controlFlowDoWhileStatement.types b/tests/baselines/reference/controlFlowDoWhileStatement.types index a82ae1b716efe..55329cbcea1d5 100644 --- a/tests/baselines/reference/controlFlowDoWhileStatement.types +++ b/tests/baselines/reference/controlFlowDoWhileStatement.types @@ -68,7 +68,7 @@ function c() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" break; } while (cond) @@ -131,13 +131,13 @@ 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 +>x : string | number | boolean | Function | RegExp >"" : string do { @@ -146,7 +146,7 @@ function f() { x = 42; >x = 42 : number ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >42 : number break; @@ -156,14 +156,14 @@ function f() { x = true; >x = true : boolean ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >true : boolean continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } while (cond) @@ -176,13 +176,13 @@ 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 +>x : string | number | boolean | Function | RegExp >"" : string do { @@ -191,7 +191,7 @@ function g() { x = 42; >x = 42 : number ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >42 : number break; @@ -201,14 +201,14 @@ function g() { x = true; >x = true : boolean ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >true : boolean continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } while (true) diff --git a/tests/baselines/reference/controlFlowForInStatement.types b/tests/baselines/reference/controlFlowForInStatement.types index e46db37bb16fb..cab3a70160231 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,7 +21,7 @@ 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) { @@ -29,7 +29,7 @@ for (let y in obj) { x = 42; >x = 42 : number ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >42 : number continue; @@ -39,12 +39,12 @@ for (let y in obj) { x = true; >x = true : boolean ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >true : boolean break; } } x; // RegExp | string | number | boolean ->x : RegExp | number | string | boolean +>x : string | number | boolean | RegExp diff --git a/tests/baselines/reference/controlFlowForOfStatement.types b/tests/baselines/reference/controlFlowForOfStatement.types index 437576e51b6c4..41e312347e798 100644 --- a/tests/baselines/reference/controlFlowForOfStatement.types +++ b/tests/baselines/reference/controlFlowForOfStatement.types @@ -27,6 +27,6 @@ function a() { >toExponential : (fractionDigits?: number) => string } x; // string | boolean ->x : boolean | string +>x : string | boolean } diff --git a/tests/baselines/reference/controlFlowForStatement.types b/tests/baselines/reference/controlFlowForStatement.types index cdf049b32d6ab..d0b0a2e6b8a11 100644 --- a/tests/baselines/reference/controlFlowForStatement.types +++ b/tests/baselines/reference/controlFlowForStatement.types @@ -84,7 +84,7 @@ function d() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" >x = 5 : number >x : string | number | boolean >5 : number @@ -109,7 +109,7 @@ function e() { >typeof x !== "string" : boolean >typeof x : string >x : string | number | boolean ->"string" : string +>"string" : "string" >x = "" || true : string | boolean >x : string | number | boolean | RegExp >"" || true : string | boolean @@ -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 c041de04bc724..dd1fbacc42425 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 diff --git a/tests/baselines/reference/controlFlowIfStatement.js b/tests/baselines/reference/controlFlowIfStatement.js index a70c07d38dc1b..e40b831552f3d 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 1d85b31c9988f..e4d2bb9f184c0 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 dc07e23275f0f..79985378bf5bd 100644 --- a/tests/baselines/reference/controlFlowIfStatement.types +++ b/tests/baselines/reference/controlFlowIfStatement.types @@ -20,7 +20,7 @@ if (x /* RegExp */, (x = true)) { >true : boolean x; // boolean ->x : boolean +>x : true x = ""; >x = "" : string @@ -90,4 +90,51 @@ function b() { 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' : string + } + else { + return data; +>data : never + } +} diff --git a/tests/baselines/reference/controlFlowInstanceof.js b/tests/baselines/reference/controlFlowInstanceof.js new file mode 100644 index 0000000000000..3f2287b46285a --- /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 0000000000000..3189482799013 --- /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 0000000000000..e52d1a25b1d0d --- /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 : number +} + +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 : number +} + +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/controlFlowIterationErrors.errors.txt b/tests/baselines/reference/controlFlowIterationErrors.errors.txt index 737a9e9557bfb..1f090ccd35fbb 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/controlFlowPropertyDeclarations.types b/tests/baselines/reference/controlFlowPropertyDeclarations.types index 81c86e8625d04..030f22a1ffb0d 100644 --- a/tests/baselines/reference/controlFlowPropertyDeclarations.types +++ b/tests/baselines/reference/controlFlowPropertyDeclarations.types @@ -62,7 +62,7 @@ function repeatString(string, times) { if (times === 1) { >times === 1 : boolean >times : any ->1 : number +>1 : 1 return string; >string : 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. @@ -316,9 +316,9 @@ export class HTMLtoJSX { >'{' + 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 diff --git a/tests/baselines/reference/controlFlowWhileStatement.types b/tests/baselines/reference/controlFlowWhileStatement.types index a17c084228bd3..8caae2238d229 100644 --- a/tests/baselines/reference/controlFlowWhileStatement.types +++ b/tests/baselines/reference/controlFlowWhileStatement.types @@ -71,7 +71,7 @@ function c() { >typeof x === "string" : boolean >typeof x : string >x : string | number ->"string" : string +>"string" : "string" break; } @@ -135,57 +135,57 @@ 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 +>x : string | number | boolean | Function | RegExp >"" : string while (cond) { >cond : boolean if (cond) { ->cond : boolean +>cond : true x = 42; >x = 42 : number ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >42 : number break; } if (cond) { ->cond : boolean +>cond : true x = true; >x = true : boolean ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >true : boolean 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 | boolean | 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 +>x : string | number | boolean | Function | RegExp >"" : string while (true) { @@ -196,7 +196,7 @@ function g() { x = 42; >x = 42 : number ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >42 : number break; @@ -206,14 +206,14 @@ function g() { x = true; >x = true : boolean ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >true : boolean continue; } x = /a/; >x = /a/ : RegExp ->x : string | number | boolean | RegExp | Function +>x : string | number | boolean | Function | RegExp >/a/ : RegExp } x; // number diff --git a/tests/baselines/reference/declFileTypeAnnotationParenType.js b/tests/baselines/reference/declFileTypeAnnotationParenType.js index 4afe07cc9d8d0..4707007cd1b3f 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 6776a0f492f41..31b6ad037513d 100644 --- a/tests/baselines/reference/declFileTypeAnnotationParenType.types +++ b/tests/baselines/reference/declFileTypeAnnotationParenType.types @@ -23,9 +23,9 @@ 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()) || "" : string | (() => c) >(() => new c()) : () => c >() => new c() : () => c >new c() : c @@ -33,8 +33,8 @@ var k: (() => c) | string = (() => new c()) || ""; >"" : string var l = (() => new c()) || ""; ->l : (() => c) | string ->(() => new c()) || "" : (() => c) | string +>l : string | (() => c) +>(() => new c()) || "" : string | (() => c) >(() => new c()) : () => c >() => new c() : () => c >new c() : c diff --git a/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types b/tests/baselines/reference/declFileTypeAnnotationStringLiteral.types index 3041b92cf6dc7..6d9c17b4ab907 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 e93f86dbde72f..53db7a54d0d46 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/declarationEmitDestructuring3.js b/tests/baselines/reference/declarationEmitDestructuring3.js index 81cb1d96fd8fc..b21c63203c894 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 737bb39e078f8..da9fc6d66061b 100644 --- a/tests/baselines/reference/declarationEmitDestructuring3.types +++ b/tests/baselines/reference/declarationEmitDestructuring3.types @@ -6,10 +6,10 @@ 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)[] +>foo : ([x, ...y]?: (string | number | boolean)[]) => void +>x : string | number | boolean +>y : (string | number | boolean)[] +>[1, "string", true] : (string | number | boolean)[] >1 : number >"string" : string >true : boolean diff --git a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.js index 28330d94f7797..9a9be8c69da32 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 9629324b9f92b..0feeaf2db1ad0 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern1.types @@ -1,7 +1,7 @@ === tests/cases/compiler/declarationEmitDestructuringArrayPattern1.ts === var [] = [1, "hello"]; // Dont emit anything ->[1, "hello"] : (number | string)[] +>[1, "hello"] : (string | number)[] >1 : number >"hello" : string @@ -28,18 +28,18 @@ var [, , z1] = [0, 1, 2]; // emit z1: number >2 : number var a = [1, "hello"]; ->a : (number | string)[] ->[1, "hello"] : (number | string)[] +>a : (string | number)[] +>[1, "hello"] : (string | number)[] >1 : number >"hello" : string 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 662b4625ec807..818b3a6f7a97b 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/declarationEmitDestructuringArrayPattern4.js b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.js index d83c1b721d871..1bd07e7b974e8 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 1e8701eedb520..2cc56abcb05b5 100644 --- a/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types +++ b/tests/baselines/reference/declarationEmitDestructuringArrayPattern4.types @@ -34,35 +34,35 @@ var [x16, y16, z16, ...a8] = [1, 2, 3]; >3 : number var [...a9] = [1, "hello", true]; ->a9 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] +>a9 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] >1 : number >"hello" : string >true : boolean var [x17, ...a10] = [1, "hello", true]; ->x17 : number | string | boolean ->a10 : (number | string | boolean)[] ->[1, "hello", true] : (number | string | boolean)[] +>x17 : string | number | boolean +>a10 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] >1 : number >"hello" : string >true : boolean 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)[] +>x18 : string | number | boolean +>y18 : string | number | boolean +>a12 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] >1 : number >"hello" : string >true : boolean 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)[] +>x19 : string | number | boolean +>y19 : string | number | boolean +>z19 : string | number | boolean +>a13 : (string | number | boolean)[] +>[1, "hello", true] : (string | number | boolean)[] >1 : number >"hello" : string >true : boolean diff --git a/tests/baselines/reference/declarationEmitIdentifierPredicates01.types b/tests/baselines/reference/declarationEmitIdentifierPredicates01.types index 7d8a56682651d..1129012a80a9c 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_nameConflicts3.symbols b/tests/baselines/reference/declarationEmit_nameConflicts3.symbols index 051ffe593657f..e72c4ec9ceea1 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/decoratedClassExportsCommonJS1.js b/tests/baselines/reference/decoratedClassExportsCommonJS1.js new file mode 100644 index 0000000000000..4a04d724f0c95 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS1.js @@ -0,0 +1,28 @@ +//// [decoratedClassExportsCommonJS1.ts] +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { + static prop0: string; + static prop1 = Testing123.prop0; +} + +//// [decoratedClassExportsCommonJS1.js] +"use strict"; +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); +}; +let Testing123_1 = class Testing123 { +}; +let Testing123 = Testing123_1; +Testing123.prop1 = Testing123.prop0; +Testing123 = Testing123_1 = __decorate([ + Something({ v: () => Testing123 }), + __metadata('design:paramtypes', []) +], Testing123); +exports.Testing123 = Testing123; diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS1.symbols b/tests/baselines/reference/decoratedClassExportsCommonJS1.symbols new file mode 100644 index 0000000000000..3381ef7c06ae5 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS1.symbols @@ -0,0 +1,21 @@ +=== tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS1.ts === +declare var Something: any; +>Something : Symbol(Something, Decl(decoratedClassExportsCommonJS1.ts, 0, 11)) + +@Something({ v: () => Testing123 }) +>Something : Symbol(Something, Decl(decoratedClassExportsCommonJS1.ts, 0, 11)) +>v : Symbol(v, Decl(decoratedClassExportsCommonJS1.ts, 1, 12)) +>Testing123 : Symbol(Testing123, Decl(decoratedClassExportsCommonJS1.ts, 0, 27)) + +export class Testing123 { +>Testing123 : Symbol(Testing123, Decl(decoratedClassExportsCommonJS1.ts, 0, 27)) + + static prop0: string; +>prop0 : Symbol(Testing123.prop0, Decl(decoratedClassExportsCommonJS1.ts, 2, 25)) + + static prop1 = Testing123.prop0; +>prop1 : Symbol(Testing123.prop1, Decl(decoratedClassExportsCommonJS1.ts, 3, 25)) +>Testing123.prop0 : Symbol(Testing123.prop0, Decl(decoratedClassExportsCommonJS1.ts, 2, 25)) +>Testing123 : Symbol(Testing123, Decl(decoratedClassExportsCommonJS1.ts, 0, 27)) +>prop0 : Symbol(Testing123.prop0, Decl(decoratedClassExportsCommonJS1.ts, 2, 25)) +} diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS1.types b/tests/baselines/reference/decoratedClassExportsCommonJS1.types new file mode 100644 index 0000000000000..0142adb654f87 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS1.types @@ -0,0 +1,24 @@ +=== tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS1.ts === +declare var Something: any; +>Something : any + +@Something({ v: () => Testing123 }) +>Something({ v: () => Testing123 }) : any +>Something : any +>{ v: () => Testing123 } : { v: () => typeof Testing123; } +>v : () => typeof Testing123 +>() => Testing123 : () => typeof Testing123 +>Testing123 : typeof Testing123 + +export class Testing123 { +>Testing123 : Testing123 + + static prop0: string; +>prop0 : string + + static prop1 = Testing123.prop0; +>prop1 : string +>Testing123.prop0 : string +>Testing123 : typeof Testing123 +>prop0 : string +} diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS2.js b/tests/baselines/reference/decoratedClassExportsCommonJS2.js new file mode 100644 index 0000000000000..c5e8eb9aa2981 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS2.js @@ -0,0 +1,26 @@ +//// [a.ts] + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { } + +//// [a.js] +"use strict"; +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); +}; +let Testing123_1 = class Testing123 { +}; +let Testing123 = Testing123_1; +Testing123 = Testing123_1 = __decorate([ + Something({ v: () => Testing123 }), + __metadata('design:paramtypes', []) +], Testing123); +exports.Testing123 = Testing123; diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS2.symbols b/tests/baselines/reference/decoratedClassExportsCommonJS2.symbols new file mode 100644 index 0000000000000..8f587c1bff14d --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS2.symbols @@ -0,0 +1,17 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : Symbol(forwardRef, Decl(a.ts, 0, 0)) +>x : Symbol(x, Decl(a.ts, 1, 28)) + +declare var Something: any; +>Something : Symbol(Something, Decl(a.ts, 2, 11)) + +@Something({ v: () => Testing123 }) +>Something : Symbol(Something, Decl(a.ts, 2, 11)) +>v : Symbol(v, Decl(a.ts, 3, 12)) +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + +export class Testing123 { } +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + diff --git a/tests/baselines/reference/decoratedClassExportsCommonJS2.types b/tests/baselines/reference/decoratedClassExportsCommonJS2.types new file mode 100644 index 0000000000000..eba793247de56 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsCommonJS2.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : (x: any) => any +>x : any + +declare var Something: any; +>Something : any + +@Something({ v: () => Testing123 }) +>Something({ v: () => Testing123 }) : any +>Something : any +>{ v: () => Testing123 } : { v: () => typeof Testing123; } +>v : () => typeof Testing123 +>() => Testing123 : () => typeof Testing123 +>Testing123 : typeof Testing123 + +export class Testing123 { } +>Testing123 : Testing123 + diff --git a/tests/baselines/reference/decoratedClassExportsSystem1.js b/tests/baselines/reference/decoratedClassExportsSystem1.js new file mode 100644 index 0000000000000..1730ba4460f11 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem1.js @@ -0,0 +1,39 @@ +//// [a.ts] + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { + static prop0: string; + static prop1 = Testing123.prop0; +} + +//// [a.js] +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 __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var Testing123; + return { + setters:[], + execute: function() { + let Testing123_1 = class Testing123 { + }; + let Testing123 = Testing123_1; + Testing123.prop1 = Testing123.prop0; + Testing123 = Testing123_1 = __decorate([ + Something({ v: () => Testing123 }), + __metadata('design:paramtypes', []) + ], Testing123); + exports_1("Testing123", Testing123); + } + } +}); diff --git a/tests/baselines/reference/decoratedClassExportsSystem1.symbols b/tests/baselines/reference/decoratedClassExportsSystem1.symbols new file mode 100644 index 0000000000000..559f78624e315 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem1.symbols @@ -0,0 +1,26 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : Symbol(forwardRef, Decl(a.ts, 0, 0)) +>x : Symbol(x, Decl(a.ts, 1, 28)) + +declare var Something: any; +>Something : Symbol(Something, Decl(a.ts, 2, 11)) + +@Something({ v: () => Testing123 }) +>Something : Symbol(Something, Decl(a.ts, 2, 11)) +>v : Symbol(v, Decl(a.ts, 3, 12)) +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + +export class Testing123 { +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + + static prop0: string; +>prop0 : Symbol(Testing123.prop0, Decl(a.ts, 4, 25)) + + static prop1 = Testing123.prop0; +>prop1 : Symbol(Testing123.prop1, Decl(a.ts, 5, 25)) +>Testing123.prop0 : Symbol(Testing123.prop0, Decl(a.ts, 4, 25)) +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) +>prop0 : Symbol(Testing123.prop0, Decl(a.ts, 4, 25)) +} diff --git a/tests/baselines/reference/decoratedClassExportsSystem1.types b/tests/baselines/reference/decoratedClassExportsSystem1.types new file mode 100644 index 0000000000000..1cc69e8b68091 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem1.types @@ -0,0 +1,29 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : (x: any) => any +>x : any + +declare var Something: any; +>Something : any + +@Something({ v: () => Testing123 }) +>Something({ v: () => Testing123 }) : any +>Something : any +>{ v: () => Testing123 } : { v: () => typeof Testing123; } +>v : () => typeof Testing123 +>() => Testing123 : () => typeof Testing123 +>Testing123 : typeof Testing123 + +export class Testing123 { +>Testing123 : Testing123 + + static prop0: string; +>prop0 : string + + static prop1 = Testing123.prop0; +>prop1 : string +>Testing123.prop0 : string +>Testing123 : typeof Testing123 +>prop0 : string +} diff --git a/tests/baselines/reference/decoratedClassExportsSystem2.js b/tests/baselines/reference/decoratedClassExportsSystem2.js new file mode 100644 index 0000000000000..b4d34de2958d9 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem2.js @@ -0,0 +1,35 @@ +//// [a.ts] + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { } + +//// [a.js] +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 __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); + }; + var Testing123; + return { + setters:[], + execute: function() { + let Testing123_1 = class Testing123 { + }; + let Testing123 = Testing123_1; + Testing123 = Testing123_1 = __decorate([ + Something({ v: () => Testing123 }), + __metadata('design:paramtypes', []) + ], Testing123); + exports_1("Testing123", Testing123); + } + } +}); diff --git a/tests/baselines/reference/decoratedClassExportsSystem2.symbols b/tests/baselines/reference/decoratedClassExportsSystem2.symbols new file mode 100644 index 0000000000000..8f587c1bff14d --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem2.symbols @@ -0,0 +1,17 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : Symbol(forwardRef, Decl(a.ts, 0, 0)) +>x : Symbol(x, Decl(a.ts, 1, 28)) + +declare var Something: any; +>Something : Symbol(Something, Decl(a.ts, 2, 11)) + +@Something({ v: () => Testing123 }) +>Something : Symbol(Something, Decl(a.ts, 2, 11)) +>v : Symbol(v, Decl(a.ts, 3, 12)) +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + +export class Testing123 { } +>Testing123 : Symbol(Testing123, Decl(a.ts, 2, 27)) + diff --git a/tests/baselines/reference/decoratedClassExportsSystem2.types b/tests/baselines/reference/decoratedClassExportsSystem2.types new file mode 100644 index 0000000000000..eba793247de56 --- /dev/null +++ b/tests/baselines/reference/decoratedClassExportsSystem2.types @@ -0,0 +1,20 @@ +=== tests/cases/conformance/decorators/class/a.ts === + +declare function forwardRef(x: any): any; +>forwardRef : (x: any) => any +>x : any + +declare var Something: any; +>Something : any + +@Something({ v: () => Testing123 }) +>Something({ v: () => Testing123 }) : any +>Something : any +>{ v: () => Testing123 } : { v: () => typeof Testing123; } +>v : () => typeof Testing123 +>() => Testing123 : () => typeof Testing123 +>Testing123 : typeof Testing123 + +export class Testing123 { } +>Testing123 : Testing123 + diff --git a/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedAmd.types index 16dc655cc2f89..1bac7896d0515 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 01aaf5c0dbe4b..304bf75cd5ce8 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.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedSystem.types index ae36b44266513..ee77e08dd671e 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.types b/tests/baselines/reference/decoratedDefaultExportsGetExportedUmd.types index 68212835a6fce..c47f7960f652d 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/decoratorInstantiateModulesInFunctionBodies.types b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types index d0f930b7ad43d..17b37c7937805 100644 --- a/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types +++ b/tests/baselines/reference/decoratorInstantiateModulesInFunctionBodies.types @@ -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/decoratorMetadataPromise.types b/tests/baselines/reference/decoratorMetadataPromise.types index 900e751e84172..dc07cdc1fe634 100644 --- a/tests/baselines/reference/decoratorMetadataPromise.types +++ b/tests/baselines/reference/decoratorMetadataPromise.types @@ -1,20 +1,20 @@ === 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 @@ -22,7 +22,7 @@ class A { >0 : number @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/derivedClasses.errors.txt b/tests/baselines/reference/derivedClasses.errors.txt new file mode 100644 index 0000000000000..fdd38d8c06083 --- /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 61f4d7b81dc58..0000000000000 --- 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 7fc585e29ce40..0000000000000 --- 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 ab28ccc9c8dc5..81e43f7d8fef7 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 2e569dee0a0ea..9baffd5f8faa5 100644 --- a/tests/baselines/reference/destructureOptionalParameter.types +++ b/tests/baselines/reference/destructureOptionalParameter.types @@ -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/destructuringInFunctionType.types b/tests/baselines/reference/destructuringInFunctionType.types index 0cf057e06a301..5292ea989ddc1 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 diff --git a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt index d68220c830871..878bb38abf0fc 100644 --- a/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt +++ b/tests/baselines/reference/destructuringParameterDeclaration2.errors.txt @@ -4,8 +4,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( 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,9 +25,9 @@ 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]]'. @@ -70,8 +70,8 @@ tests/cases/conformance/es6/destructuring/destructuringParameterDeclaration2.ts( ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! 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 +131,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]]]'. diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES5.types b/tests/baselines/reference/destructuringParameterDeclaration3ES5.types index b8d48dcb9d41d..2ab9c9330d6db 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 @@ -75,8 +75,8 @@ var array = [1, 2, 3]; >3 : number var array2 = [true, false, "hello"]; ->array2 : (boolean | string)[] ->[true, false, "hello"] : (boolean | string)[] +>array2 : (string | boolean)[] +>[true, false, "hello"] : (string | boolean)[] >true : boolean >false : boolean >"hello" : string @@ -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[] @@ -109,7 +109,7 @@ a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]] 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, 2, [["string"]], false, true] : (number | boolean | string[][])[] >1 : number >2 : number >[["string"]] : string[][] diff --git a/tests/baselines/reference/destructuringParameterDeclaration3ES6.types b/tests/baselines/reference/destructuringParameterDeclaration3ES6.types index b439c4134ba00..55a26cfe58e34 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 @@ -75,8 +75,8 @@ var array = [1, 2, 3]; >3 : number var array2 = [true, false, "hello"]; ->array2 : (boolean | string)[] ->[true, false, "hello"] : (boolean | string)[] +>array2 : (string | boolean)[] +>[true, false, "hello"] : (string | boolean)[] >true : boolean >false : boolean >"hello" : string @@ -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[] @@ -109,7 +109,7 @@ a9([1, 2, [["string"]], false, true]); // Parameter type is [any, any, [[any]] 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, 2, [["string"]], false, true] : (number | boolean | string[][])[] >1 : number >2 : number >[["string"]] : string[][] diff --git a/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt b/tests/baselines/reference/destructuringParameterDeclaration4.errors.txt index 89c771139ce54..c89fa97b4cdc9 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 'boolean' 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 'boolean' 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/destructuringVariableDeclaration1ES5.types b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types index f8188147a7908..c4693fac23fba 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES5.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES5.types @@ -84,8 +84,8 @@ var [...c1] = [1,2,3]; >3 : number var [...c2] = [1,2,3, "string"]; ->c2 : (number | string)[] ->[1,2,3, "string"] : (number | string)[] +>c2 : (string | number)[] +>[1,2,3, "string"] : (string | number)[] >1 : number >2 : number >3 : number @@ -113,9 +113,9 @@ var temp1 = [true, false, true] >true : boolean var [d3, d4] = [1, "string", ...temp1]; ->d3 : number | string | boolean ->d4 : number | string | boolean ->[1, "string", ...temp1] : (number | string | boolean)[] +>d3 : string | number | boolean +>d4 : string | number | boolean +>[1, "string", ...temp1] : (string | number | boolean)[] >1 : number >"string" : string >...temp1 : boolean diff --git a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types index 7b4fe5409dbaa..847831ccc84cd 100644 --- a/tests/baselines/reference/destructuringVariableDeclaration1ES6.types +++ b/tests/baselines/reference/destructuringVariableDeclaration1ES6.types @@ -84,8 +84,8 @@ var [...c1] = [1,2,3]; >3 : number var [...c2] = [1,2,3, "string"]; ->c2 : (number | string)[] ->[1,2,3, "string"] : (number | string)[] +>c2 : (string | number)[] +>[1,2,3, "string"] : (string | number)[] >1 : number >2 : number >3 : number @@ -113,9 +113,9 @@ var temp1 = [true, false, true] >true : boolean var [d3, d4] = [1, "string", ...temp1]; ->d3 : number | string | boolean ->d4 : number | string | boolean ->[1, "string", ...temp1] : (number | string | boolean)[] +>d3 : string | number | boolean +>d4 : string | number | boolean +>[1, "string", ...temp1] : (string | number | boolean)[] >1 : number >"string" : string >...temp1 : boolean diff --git a/tests/baselines/reference/discriminantPropertyCheck.errors.txt b/tests/baselines/reference/discriminantPropertyCheck.errors.txt new file mode 100644 index 0000000000000..41593c4b2245d --- /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 0000000000000..b75a6277735f7 --- /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 0000000000000..153950f8ab5d9 --- /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 0000000000000..3f95fcf3a3fef --- /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 0000000000000..7a2918ab83b42 --- /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 0000000000000..1d11781a70784 --- /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 0000000000000..c84f32cd99073 --- /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 0000000000000..d3e1b70e59911 --- /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 0000000000000..66cfe056ab711 --- /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 0000000000000..4f4128239364f --- /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 0000000000000..f7675b1475601 --- /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 0000000000000..ac2bd4d3b1973 --- /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 380694474239a..0000000000000 --- 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 234de28eabae5..0000000000000 --- 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/emitCapturingThisInTupleDestructuring1.errors.txt b/tests/baselines/reference/emitCapturingThisInTupleDestructuring1.errors.txt new file mode 100644 index 0000000000000..d0f11d056ca53 --- /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 0000000000000..9dd7453ba4f17 --- /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 0000000000000..25207e28c79a9 --- /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 0000000000000..f999cfe70f000 --- /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/emitDecoratorMetadata_restArgs.js b/tests/baselines/reference/emitDecoratorMetadata_restArgs.js index 35350c54e0a21..6ca7e40d413ad 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_restArgs.js +++ b/tests/baselines/reference/emitDecoratorMetadata_restArgs.js @@ -14,7 +14,7 @@ class A { class B { constructor(...args: number[]) {} @MyMethodDecorator - method(...args: string[]) {} + method(this: this, ...args: string[]) {} } diff --git a/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols b/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols index b665b778f8615..29ccb8b2711d2 100644 --- a/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols +++ b/tests/baselines/reference/emitDecoratorMetadata_restArgs.symbols @@ -37,8 +37,9 @@ class B { @MyMethodDecorator >MyMethodDecorator : Symbol(MyMethodDecorator, Decl(emitDecoratorMetadata_restArgs.ts, 2, 13)) - method(...args: string[]) {} + method(this: this, ...args: string[]) {} >method : Symbol(B.method, Decl(emitDecoratorMetadata_restArgs.ts, 13, 37)) ->args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 15, 11)) +>this : Symbol(this, Decl(emitDecoratorMetadata_restArgs.ts, 15, 11)) +>args : Symbol(args, Decl(emitDecoratorMetadata_restArgs.ts, 15, 22)) } diff --git a/tests/baselines/reference/emitDecoratorMetadata_restArgs.types b/tests/baselines/reference/emitDecoratorMetadata_restArgs.types index 4820d3a7d8dc2..8161634a092a4 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,10 +35,11 @@ class B { >args : number[] @MyMethodDecorator ->MyMethodDecorator : (target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor) => TypedPropertyDescriptor | void +>MyMethodDecorator : MethodDecorator - method(...args: string[]) {} ->method : (...args: string[]) => void + method(this: this, ...args: string[]) {} +>method : (this: this, ...args: string[]) => void +>this : this >args : string[] } diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.js b/tests/baselines/reference/emitSkipsThisWithRestParameter.js new file mode 100644 index 0000000000000..d1e99f9409dc5 --- /dev/null +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.js @@ -0,0 +1,18 @@ +//// [emitSkipsThisWithRestParameter.ts] +function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any { + return function(this: any, ...args: any[]) { + return fn.apply(this, [ this ].concat(args)); + }; +} + + +//// [emitSkipsThisWithRestParameter.js] +function rebase(fn) { + return function () { + var args = []; + for (var _i = 0; _i < arguments.length; _i++) { + args[_i - 0] = arguments[_i]; + } + return fn.apply(this, [this].concat(args)); + }; +} diff --git a/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols new file mode 100644 index 0000000000000..04a699a322d2c --- /dev/null +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.symbols @@ -0,0 +1,25 @@ +=== tests/cases/compiler/emitSkipsThisWithRestParameter.ts === +function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any { +>rebase : Symbol(rebase, Decl(emitSkipsThisWithRestParameter.ts, 0, 0)) +>fn : Symbol(fn, Decl(emitSkipsThisWithRestParameter.ts, 0, 16)) +>base : Symbol(base, Decl(emitSkipsThisWithRestParameter.ts, 0, 21)) +>args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 0, 31)) +>args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 0, 58)) + + return function(this: any, ...args: any[]) { +>this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) +>args : Symbol(args, Decl(emitSkipsThisWithRestParameter.ts, 1, 30)) + + return fn.apply(this, [ this ].concat(args)); +>fn.apply : Symbol(Function.apply, Decl(lib.d.ts, --, --)) +>fn : 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, --, --), Decl(lib.d.ts, --, --)) +>this : Symbol(this, Decl(emitSkipsThisWithRestParameter.ts, 1, 20)) +>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 new file mode 100644 index 0000000000000..ff6f1e6f73a9a --- /dev/null +++ b/tests/baselines/reference/emitSkipsThisWithRestParameter.types @@ -0,0 +1,29 @@ +=== tests/cases/compiler/emitSkipsThisWithRestParameter.ts === +function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any { +>rebase : (fn: (base: any, ...args: any[]) => any) => (...args: any[]) => any +>fn : (base: any, ...args: any[]) => any +>base : any +>args : any[] +>args : any[] + + return function(this: any, ...args: any[]) { +>function(this: any, ...args: any[]) { return fn.apply(this, [ this ].concat(args)); } : (this: any, ...args: any[]) => any +>this : any +>args : any[] + + return fn.apply(this, [ this ].concat(args)); +>fn.apply(this, [ this ].concat(args)) : any +>fn.apply : (this: Function, thisArg: any, argArray?: any) => any +>fn : (base: any, ...args: any[]) => any +>apply : (this: Function, thisArg: any, argArray?: any) => any +>this : any +>[ this ].concat(args) : any[] +>[ this ].concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } +>[ this ] : any[] +>this : any +>concat : { (...items: any[][]): any[]; (...items: any[]): any[]; } +>args : any[] + + }; +} + diff --git a/tests/baselines/reference/emptyThenWithoutWarning.types b/tests/baselines/reference/emptyThenWithoutWarning.types index 2dca405966931..5da827deb2ca6 100644 --- a/tests/baselines/reference/emptyThenWithoutWarning.types +++ b/tests/baselines/reference/emptyThenWithoutWarning.types @@ -8,13 +8,13 @@ if(a === 1 || a === 2 || a === 3) { >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"; diff --git a/tests/baselines/reference/enumAssignmentCompat4.types b/tests/baselines/reference/enumAssignmentCompat4.types index db7f5ce8ba21d..8d96024586224 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.types b/tests/baselines/reference/enumBasics.types index cecd8f5113606..9e68b06bc3ef9 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/enumLiteralTypes1.js b/tests/baselines/reference/enumLiteralTypes1.js new file mode 100644 index 0000000000000..714227f4d60a2 --- /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 0000000000000..0919f99330dd5 --- /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 0000000000000..1fe3c8dd637a9 --- /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 +>Yes : Choice +>No : Choice + +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" : string +} + +function f10(x: YesNo) { +>f10 : (x: YesNo) => string +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : string + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : string + } +} + +function f11(x: YesNo) { +>f11 : (x: YesNo) => string +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : string + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : string + } + 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 0000000000000..0b2b6d35c5340 --- /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 0000000000000..3bd937c3706fa --- /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 0000000000000..36390865aec4d --- /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 +>Yes : Choice +>No : Choice + +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" : string +} + +function f10(x: YesNo) { +>f10 : (x: YesNo) => string +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : string + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : string + } +} + +function f11(x: YesNo) { +>f11 : (x: YesNo) => string +>x : YesNo +>YesNo : YesNo + + switch (x) { +>x : YesNo + + case Choice.Yes: return "true"; +>Choice.Yes : Choice.Yes +>Choice : typeof Choice +>Yes : Choice.Yes +>"true" : string + + case Choice.No: return "false"; +>Choice.No : Choice.No +>Choice : typeof Choice +>No : Choice.No +>"false" : string + } + 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 0000000000000..62cb4644c7256 --- /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 0000000000000..7eb3d0a1705d1 --- /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/enumMerging.types b/tests/baselines/reference/enumMerging.types index 85eb360249fb6..1ca284702c525 100644 --- a/tests/baselines/reference/enumMerging.types +++ b/tests/baselines/reference/enumMerging.types @@ -208,12 +208,12 @@ module M6 { >Yellow : A.Color 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/es3defaultAliasIsQuoted.types b/tests/baselines/reference/es3defaultAliasIsQuoted.types index d3b1ebf105b84..59ce62dff1e75 100644 --- a/tests/baselines/reference/es3defaultAliasIsQuoted.types +++ b/tests/baselines/reference/es3defaultAliasIsQuoted.types @@ -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/excessPropertyErrorForFunctionTypes.errors.txt b/tests/baselines/reference/excessPropertyErrorForFunctionTypes.errors.txt index dc9d6821e5545..961308059bac7 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/exportAssignmentTopLevelClodule.types b/tests/baselines/reference/exportAssignmentTopLevelClodule.types index 93ce39c3b6079..a8a827ba9c3f6 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 diff --git a/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types b/tests/baselines/reference/exportAssignmentTopLevelEnumdule.types index d60fc87831912..fba15dc3ca848 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 diff --git a/tests/baselines/reference/exportAssignmentTopLevelFundule.types b/tests/baselines/reference/exportAssignmentTopLevelFundule.types index 3464f4294a035..950693dcc62b5 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 diff --git a/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types b/tests/baselines/reference/exportAssignmentTopLevelIdentifier.types index 34971ca9cd6ba..9851eab189808 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 } diff --git a/tests/baselines/reference/exportDefaultProperty.js b/tests/baselines/reference/exportDefaultProperty.js new file mode 100644 index 0000000000000..10ba6d6419a60 --- /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 0000000000000..f9edcd154cc05 --- /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 0000000000000..47cfabfbc165e --- /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 : number + +=== 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 : number +} +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" : string +>length : number + diff --git a/tests/baselines/reference/exportEqualsProperty.js b/tests/baselines/reference/exportEqualsProperty.js new file mode 100644 index 0000000000000..2fd8a8c851178 --- /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 0000000000000..43c9ed3251868 --- /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 0000000000000..a92af53b12bd4 --- /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 : number + +=== 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 : number +} +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" : string +>length : number + diff --git a/tests/baselines/reference/exportToString.js b/tests/baselines/reference/exportToString.js new file mode 100644 index 0000000000000..190d1693c248c --- /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 0000000000000..ce5446317a4d5 --- /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 0000000000000..17037852f3b13 --- /dev/null +++ b/tests/baselines/reference/exportToString.types @@ -0,0 +1,8 @@ +=== tests/cases/compiler/exportToString.ts === +const toString = 0; +>toString : number +>0 : number + +export { toString }; +>toString : number + diff --git a/tests/baselines/reference/extendBaseClassBeforeItsDeclared.errors.txt b/tests/baselines/reference/extendBaseClassBeforeItsDeclared.errors.txt new file mode 100644 index 0000000000000..2678fdf8667df --- /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 ab122b43c9036..0000000000000 --- 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 a9ad130d4749a..0000000000000 --- 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/fallFromLastCase1.types b/tests/baselines/reference/fallFromLastCase1.types index 47e444ee17df0..1a21727e7a1b2 100644 --- a/tests/baselines/reference/fallFromLastCase1.types +++ b/tests/baselines/reference/fallFromLastCase1.types @@ -12,7 +12,7 @@ function foo1(a: number) { >a : number case 1: ->1 : number +>1 : 1 use("1"); >use("1") : any @@ -21,7 +21,7 @@ function foo1(a: number) { break; case 2: ->2 : number +>2 : 2 use("2"); >use("2") : any @@ -39,7 +39,7 @@ function foo2(a: number) { >a : number case 1: ->1 : number +>1 : 1 use("1"); >use("1") : any diff --git a/tests/baselines/reference/fatarrowfunctions.types b/tests/baselines/reference/fatarrowfunctions.types index e48b63e50ee2d..7fd15ee29a794 100644 --- a/tests/baselines/reference/fatarrowfunctions.types +++ b/tests/baselines/reference/fatarrowfunctions.types @@ -208,7 +208,7 @@ function ternaryTest(isWhile:boolean) { >n : any >n === 0 : boolean >n : any ->0 : number +>0 : 0 } diff --git a/tests/baselines/reference/for-of11.errors.txt b/tests/baselines/reference/for-of11.errors.txt index 7c00e454d4e3e..dc527e73efe2b 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 6100564ba58a2..f19fa5ed0146d 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/functionExpressionContextualTyping1.types b/tests/baselines/reference/functionExpressionContextualTyping1.types index 61d16bf6a4fdd..893744c4954bd 100644 --- a/tests/baselines/reference/functionExpressionContextualTyping1.types +++ b/tests/baselines/reference/functionExpressionContextualTyping1.types @@ -116,7 +116,7 @@ var b4: (n: E) => string = (number = 1) => { return "hello"; }; >E : E >(number = 1) => { return "hello"; } : (number?: E) => string >number : E ->1 : number +>1 : 1 >"hello" : string var b5: (n: {}) => string = (number = "string") => { return "hello"; }; diff --git a/tests/baselines/reference/functionImplementations.types b/tests/baselines/reference/functionImplementations.types index 6690ca68c98c6..6cb1cde1c82ab 100644 --- a/tests/baselines/reference/functionImplementations.types +++ b/tests/baselines/reference/functionImplementations.types @@ -325,7 +325,7 @@ 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; } diff --git a/tests/baselines/reference/functionOverloads43.types b/tests/baselines/reference/functionOverloads43.types index 7c0fa8eb8185b..e48ffd41f6016 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; diff --git a/tests/baselines/reference/functionOverloads44.types b/tests/baselines/reference/functionOverloads44.types index 56cad09b47287..48fcfa3371bc9 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; @@ -78,9 +78,9 @@ var y1 = foo1([{a: 100}]); >100 : number 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 @@ -89,7 +89,7 @@ var x2 = foo2([{a: "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 diff --git a/tests/baselines/reference/functionOverloads45.types b/tests/baselines/reference/functionOverloads45.types index 257a615e3349d..29eb55a40edee 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 diff --git a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types index 5c7500fb5ed94..c5fd984d32767 100644 --- a/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types +++ b/tests/baselines/reference/genericArgumentCallSigAssignmentCompat.types @@ -49,7 +49,7 @@ _.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, 1, null, 'yes'] : (string | number | boolean)[] >true : boolean >1 : number >null : null diff --git a/tests/baselines/reference/genericArrayPropertyAssignment.types b/tests/baselines/reference/genericArrayPropertyAssignment.types index 6db56dde38142..9552d0ac2c922 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/genericCallWithArrayLiteralArgs.types b/tests/baselines/reference/genericCallWithArrayLiteralArgs.types index c8e8b41b5fdda..48a7150ef4426 100644 --- a/tests/baselines/reference/genericCallWithArrayLiteralArgs.types +++ b/tests/baselines/reference/genericCallWithArrayLiteralArgs.types @@ -46,10 +46,10 @@ 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, ''] : (string | number)[] >1 : number >'' : string @@ -57,7 +57,7 @@ var r5 = foo([1, '']); // any[] >r5 : any[] >foo([1, '']) : any[] >foo : (t: T) => T ->[1, ''] : (number | string)[] +>[1, ''] : (string | number)[] >1 : number >'' : string @@ -66,7 +66,7 @@ var r6 = foo([1, '']); // Object[] >foo([1, '']) : Object[] >foo : (t: T) => T >Object : Object ->[1, ''] : (number | string)[] +>[1, ''] : (string | number)[] >1 : number >'' : string diff --git a/tests/baselines/reference/genericCallWithTupleType.errors.txt b/tests/baselines/reference/genericCallWithTupleType.errors.txt index 24e0505d0097b..0194dc61311ee 100644 --- a/tests/baselines/reference/genericCallWithTupleType.errors.txt +++ b/tests/baselines/reference/genericCallWithTupleType.errors.txt @@ -2,7 +2,7 @@ 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]'. @@ -33,7 +33,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" }; ~~~~~~~~~~~~ diff --git a/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.errors.txt b/tests/baselines/reference/genericClassInheritsConstructorFromNonGenericClass.errors.txt new file mode 100644 index 0000000000000..1962576abcd5f --- /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 d2e173b807842..0000000000000 --- 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 28daf6d38ee63..0000000000000 --- 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/genericTypeAliases.types b/tests/baselines/reference/genericTypeAliases.types index b43e2610725a5..929ecf7d7e134 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: { @@ -44,76 +44,76 @@ var tree: Tree = { }; 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) +>ls : Lazy >"eager" : string ls = () => "lazy"; >ls = () => "lazy" : () => string ->ls : string | (() => string) +>ls : Lazy >() => "lazy" : () => string >"lazy" : string 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; } +>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 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; } @@ -121,24 +121,24 @@ x = { x: { x: "world" } }; >"world" : string 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; } +>z : Foo >42 : number z = { x: 42 }; >z = { x: 42 } : { x: number; } ->z : number | { x: number | any; } +>z : Foo >{ x: 42 } : { x: number; } >x : number >42 : number 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; } @@ -215,60 +215,60 @@ p.tag = "test"; >"test" : string 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 405c328bc4573..2d64c8f5c58d7 100644 --- a/tests/baselines/reference/genericTypeArgumentInference1.types +++ b/tests/baselines/reference/genericTypeArgumentInference1.types @@ -42,12 +42,12 @@ 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, 1, null, 'yes'] : (string | number | boolean)[] >true : boolean >1 : number >null : null diff --git a/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt b/tests/baselines/reference/heterogeneousArrayAndOverloads.errors.txt index 20e113faf2aa2..e5c2be7a598a1 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 c760e5a566f3e..026e9c26baeb3 100644 --- a/tests/baselines/reference/heterogeneousArrayLiterals.types +++ b/tests/baselines/reference/heterogeneousArrayLiterals.types @@ -2,8 +2,8 @@ // 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)[] +>a : (string | number)[] +>[1, ''] : (string | number)[] >1 : number >'' : string @@ -14,8 +14,8 @@ var b = [1, null]; // number[] >null : null var c = [1, '', null]; // {}[] ->c : (number | string)[] ->[1, '', null] : (number | string)[] +>c : (string | number)[] +>[1, '', null] : (string | number)[] >1 : number >'' : string >null : null @@ -296,8 +296,8 @@ 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 @@ -350,8 +350,8 @@ 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 @@ -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,8 +428,8 @@ 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 @@ -506,8 +506,8 @@ 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 @@ -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/implicitAnyInCatch.types b/tests/baselines/reference/implicitAnyInCatch.types index 015d41b123f68..6dda46fd3ca84 100644 --- a/tests/baselines/reference/implicitAnyInCatch.types +++ b/tests/baselines/reference/implicitAnyInCatch.types @@ -8,7 +8,7 @@ try { } catch (error) { >error.number : any >error : any >number : any ->-2147024809 : number +>-2147024809 : -2147024809 >2147024809 : number } for (var key in this) { } diff --git a/tests/baselines/reference/implicitIndexSignatures.types b/tests/baselines/reference/implicitIndexSignatures.types index 7d335c0049107..6d670c6341b55 100644 --- a/tests/baselines/reference/implicitIndexSignatures.types +++ b/tests/baselines/reference/implicitIndexSignatures.types @@ -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; } } diff --git a/tests/baselines/reference/indexerWithTuple.types b/tests/baselines/reference/indexerWithTuple.types index 7605fba051866..4faae2cda29c3 100644 --- a/tests/baselines/reference/indexerWithTuple.types +++ b/tests/baselines/reference/indexerWithTuple.types @@ -101,20 +101,20 @@ var eleUnion11 = unionTuple1[1]; // string | number >1 : number 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 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 @@ -143,20 +143,20 @@ var eleUnion21 = unionTuple2[1]; // string | number >1 : number 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 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 diff --git a/tests/baselines/reference/instanceOfAssignability.types b/tests/baselines/reference/instanceOfAssignability.types index 44ec45e206901..192db8bcd1b69 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 0000000000000..97be21377229d --- /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 0000000000000..f2eb40eea47a1 --- /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 0000000000000..d98a602579642 --- /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 : number + } + 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" : string +} + +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 : number + } + 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" : string +} + +// 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/instantiatedModule.types b/tests/baselines/reference/instantiatedModule.types index e9933eea80458..743c6561161fc 100644 --- a/tests/baselines/reference/instantiatedModule.types +++ b/tests/baselines/reference/instantiatedModule.types @@ -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 diff --git a/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types b/tests/baselines/reference/interfaceDoesNotDependOnBaseTypes.types index 7b5d60a526137..65a7ec60168dd 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 +>push : (...items: StringTree[]) => number >"" : string 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/internalAliasEnum.types b/tests/baselines/reference/internalAliasEnum.types index 87cab6cc56dee..3f86d63c87946 100644 --- a/tests/baselines/reference/internalAliasEnum.types +++ b/tests/baselines/reference/internalAliasEnum.types @@ -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 0d09b930f9533..66d946e47b37a 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithExport.types @@ -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 881e51324af81..f53a6fa355bf0 100644 --- a/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideLocalModuleWithoutExport.types @@ -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 8458d885738d3..437e211bf16b7 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithExport.types @@ -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 6e75bd81bdf89..c9b75f84266c1 100644 --- a/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types +++ b/tests/baselines/reference/internalAliasEnumInsideTopLevelModuleWithoutExport.types @@ -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/intersectionTypeMembers.types b/tests/baselines/reference/intersectionTypeMembers.types index 2c4fbcc5fc113..6c3217698b8fa 100644 --- a/tests/baselines/reference/intersectionTypeMembers.types +++ b/tests/baselines/reference/intersectionTypeMembers.types @@ -90,28 +90,28 @@ xyz.x.c = "hello"; >"hello" : string 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) +>f : F1 & F2 >"hello" : string var n = f(42); >n : number >f(42) : number ->f : ((x: string) => string) & ((x: number) => number) +>f : F1 & F2 >42 : number interface D { diff --git a/tests/baselines/reference/intersectionTypeOverloading.types b/tests/baselines/reference/intersectionTypeOverloading.types index c478b6a08cb74..f301ef6e4b722 100644 --- a/tests/baselines/reference/intersectionTypeOverloading.types +++ b/tests/baselines/reference/intersectionTypeOverloading.types @@ -3,27 +3,27 @@ // 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) +>fg : F & G >"abc" : string var x: string; @@ -32,7 +32,7 @@ var x: string; var y = gf("abc"); >y : any >gf("abc") : any ->gf : ((x: any) => any) & ((s: string) => string) +>gf : G & F >"abc" : string var y: any; diff --git a/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt b/tests/baselines/reference/invalidImportAliasIdentifiers.errors.txt index fb29c8299479a..afe7472570da6 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/invalidSwitchBreakStatement.types b/tests/baselines/reference/invalidSwitchBreakStatement.types index 3544da72489db..fd0ad2699a075 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/iteratorSpreadInArray7.symbols b/tests/baselines/reference/iteratorSpreadInArray7.symbols index 853e07b908aae..57774bcd7ee69 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 f1dd8ebf85564..38549a606ab00 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 diff --git a/tests/baselines/reference/iteratorSpreadInCall12.types b/tests/baselines/reference/iteratorSpreadInCall12.types index 5e3e7bcdbc425..8543e59f55fff 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 diff --git a/tests/baselines/reference/iteratorSpreadInCall5.types b/tests/baselines/reference/iteratorSpreadInCall5.types index 043536ab4c0ea..bf4a0f7ad65ab 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 diff --git a/tests/baselines/reference/iteratorSpreadInCall6.errors.txt b/tests/baselines/reference/iteratorSpreadInCall6.errors.txt index ee9945f7af674..93aaec8c33005 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/jsFileCompilationRestParamJsDocFunction.types b/tests/baselines/reference/jsFileCompilationRestParamJsDocFunction.types index fbfe9d3edae29..443ed7398286e 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 @@ -45,7 +45,7 @@ function apply(func, thisArg, args) { >0 : number 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 @@ -59,7 +59,7 @@ function apply(func, thisArg, args) { >1 : number 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 diff --git a/tests/baselines/reference/json.stringify.types b/tests/baselines/reference/json.stringify.types index 7cce2d3ed249e..aaf92a17c0a2a 100644 --- a/tests/baselines/reference/json.stringify.types +++ b/tests/baselines/reference/json.stringify.types @@ -6,27 +6,27 @@ 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 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 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 @@ -35,9 +35,9 @@ JSON.stringify(value, ["a", 1], 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 @@ -46,9 +46,9 @@ JSON.stringify(value, (k) => undefined, 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 diff --git a/tests/baselines/reference/library-reference-13.trace.json b/tests/baselines/reference/library-reference-13.trace.json index d8dfb57c2a66f..a23f0ef0ca56e 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 d8dfb57c2a66f..fb3a2bb7da48d 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 3e9d7dba1d21d..e23517976b0e4 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 c26f7d2763d7f..64cdd8091832f 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-6.trace.json b/tests/baselines/reference/library-reference-6.trace.json index 48fb49e6c7fb9..fd83c1431b438 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/literalTypes1.js b/tests/baselines/reference/literalTypes1.js new file mode 100644 index 0000000000000..cf2923e250a12 --- /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 0000000000000..ea44ab51acc86 --- /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 0000000000000..faff485d45adb --- /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/localImportNameVsGlobalName.types b/tests/baselines/reference/localImportNameVsGlobalName.types index 7cb45208e81ee..dd7f05fc8ddf7 100644 --- a/tests/baselines/reference/localImportNameVsGlobalName.types +++ b/tests/baselines/reference/localImportNameVsGlobalName.types @@ -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 1770a36edb7cc..78e92fd832494 100644 --- a/tests/baselines/reference/localTypes1.types +++ b/tests/baselines/reference/localTypes1.types @@ -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 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return a; >a : I[] @@ -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 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return a; >a : I[] @@ -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 >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 >x : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B return c; >c : J[] diff --git a/tests/baselines/reference/logicalAndOperatorStrictMode.types b/tests/baselines/reference/logicalAndOperatorStrictMode.types index a824af2f81106..a2321b0695805 100644 --- a/tests/baselines/reference/logicalAndOperatorStrictMode.types +++ b/tests/baselines/reference/logicalAndOperatorStrictMode.types @@ -86,8 +86,8 @@ const a8 = a && z; >z : string | number | undefined const s1 = s && a; ->s1 : number[] ->s && a : number[] +>s1 : "" | number[] +>s && a : "" | number[] >s : string >a : number[] @@ -98,32 +98,32 @@ const s2 = s && s; >s : string const s3 = s && x; ->s3 : number ->s && x : number +>s3 : number | "" +>s && x : number | "" >s : string >x : number const s4 = s && b; ->s4 : boolean ->s && b : boolean +>s4 : boolean | "" +>s && b : boolean | "" >s : string >b : boolean const s5 = s && v; ->s5 : void ->s && v : void +>s5 : void | "" +>s && v : void | "" >s : string >v : void const s6 = s && u; ->s6 : undefined ->s && u : undefined +>s6 : "" | undefined +>s && u : "" | undefined >s : string >u : undefined const s7 = s && n; ->s7 : null ->s && n : null +>s7 : "" | null +>s && n : "" | null >s : string >n : null @@ -134,14 +134,14 @@ const s8 = s && z; >z : string | number | undefined const x1 = x && a; ->x1 : number[] ->x && a : number[] +>x1 : 0 | number[] +>x && a : 0 | number[] >x : number >a : number[] const x2 = x && s; ->x2 : string ->x && s : string +>x2 : string | 0 +>x && s : string | 0 >x : number >s : string @@ -152,26 +152,26 @@ const x3 = x && x; >x : number const x4 = x && b; ->x4 : boolean ->x && b : boolean +>x4 : boolean | 0 +>x && b : boolean | 0 >x : number >b : boolean const x5 = x && v; ->x5 : void ->x && v : void +>x5 : void | 0 +>x && v : void | 0 >x : number >v : void const x6 = x && u; ->x6 : undefined ->x && u : undefined +>x6 : 0 | undefined +>x && u : 0 | undefined >x : number >u : undefined const x7 = x && n; ->x7 : null ->x && n : null +>x7 : 0 | null +>x && n : 0 | null >x : number >n : null @@ -182,20 +182,20 @@ const x8 = x && z; >z : string | number | undefined const b1 = b && a; ->b1 : number[] ->b && a : number[] +>b1 : false | number[] +>b && a : false | number[] >b : boolean >a : number[] const b2 = b && s; ->b2 : string ->b && s : string +>b2 : string | false +>b && s : string | false >b : boolean >s : string const b3 = b && x; ->b3 : number ->b && x : number +>b3 : number | false +>b && x : number | false >b : boolean >x : number @@ -203,53 +203,53 @@ const b4 = b && b; >b4 : boolean >b && b : boolean >b : boolean ->b : boolean +>b : true const b5 = b && v; ->b5 : void ->b && v : void +>b5 : false | void +>b && v : false | void >b : boolean >v : void const b6 = b && u; ->b6 : undefined ->b && u : undefined +>b6 : false | undefined +>b && u : false | undefined >b : boolean >u : undefined const b7 = b && n; ->b7 : null ->b && n : null +>b7 : false | null +>b && n : false | null >b : boolean >n : null const b8 = b && z; ->b8 : string | number | undefined ->b && z : string | number | undefined +>b8 : string | number | false | undefined +>b && z : string | number | false | undefined >b : boolean >z : string | number | 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 const v3 = v && x; ->v3 : number | void ->v && x : number | void +>v3 : void +>v && x : void >v : void >x : number const v4 = v && b; ->v4 : boolean | void ->v && b : boolean | void +>v4 : void +>v && b : void >v : void >b : boolean @@ -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 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 const u3 = u && x; ->u3 : number | undefined ->u && x : number | undefined +>u3 : undefined +>u && x : undefined >u : undefined >x : number const u4 = u && b; ->u4 : boolean | undefined ->u && b : boolean | undefined +>u4 : undefined +>u && b : undefined >u : undefined >b : boolean 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 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 const n3 = n && x; ->n3 : number | null ->n && x : number | null +>n3 : null +>n && x : null >n : null >x : number const n4 = n && b; ->n4 : boolean | null ->n && b : boolean | null +>n4 : null +>n && b : null >n : null >b : boolean 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,50 +368,50 @@ 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 const z1 = z && a; ->z1 : number[] | undefined ->z && a : number[] | undefined +>z1 : "" | 0 | number[] | undefined +>z && a : "" | 0 | number[] | undefined >z : string | number | undefined >a : number[] const z2 = z && s; ->z2 : string | undefined ->z && s : string | undefined +>z2 : string | 0 | undefined +>z && s : string | 0 | undefined >z : string | number | undefined >s : string const z3 = z && x; ->z3 : number | undefined ->z && x : number | undefined +>z3 : number | "" | undefined +>z && x : number | "" | undefined >z : string | number | undefined >x : number const z4 = z && b; ->z4 : boolean | undefined ->z && b : boolean | undefined +>z4 : boolean | "" | 0 | undefined +>z && b : boolean | "" | 0 | undefined >z : string | number | undefined >b : boolean const z5 = z && v; ->z5 : void ->z && v : void +>z5 : void | "" | 0 +>z && v : void | "" | 0 >z : string | number | undefined >v : void const z6 = z && u; ->z6 : undefined ->z && u : undefined +>z6 : "" | 0 | undefined +>z && u : "" | 0 | undefined >z : string | number | undefined >u : undefined const z7 = z && n; ->z7 : null | undefined ->z && n : null | undefined +>z7 : "" | 0 | null | undefined +>z && n : "" | 0 | null | undefined >z : string | number | undefined >n : null diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.types b/tests/baselines/reference/logicalAndOperatorWithEveryType.types index bd913e94da58c..22187bb16a961 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.types @@ -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 +>rf6 : E.b | E.c +>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/logicalOrOperatorWithEveryType.types b/tests/baselines/reference/logicalOrOperatorWithEveryType.types index 4540e35aaf459..8f2f4af069851 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.types +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.types @@ -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 | true +>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 | true +>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 @@ -283,8 +283,8 @@ var re1 = a1 || a5; // any || void is any >a5 : void var re2 = a2 || a5; // boolean || void is boolean | void ->re2 : boolean | void ->a2 || a5 : boolean | void +>re2 : true | 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 @@ -343,8 +343,8 @@ var rg1 = a1 || a6; // any || enum is any >a6 : E var rg2 = a2 || a6; // boolean || enum is boolean | enum ->rg2 : boolean | E ->a2 || a6 : boolean | E +>rg2 : true | 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 @@ -403,8 +403,8 @@ var rh1 = a1 || a7; // any || object is any >a7 : { a: string; } var rh2 = a2 || a7; // boolean || object is boolean | object ->rh2 : boolean | { a: string; } ->a2 || a7 : boolean | { a: string; } +>rh2 : true | { 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; } @@ -463,8 +463,8 @@ var ri1 = a1 || a8; // any || array is any >a8 : string[] var ri2 = a2 || a8; // boolean || array is boolean | array ->ri2 : boolean | string[] ->a2 || a8 : boolean | string[] +>ri2 : true | 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[] @@ -523,8 +523,8 @@ var rj1 = a1 || null; // any || null is any >null : null var rj2 = a2 || null; // boolean || null is boolean ->rj2 : boolean ->a2 || null : boolean +>rj2 : true +>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 @@ -583,8 +583,8 @@ var rf1 = a1 || undefined; // any || undefined is any >undefined : undefined var rf2 = a2 || undefined; // boolean || undefined is boolean ->rf2 : boolean ->a2 || undefined : boolean +>rf2 : true +>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/memberAccessOnConstructorType.types b/tests/baselines/reference/memberAccessOnConstructorType.types index a767336ec12c5..9b8436d631144 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/mismatchedExplicitTypeParameterAndArgumentType.errors.txt b/tests/baselines/reference/mismatchedExplicitTypeParameterAndArgumentType.errors.txt index e8649cfb5672a..2fb7bd1bfbbb7 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/missingPropertiesOfClassExpression.errors.txt b/tests/baselines/reference/missingPropertiesOfClassExpression.errors.txt index b7331a682717a..23e67d7cf0bf8 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/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index e0d0c492f4ddb..3851714cad8fc 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -124,9 +124,9 @@ var o = { }; 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 diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 21e658e29ce44..f9c1894f86f19 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -124,9 +124,9 @@ var o = { }; 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 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 24ff905f1660f..8728176c2c1d0 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -124,9 +124,9 @@ var o = { }; 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 diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index 7af40d3684cdb..248364f8d5513 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -79,9 +79,9 @@ var o = { }; 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 diff --git a/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types b/tests/baselines/reference/modularizeLibrary_UsingES5LibAndES6FeatureLibs.types index 820c2f6dc8a93..cee8d3fb96b4e 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() { diff --git a/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt b/tests/baselines/reference/narrowExceptionVariableInCatchClause.errors.txt new file mode 100644 index 0000000000000..e435b98050de6 --- /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 0000000000000..5808ed7682683 --- /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 0000000000000..3e152b0faf456 --- /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 0000000000000..4cf1ca174aa02 --- /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 0000000000000..94f41becdade8 --- /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 0000000000000..958a3cfd70daf --- /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 8bc13d12ca11c..2d4936f38079a 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 0000000000000..88cc87772dda4 --- /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 0000000000000..edb0f1958c22d --- /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 0000000000000..50f322636cc2a --- /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 : boolean + + 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 : boolean + + 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/nestedBlockScopedBindings1.types b/tests/baselines/reference/nestedBlockScopedBindings1.types index 6d5b47a348b64..e192b0748a55c 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings1.types +++ b/tests/baselines/reference/nestedBlockScopedBindings1.types @@ -50,7 +50,7 @@ function a3() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -70,7 +70,7 @@ function a4() { >1 : number case 1: ->1 : number +>1 : 1 let x = 1; >x : number diff --git a/tests/baselines/reference/nestedBlockScopedBindings10.types b/tests/baselines/reference/nestedBlockScopedBindings10.types index ee2701cdcf13c..747f2ef1f2b2d 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings10.types +++ b/tests/baselines/reference/nestedBlockScopedBindings10.types @@ -13,7 +13,7 @@ switch (1) { >1 : number case 1: ->1 : number +>1 : 1 let y; >y : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings11.types b/tests/baselines/reference/nestedBlockScopedBindings11.types index ab7b4228278df..4d1914d6f1a79 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings11.types +++ b/tests/baselines/reference/nestedBlockScopedBindings11.types @@ -17,7 +17,7 @@ switch (1) { >1 : number 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 8c1fdda0ce0fc..ec75d16a37fe2 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings12.types +++ b/tests/baselines/reference/nestedBlockScopedBindings12.types @@ -18,7 +18,7 @@ switch (1) { >1 : number case 1: ->1 : number +>1 : 1 let y; >y : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings2.types b/tests/baselines/reference/nestedBlockScopedBindings2.types index adb33b4dc7685..3e7dbe4b75765 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings2.types +++ b/tests/baselines/reference/nestedBlockScopedBindings2.types @@ -71,7 +71,7 @@ function a3() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -95,7 +95,7 @@ function a4() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -123,7 +123,7 @@ function a5() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -139,7 +139,7 @@ function a6() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -150,7 +150,7 @@ function a6() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -166,7 +166,7 @@ function a7() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -181,7 +181,7 @@ function a7() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -197,7 +197,7 @@ function a8() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -208,7 +208,7 @@ function a8() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -228,7 +228,7 @@ function a9() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -243,7 +243,7 @@ function a9() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings3.types b/tests/baselines/reference/nestedBlockScopedBindings3.types index 37b89242f3e2c..e10cffb71232d 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings3.types +++ b/tests/baselines/reference/nestedBlockScopedBindings3.types @@ -96,7 +96,7 @@ function a3() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -129,7 +129,7 @@ function a4() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -163,7 +163,7 @@ function a5() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings6.types b/tests/baselines/reference/nestedBlockScopedBindings6.types index 5c8c1fa68fadc..fa4fa5ec6957e 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings6.types +++ b/tests/baselines/reference/nestedBlockScopedBindings6.types @@ -146,7 +146,7 @@ function a4() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -175,7 +175,7 @@ function a5() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -207,7 +207,7 @@ function a6() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any @@ -239,7 +239,7 @@ function a7() { >1 : number case 1: ->1 : number +>1 : 1 let x; >x : any diff --git a/tests/baselines/reference/nestedBlockScopedBindings9.types b/tests/baselines/reference/nestedBlockScopedBindings9.types index b889421e7dd61..e27254717fa9e 100644 --- a/tests/baselines/reference/nestedBlockScopedBindings9.types +++ b/tests/baselines/reference/nestedBlockScopedBindings9.types @@ -12,7 +12,7 @@ switch (1) { >1 : number case 1: ->1 : number +>1 : 1 let y; >y : any diff --git a/tests/baselines/reference/neverType.types b/tests/baselines/reference/neverType.types index 5424f61d1ede5..72d8eae6b3b61 100644 --- a/tests/baselines/reference/neverType.types +++ b/tests/baselines/reference/neverType.types @@ -70,13 +70,13 @@ function move1(direction: "up" | "down") { >direction : "up" | "down" case "up": ->"up" : string +>"up" : "up" return 1; >1 : number case "down": ->"down" : string +>"down" : "down" return -1; >-1 : number @@ -96,14 +96,14 @@ function move2(direction: "up" | "down") { >direction === "up" ? 1 : direction === "down" ? -1 : error("Should never get here") : number >direction === "up" : boolean >direction : "up" | "down" ->"up" : string +>"up" : "up" >1 : number direction === "down" ? -1 : >direction === "down" ? -1 : error("Should never get here") : number >direction === "down" : boolean ->direction : "up" | "down" ->"down" : string +>direction : "down" +>"down" : "down" >-1 : number >1 : number @@ -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 @@ -184,7 +184,7 @@ function f2(x: string | number) { >typeof x === "boolean" : boolean >typeof x : string >x : string | number ->"boolean" : string +>"boolean" : "boolean" return x; // never >x : never diff --git a/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types b/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types index e07fa21fafec9..6d54119880233 100644 --- a/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types +++ b/tests/baselines/reference/newExpressionWithTypeParameterConstrainedToOuterTypeParameter.types @@ -15,8 +15,8 @@ var i: I; >I : I var y = new i(""); // y should be string ->y : string ->new i("") : string +>y : "" +>new i("") : "" >i : I ->"" : string +>"" : "" diff --git a/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.symbols b/tests/baselines/reference/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.symbols new file mode 100644 index 0000000000000..d3d338e0d14d7 --- /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 0000000000000..c5e2c0b80f889 --- /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 0000000000000..bcf5d91c01510 --- /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 0000000000000..b56988de44cbb --- /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 0000000000000..eb215693cd756 --- /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 0000000000000..8c75af240346e --- /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/noImplicitReturnsInAsync1.types b/tests/baselines/reference/noImplicitReturnsInAsync1.types index 23f0892f30edc..1dfc098675c4e 100644 --- a/tests/baselines/reference/noImplicitReturnsInAsync1.types +++ b/tests/baselines/reference/noImplicitReturnsInAsync1.types @@ -8,7 +8,7 @@ async function test(isError: boolean = false) { if (isError === true) { >isError === true : boolean >isError : boolean ->true : boolean +>true : true return; } diff --git a/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.symbols b/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.symbols new file mode 100644 index 0000000000000..690a19ef18f7c --- /dev/null +++ b/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.symbols @@ -0,0 +1,9 @@ +=== tests/cases/compiler/test.d.ts === + +declare var S: typeof A; // no error +>S : Symbol(S, Decl(test.d.ts, 1, 11)) +>A : Symbol(A, Decl(test.d.ts, 2, 13)) + +declare const A: number; +>A : Symbol(A, Decl(test.d.ts, 2, 13)) + diff --git a/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.types b/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.types new file mode 100644 index 0000000000000..dfacda3091535 --- /dev/null +++ b/tests/baselines/reference/noUsedBeforeDefinedErrorInAmbientContext1.types @@ -0,0 +1,9 @@ +=== tests/cases/compiler/test.d.ts === + +declare var S: typeof A; // no error +>S : number +>A : number + +declare const A: number; +>A : number + diff --git a/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols b/tests/baselines/reference/nonContextuallyTypedLogicalOr.symbols index 2d921f6631c23..43d7539b6b9b6 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 aeb9d1409c6e6..5061ad1d9758b 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/numericLiteralTypes1.js b/tests/baselines/reference/numericLiteralTypes1.js new file mode 100644 index 0000000000000..17c24d872efe5 --- /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 0000000000000..87d2a15b29171 --- /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 0000000000000..38912e05365ef --- /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 : number + +type B2 = 1 | 0 | -1; +>B2 : B1 +>-1 : -1 +>1 : number + +type B3 = 0 | -1 | 1; +>B3 : B1 +>-1 : -1 +>1 : number + +function f2() { +>f2 : () => void + + var b: B1 = -1; +>b : B1 +>B1 : B1 +>-1 : -1 +>1 : number + + 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 : number + + 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" : string +} + +type Tag = 0 | 1 | 2; +>Tag : 0 | 1 | 2 + +function f10(x: Tag) { +>f10 : (x: 0 | 1 | 2) => string +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : string + + case 1: return "b"; +>1 : 1 +>"b" : string + + case 2: return "c"; +>2 : 2 +>"c" : string + } +} + +function f11(x: Tag) { +>f11 : (x: 0 | 1 | 2) => string +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : string + + case 1: return "b"; +>1 : 1 +>"b" : string + + case 2: return "c"; +>2 : 2 +>"c" : string + } + 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 | 1 | 2 +>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 : false | 0 +>x && y : false | 0 +>x : false | 0 +>y : 1 | "one" + + var b = y && x; +>b : false | 0 +>y && x : false | 0 +>y : 1 | "one" +>x : false | 0 + + var c = x || y; +>c : 1 | "one" +>x || y : 1 | "one" +>x : false | 0 +>y : 1 | "one" + + var d = y || x; +>d : false | 0 | 1 | "one" +>y || x : false | 0 | 1 | "one" +>y : 1 | "one" +>x : false | 0 + + var e = !x; +>e : true +>!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 0000000000000..ea82d00832cbf --- /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 0000000000000..f0dbbda502e30 --- /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 0000000000000..13292e5f75c07 --- /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 : number + +type B2 = 1 | 0 | -1; +>B2 : B1 +>-1 : -1 +>1 : number + +type B3 = 0 | -1 | 1; +>B3 : B1 +>-1 : -1 +>1 : number + +function f2() { +>f2 : () => void + + var b: B1 = -1; +>b : B1 +>B1 : B1 +>-1 : -1 +>1 : number + + 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 : number + + 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" : string +} + +type Tag = 0 | 1 | 2; +>Tag : 0 | 1 | 2 + +function f10(x: Tag) { +>f10 : (x: 0 | 1 | 2) => string +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : string + + case 1: return "b"; +>1 : 1 +>"b" : string + + case 2: return "c"; +>2 : 2 +>"c" : string + } +} + +function f11(x: Tag) { +>f11 : (x: 0 | 1 | 2) => string +>x : 0 | 1 | 2 +>Tag : 0 | 1 | 2 + + switch (x) { +>x : 0 | 1 | 2 + + case 0: return "a"; +>0 : 0 +>"a" : string + + case 1: return "b"; +>1 : 1 +>"b" : string + + case 2: return "c"; +>2 : 2 +>"c" : string + } + 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 | 0 +>x && y : string | 0 +>x : 0 | 1 | 2 +>y : string + + var b = x || y; +>b : string | 1 | 2 +>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 : false | 0 +>x && y : false | 0 +>x : false | 0 +>y : 1 | "one" + + var b = y && x; +>b : false | 0 +>y && x : false | 0 +>y : 1 | "one" +>x : false | 0 + + var c = x || y; +>c : 1 | "one" +>x || y : 1 | "one" +>x : false | 0 +>y : 1 | "one" + + var d = y || x; +>d : 1 | "one" +>y || x : 1 | "one" +>y : 1 | "one" +>x : false | 0 + + var e = !x; +>e : true +>!x : true +>x : false | 0 + + var f = !y; +>f : false +>!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 0000000000000..f89ea2ff10b0d --- /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 0000000000000..730314be8efbd --- /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/objectLiteralArraySpecialization.types b/tests/baselines/reference/objectLiteralArraySpecialization.types index b32eaa0441e18..405d8bff47225 100644 --- a/tests/baselines/reference/objectLiteralArraySpecialization.types +++ b/tests/baselines/reference/objectLiteralArraySpecialization.types @@ -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/objectLiteralExcessProperties.errors.txt b/tests/baselines/reference/objectLiteralExcessProperties.errors.txt index b96b9b0c54241..98f2e30287c76 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/operatorsAndIntersectionTypes.types b/tests/baselines/reference/operatorsAndIntersectionTypes.types index 6b5987d3a69da..b955059fea67d 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" as Guid : Guid >"21EC2020-3AEA-4069-A2DD-08002B30309D" : string ->Guid : string & { $Guid: any; } +>Guid : Guid } function createSerialNo() { ->createSerialNo : () => number & { $SerialNo: any; } +>createSerialNo : () => SerialNo return 12345 as SerialNo; ->12345 as SerialNo : number & { $SerialNo: any; } +>12345 as SerialNo : SerialNo >12345 : number ->SerialNo : number & { $SerialNo: any; } +>SerialNo : SerialNo } let map1: { [x: string]: number } = {}; @@ -31,15 +31,15 @@ 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] : number >map1 : { [x: string]: number; } ->guid : string & { $Guid: any; } +>guid : Guid >123 : number let map2: { [x: number]: string } = {}; @@ -48,15 +48,15 @@ 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] : string >map2 : { [x: number]: string; } ->serialNo : number & { $SerialNo: any; } +>serialNo : SerialNo >"hello" : string const s1 = "{" + guid + "}"; @@ -64,69 +64,69 @@ const s1 = "{" + guid + "}"; >"{" + guid + "}" : string >"{" + guid : string >"{" : string ->guid : string & { $Guid: any; } +>guid : Guid >"}" : string 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 const n1 = serialNo * 3; >n1 : number >serialNo * 3 : number ->serialNo : number & { $SerialNo: any; } +>serialNo : SerialNo >3 : number 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/overloadResolutionOverNonCTLambdas.types b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types index 066015389d220..4cf7b0b086fb1 100644 --- a/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types +++ b/tests/baselines/reference/overloadResolutionOverNonCTLambdas.types @@ -36,7 +36,7 @@ module Bugs { >args[index] : any >args : any[] >index : any ->'undefined' : string +>'undefined' : "undefined" ? args[index] >args[index] : any diff --git a/tests/baselines/reference/overloadReturnTypes.types b/tests/baselines/reference/overloadReturnTypes.types index 3de1aec1196c6..e8d1b7905dc48 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; diff --git a/tests/baselines/reference/parenthesizedContexualTyping2.types b/tests/baselines/reference/parenthesizedContexualTyping2.types index a055f2f1bbd6f..aa6e1916f8144 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 @@ -47,7 +47,7 @@ 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 : { (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 @@ -59,7 +59,7 @@ var a = fun(x => { x(undefined); return x; }, 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 : { (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 @@ -72,7 +72,7 @@ var b = fun((x => { x(undefined); return x; }), 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 : { (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 @@ -86,7 +86,7 @@ var c = fun(((x => { x(undefined); return x; })), 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 : { (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 @@ -101,7 +101,7 @@ var d = fun((((x => { x(undefined); return x; }))), 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 : { (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 @@ -119,7 +119,7 @@ var e = fun(x => { x(undefined); return x; }, x => { x(undefined 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 : { (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 @@ -139,7 +139,7 @@ var f = fun((x => { x(undefined); return x; }),(x => { x(undefin 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 : { (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 @@ -161,7 +161,7 @@ var g = fun(((x => { x(undefined); return x; })),((x => { x(unde 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 : { (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 @@ -185,7 +185,7 @@ var h = fun((((x => { x(undefined); return x; }))),((x => { x(un var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x => undefined), 10); >i : 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 : { (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 @@ -208,7 +208,7 @@ var i = fun((Math.random() < 0.5 ? x => { x(undefined); return x; } : x var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), 10); >j : 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 : { (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 @@ -233,7 +233,7 @@ var j = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : (x => undefined)), x => { x(undefined); return x; }, 10); >k : 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 : { (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 @@ -264,7 +264,7 @@ var k = fun((Math.random() < 0.5 ? (x => { x(undefined); return x; }) : var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) : ((x => undefined)))),((x => { x(undefined); return x; })), 10); >l : 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 : { (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 @@ -298,8 +298,8 @@ var l = fun(((Math.random() < 0.5 ? ((x => { x(undefined); return x; })) >10 : number 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/pathsValidation3.errors.txt b/tests/baselines/reference/pathsValidation3.errors.txt new file mode 100644 index 0000000000000..3bb85203e6e38 --- /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 0000000000000..bfffc647f632c --- /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/privacyClassExtendsClauseDeclFile.errors.txt b/tests/baselines/reference/privacyClassExtendsClauseDeclFile.errors.txt index f3c21baed3ce9..8b66d02b238e4 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/promiseType.types b/tests/baselines/reference/promiseType.types index 42f885eff68bc..1608182d6e9fd 100644 --- a/tests/baselines/reference/promiseType.types +++ b/tests/baselines/reference/promiseType.types @@ -21,8 +21,8 @@ const b = p.then(b => 1); >1 : number 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; } @@ -78,8 +78,8 @@ 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; } diff --git a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types index 3d01b8764735d..37a6d11b598f9 100644 --- a/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types +++ b/tests/baselines/reference/reachabilityCheckWithEmptyDefault.types @@ -11,7 +11,7 @@ function foo(x: any) { >x : any case 1: return; ->1 : number +>1 : 1 default: } diff --git a/tests/baselines/reference/recursiveGenericUnionType1.types b/tests/baselines/reference/recursiveGenericUnionType1.types index c153aba0e7c1e..65b1666fb4192 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 f98cf144780ec..2a74ba9558df0 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/recursiveIntersectionTypes.errors.txt b/tests/baselines/reference/recursiveIntersectionTypes.errors.txt index 34a25c19712ad..84762c2cec6e8 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/recursiveReturns.types b/tests/baselines/reference/recursiveReturns.types index c4d9fd31981bd..b1fdd125ecc5b 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 e5d62a051a539..72fb1efad3e34 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/resolveInterfaceNameWithSameLetDeclarationName2.types b/tests/baselines/reference/resolveInterfaceNameWithSameLetDeclarationName2.types index 6c52661ef4995..1220152d21231 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 0000000000000..b9e650b644b94 --- /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 a4761973db16d..0000000000000 --- 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 3b0a3c001b414..0000000000000 --- 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/sourceMap-Comments.types b/tests/baselines/reference/sourceMap-Comments.types index cbb58b6799459..b1681c05aad0d 100644 --- a/tests/baselines/reference/sourceMap-Comments.types +++ b/tests/baselines/reference/sourceMap-Comments.types @@ -17,17 +17,17 @@ module sas.tools { >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/sourceMapValidationDestructuringForArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types index fbe264eeeae67..c2a88a6883816 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern.types @@ -429,7 +429,7 @@ 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 @@ -448,7 +448,7 @@ 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 @@ -467,9 +467,9 @@ 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)[] +>numberA3 : string | number +>robotAInfo : (string | number)[] +>[2, "trimmer", "trimming"] : (string | number)[] >2 : number >"trimmer" : string >"trimming" : string @@ -486,7 +486,7 @@ 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])[] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types index a50f506262d5b..e9f7a0a740600 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPattern2.types @@ -69,7 +69,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])[] let i: number; @@ -531,10 +531,10 @@ 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 : [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 : number @@ -555,10 +555,10 @@ for ([numberA3, ...robotAInfo] = robotA, i = 0; i < 1; i++) { for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >[numberA3, ...robotAInfo] = getRobot(), i = 0 : number >[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 @@ -580,10 +580,10 @@ for ([numberA3, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { for ([numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0; i < 1; i++) { >[numberA3, ...robotAInfo] = [2, "trimmer", "trimming"], i = 0 : number >[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] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types index 245328296ebed..700e7b9f86307 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues.types @@ -534,7 +534,7 @@ for (let [numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robotA : [number, string, string] >i : number >0 : number @@ -555,7 +555,7 @@ for (let [numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i : number @@ -574,11 +574,11 @@ 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 +>numberA3 : string | number >-1 : number >1 : number ->robotAInfo : (number | string)[] ->[2, "trimmer", "trimming"] : (number | string)[] +>robotAInfo : (string | number)[] +>[2, "trimmer", "trimming"] : (string | number)[] >2 : number >"trimmer" : string >"trimming" : string @@ -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.types b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types index 3bef86dcf80a8..93d149a6bdec5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForArrayBindingPatternDefaultValues2.types @@ -69,7 +69,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])[] let i: number; @@ -666,13 +666,13 @@ for ([nameMA = "noName", for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { >[numberA3 = -1, ...robotAInfo] = robotA, i = 0 : number >[numberA3 = -1, ...robotAInfo] = robotA : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] +>[numberA3 = -1, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >robotA : [number, string, string] >i = 0 : number >i : number @@ -693,13 +693,13 @@ for ([numberA3 = -1, ...robotAInfo] = robotA, i = 0; i < 1; i++) { for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { >[numberA3 = -1, ...robotAInfo] = getRobot(), i = 0 : number >[numberA3 = -1, ...robotAInfo] = getRobot() : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] +>[numberA3 = -1, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...robotAInfo : string | number +>robotAInfo : (string | number)[] >getRobot() : [number, string, string] >getRobot : () => [number, string, string] >i = 0 : number @@ -721,13 +721,13 @@ for ([numberA3 = -1, ...robotAInfo] = getRobot(), i = 0; i < 1; i++) { 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"] : [number, string, string] ->[numberA3 = -1, ...robotAInfo] : (number | string)[] +>[numberA3 = -1, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : 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] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types index 95c947f8fcc20..aebfe16dcde88 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern.types @@ -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.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types index 78cb778b5451b..be84bbe3459bb 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPattern2.types @@ -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.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types index 488b5c4614537..80ba5df531fa0 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues.types @@ -409,7 +409,7 @@ for (let [numberA3 = -1, ...robotAInfo] of robots) { >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robots : [number, string, string][] console.log(numberA3); @@ -423,7 +423,7 @@ for (let [numberA3 = -1, ...robotAInfo] of getRobots()) { >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >getRobots() : [number, string, string][] >getRobots : () => [number, string, string][] @@ -438,7 +438,7 @@ for (let [numberA3 = -1, ...robotAInfo] of [robotA, robotB]) { >numberA3 : number >-1 : number >1 : 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/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types index 5f580ad38f442..257663d7fe33a 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringForOfArrayBindingPatternDefaultValues2.types @@ -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 = "noName"] of robots) { @@ -489,13 +489,13 @@ for ([nameMA = "noName", [ } for ([numberA3 = -1, ...robotAInfo] of robots) { ->[numberA3 = -1, ...robotAInfo] : (number | string)[] +>[numberA3 = -1, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...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, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...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, ...robotAInfo] : (string | number)[] >numberA3 = -1 : number >numberA3 : number >-1 : number >1 : 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/sourceMapValidationDestructuringParametertArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types index 9c695f1c0dd77..aab0b3cf5c73e 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPattern.types @@ -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); diff --git a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types index 366c538dda745..43420fdd58773 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringParametertArrayBindingPatternDefaultValues.types @@ -86,7 +86,7 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >Robot : [number, string, string] >[-1, "name", "skill"] : [number, string, string] >-1 : number @@ -99,7 +99,7 @@ function foo4([numberA3 = -1, ...robotAInfo]: Robot = [-1, "name", "skill"]) { >console.log : (msg: any) => void >console : { log(msg: any): void; } >log : (msg: any) => void ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] } foo1(robotA); diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types index 73006f4ec4544..db6e57258d764 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern.types @@ -59,7 +59,7 @@ let [numberC, nameC, skillC] = [3, "edging", "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/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types index 5ca93029977d1..14a8c18c051ef 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPattern3.types @@ -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] @@ -222,27 +222,27 @@ let multiRobotAInfo: (string | [string, string])[]; [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] diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types index 2dad459725eaf..be5b47f2eaaf5 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues.types @@ -73,7 +73,7 @@ let [numberA3 = -1, ...robotAInfo] = robotA; >numberA3 : number >-1 : number >1 : number ->robotAInfo : (number | string)[] +>robotAInfo : (string | number)[] >robotA : [number, string, string] if (nameA == nameA2) { diff --git a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types index 7edf6c63e4aed..0b1454bdf3b82 100644 --- a/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types +++ b/tests/baselines/reference/sourceMapValidationDestructuringVariableStatementArrayBindingPatternDefaultValues3.types @@ -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[] @@ -296,36 +296,36 @@ let multiRobotAInfo: (string | string[])[]; [numberB = -1, ...robotAInfo] = robotB; >[numberB = -1, ...robotAInfo] = robotB : [number, string, string] ->[numberB = -1, ...robotAInfo] : (number | string)[] +>[numberB = -1, ...robotAInfo] : (string | number)[] >numberB = -1 : number >numberB : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...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, ...robotAInfo] : (string | number)[] >numberB = -1 : number >numberB : number >-1 : number >1 : number ->...robotAInfo : number | string ->robotAInfo : (number | string)[] +>...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, ...robotAInfo] : (string | number)[] >numberB = -1 : number >numberB : number >-1 : number >1 : 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] diff --git a/tests/baselines/reference/sourceMapValidationIfElse.types b/tests/baselines/reference/sourceMapValidationIfElse.types index 30de2f11450d3..2b195983f217b 100644 --- a/tests/baselines/reference/sourceMapValidationIfElse.types +++ b/tests/baselines/reference/sourceMapValidationIfElse.types @@ -6,7 +6,7 @@ var i = 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,7 +36,7 @@ else if (i == 20) { } else if (i == 30) { >i == 30 : boolean >i : number ->30 : number +>30 : 30 i += 70; >i += 70 : number diff --git a/tests/baselines/reference/sourceMapValidationSwitch.types b/tests/baselines/reference/sourceMapValidationSwitch.types index a594004a54812..1c0a73c1bbe11 100644 --- a/tests/baselines/reference/sourceMapValidationSwitch.types +++ b/tests/baselines/reference/sourceMapValidationSwitch.types @@ -7,7 +7,7 @@ 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 @@ -35,7 +35,7 @@ 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 diff --git a/tests/baselines/reference/sourceMapValidationWhile.types b/tests/baselines/reference/sourceMapValidationWhile.types index 9225b93e08ce6..86cf021627694 100644 --- a/tests/baselines/reference/sourceMapValidationWhile.types +++ b/tests/baselines/reference/sourceMapValidationWhile.types @@ -6,7 +6,7 @@ var a = 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/staticAnonymousTypeNotReferencingTypeParameter.symbols b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.symbols index 2596959de9ea8..f217f42a8d6fb 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 8d35f32707af3..69de032ca2ef2 100644 --- a/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types +++ b/tests/baselines/reference/staticAnonymousTypeNotReferencingTypeParameter.types @@ -241,7 +241,7 @@ class ListWrapper { >array.length : number >array : T[] >length : number ->0 : number +>0 : 0 >null : null return array[array.length - 1]; @@ -288,7 +288,7 @@ class ListWrapper { >list : T[] >indexOf : (searchElement: T, fromIndex?: number) => number >el : T ->-1 : number +>-1 : -1 >1 : number static reversed(dit: typeof ListWrapper, array: T[]): T[] { @@ -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); } @@ -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 @@ -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 diff --git a/tests/baselines/reference/strictNullLogicalAndOr.types b/tests/baselines/reference/strictNullLogicalAndOr.types index a11a7033fb6ac..ba25c57fe1d20 100644 --- a/tests/baselines/reference/strictNullLogicalAndOr.types +++ b/tests/baselines/reference/strictNullLogicalAndOr.types @@ -14,7 +14,7 @@ let sinOrCos = Math.random() < .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,7 +37,7 @@ 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 diff --git a/tests/baselines/reference/stringLiteralCheckedInIf01.types b/tests/baselines/reference/stringLiteralCheckedInIf01.types index 75b7eadbc19b4..bbf83ebdaa6c7 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" +>(foo as S[])[0] : S +>(foo as S[]) : S[] +>foo as S[] : S[] +>foo : S[] +>S : S >0 : number } } diff --git a/tests/baselines/reference/stringLiteralCheckedInIf02.types b/tests/baselines/reference/stringLiteralCheckedInIf02.types index 79f4c6a223a71..d8e0be2f0d9cf 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")[] +>foo[0] : S +>foo : S[] >0 : number } } diff --git a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types index cfbb77e07e0a3..a0147779fd006 100644 --- a/tests/baselines/reference/stringLiteralMatchedInSwitch01.types +++ b/tests/baselines/reference/stringLiteralMatchedInSwitch01.types @@ -1,36 +1,36 @@ === 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" +>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 : number break; diff --git a/tests/baselines/reference/stringLiteralTypeAssertion01.types b/tests/baselines/reference/stringLiteralTypeAssertion01.types index f70313f834700..051b8ffc573f3 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/stringLiteralTypesAndTuples01.js b/tests/baselines/reference/stringLiteralTypesAndTuples01.js index ae02d12429a39..b887213c8f6ad 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 let im: "I'm", a: "a", dinosaur: RexOrRaptor; declare function rawr(dino: RexOrRaptor): string; diff --git a/tests/baselines/reference/stringLiteralTypesAndTuples01.types b/tests/baselines/reference/stringLiteralTypesAndTuples01.types index e8b5b37a2dda8..10a30a6d75c94 100644 --- a/tests/baselines/reference/stringLiteralTypesAndTuples01.types +++ b/tests/baselines/reference/stringLiteralTypesAndTuples01.types @@ -13,13 +13,13 @@ let [hello, brave, newish, world] = ["Hello", "Brave", "New", "World"]; >"World" : string 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" @@ -27,26 +27,26 @@ let [im, a, dinosaur]: ["I'm", "a", RexOrRaptor] = ['I\'m', 'a', 't-rex']; rawr(dinosaur); >rawr(dinosaur) : string ->rawr : (dino: "t-rex" | "raptor") => string +>rawr : (dino: RexOrRaptor) => string >dinosaur : "t-rex" function rawr(dino: RexOrRaptor) { ->rawr : (dino: "t-rex" | "raptor") => string ->dino : "t-rex" | "raptor" ->RexOrRaptor : "t-rex" | "raptor" +>rawr : (dino: RexOrRaptor) => string +>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 } if (dino === "raptor") { >dino === "raptor" : boolean ->dino : "t-rex" | "raptor" ->"raptor" : string +>dino : "raptor" +>"raptor" : "raptor" return "yip yip!"; >"yip yip!" : string @@ -55,5 +55,5 @@ function rawr(dino: RexOrRaptor) { throw "Unexpected " + dino; >"Unexpected " + dino : string >"Unexpected " : string ->dino : "t-rex" | "raptor" +>dino : never } diff --git a/tests/baselines/reference/stringLiteralTypesAsTags01.types b/tests/baselines/reference/stringLiteralTypesAsTags01.types index 64b099b34f2fa..e95a7364f9340 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 = { @@ -89,7 +89,7 @@ let x: A = { 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 92b294a249895..c984b8a78f9ba 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 = { @@ -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 49ae3da4be033..fbe71ff07c188 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 = { @@ -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/stringLiteralTypesAsTypeParameterConstraint02.errors.txt b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.errors.txt deleted file mode 100644 index ed6450ad3293f..0000000000000 --- 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 c024ac6bc43b2..173e74a6eef86 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: "foo"; diff --git a/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.symbols b/tests/baselines/reference/stringLiteralTypesAsTypeParameterConstraint02.symbols new file mode 100644 index 0000000000000..1c5eb4577887e --- /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 0000000000000..3a1b8fdc05c83 --- /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 : "foo" +>f("foo") : "foo" +>f : (x: "foo") => "foo" +>"foo" : "foo" + diff --git a/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes01.types index 7201aaa91cab1..96ec536f82fef 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 242248617e0d4..ab63a9e2fab36 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 +>a : string | "foo" +>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 +>c : string | "bar" +>x : string | "bar" let d = y; ->d : string ->y : string +>d : string | "foo" | "bar" | "baz" +>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 +>c : string | "bar" +>d : string | "foo" | "bar" | "baz" } 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.types b/tests/baselines/reference/stringLiteralTypesInUnionTypes03.types index 920f7e1a71ccb..99a729c7cf9c6 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 fdaaa21b6cbb2..05b6b9b9b7aed 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 : "" +>x : "" } if (x !== "") { >x !== "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let b = x; ->b : "" | "foo" ->x : "" | "foo" +>b : "foo" +>x : "foo" } if (x == "") { >x == "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let c = x; ->c : "" | "foo" ->x : "" | "foo" +>c : "" +>x : "" } if (x != "") { >x != "" : boolean ->x : "" | "foo" ->"" : string +>x : T +>"" : "" let d = x; ->d : "" | "foo" ->x : "" | "foo" +>d : "foo" +>x : "foo" } if (x) { ->x : "" | "foo" +>x : T let e = x; ->e : "" | "foo" ->x : "" | "foo" +>e : "foo" +>x : "foo" } if (!x) { >!x : boolean ->x : "" | "foo" +>x : T let f = x; ->f : "" | "foo" ->x : "" | "foo" +>f : T +>x : T } if (!!x) { >!!x : boolean >!x : boolean ->x : "" | "foo" +>x : T let g = x; ->g : "" | "foo" ->x : "" | "foo" +>g : "foo" +>x : "foo" } if (!!!x) { >!!!x : boolean >!!x : boolean >!x : boolean ->x : "" | "foo" +>x : T let h = x; ->h : "" | "foo" ->x : "" | "foo" +>h : T +>x : T } diff --git a/tests/baselines/reference/stringLiteralTypesOverloads01.js b/tests/baselines/reference/stringLiteralTypesOverloads01.js index f3331c9f717d6..dd050b5e4646c 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 6ba8d482117c6..3b9df5c006675 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads01.types +++ b/tests/baselines/reference/stringLiteralTypesOverloads01.types @@ -1,61 +1,61 @@ === 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 } if (x === "boolean") { >x === "boolean" : boolean ->x : "string" | "number" | "boolean" ->"boolean" : string +>x : "boolean" +>"boolean" : "boolean" return false; >false : boolean @@ -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.js b/tests/baselines/reference/stringLiteralTypesOverloads02.js index 3c53f9380a88b..45443ea6a8fa3 100644 --- a/tests/baselines/reference/stringLiteralTypesOverloads02.js +++ b/tests/baselines/reference/stringLiteralTypesOverloads02.js @@ -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/stringLiteralTypesTypePredicates01.types b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types index 4a765ea531295..822103b86f571 100644 --- a/tests/baselines/reference/stringLiteralTypesTypePredicates01.types +++ b/tests/baselines/reference/stringLiteralTypesTypePredicates01.types @@ -1,44 +1,44 @@ === 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; @@ -54,8 +54,8 @@ else { 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; diff --git a/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types b/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types index 90cb538b800d1..d55d5ab92948d 100644 --- a/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types +++ b/tests/baselines/reference/stringLiteralTypesWithVariousOperators01.types @@ -15,8 +15,8 @@ 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 : number | "ABC" | "XYZ" >abcOrXyz : "ABC" | "XYZ" >100 : number @@ -95,47 +95,47 @@ let l = -abcOrXyz; let m = abcOrXyzOrNumber + ""; >m : string >abcOrXyzOrNumber + "" : string ->abcOrXyzOrNumber : "ABC" | "XYZ" | number +>abcOrXyzOrNumber : number | "ABC" | "XYZ" >"" : string 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 92afe67df0c62..ad02604cc4cf6 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 'number'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(8,9): error TS2365: Operator '+' cannot be applied to types 'number' 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 'boolean'. +tests/cases/conformance/types/stringLiteral/stringLiteralTypesWithVariousOperators02.ts(11,9): error TS2365: Operator '+' cannot be applied to types 'boolean' 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 'number'. 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 'number' 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 'boolean'. 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 'boolean' 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 0000000000000..2c80e8a704e1e --- /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 0000000000000..3affecc854e19 --- /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 0000000000000..17a835a2461d6 --- /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" : string + +var b = "foo" !== ("bar" as string); +>b : boolean +>"foo" !== ("bar" as string) : boolean +>"foo" : "foo" +>("bar" as string) : string +>"bar" as string : string +>"bar" : string + +var c = "foo" == ("bar"); +>c : boolean +>"foo" == ("bar") : boolean +>"foo" : "foo" +>("bar") : any +>"bar" : any +>"bar" : string + diff --git a/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt new file mode 100644 index 0000000000000..5daeab5dbeddc --- /dev/null +++ b/tests/baselines/reference/stringLiteralsAssertionsInEqualityComparisons02.errors.txt @@ -0,0 +1,24 @@ +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(3,19): error TS2352: Type '"bar"' cannot be converted to type '"baz"'. +tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts(4,20): error TS2352: Type '"bar"' cannot be converted to type '"foo"'. +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 (5 errors) ==== + type EnhancedString = string & { enhancements: any }; + + var a = "foo" === "bar" as "baz"; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2365: Operator '===' cannot be applied to types '"foo"' and '"baz"'. + ~~~~~~~~~~~~~~ +!!! error TS2352: Type '"bar"' cannot be converted to type '"baz"'. + var b = "foo" !== ("bar" as "foo"); + ~~~~~~~~~~~~~~ +!!! error TS2352: Type '"bar"' cannot be converted to type '"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 0000000000000..32beac89bf734 --- /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 0000000000000..17b4e39e0c5cb --- /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 0000000000000..fc08a354338d2 --- /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 0000000000000..ef01bbf510989 --- /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 0000000000000..b31246251a393 --- /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 0000000000000..a12d3f7f0d204 --- /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 0000000000000..e418c73ff691b --- /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 0000000000000..fde735023d97c --- /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 0000000000000..52f43cdfa5eef --- /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 0000000000000..b127d999d943e --- /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 0000000000000..b9541ef05e608 --- /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 0000000000000..1a4d9a4c5602c --- /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 0000000000000..0487161561741 --- /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 0000000000000..b2cbc96501fad --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt @@ -0,0 +1,43 @@ +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(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 (3 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")): + x; + y; + break; + case (("foo" || ("bar"))): + break; + case (("bar" || ("baz"))): + 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: + 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 0000000000000..17596249e6c1b --- /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.js b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.js new file mode 100644 index 0000000000000..da2ce7b4150ba --- /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 0000000000000..40062a34b473d --- /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 0000000000000..fc395576a7221 --- /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.errors.txt b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.errors.txt new file mode 100644 index 0000000000000..d9d465c7afc24 --- /dev/null +++ b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.errors.txt @@ -0,0 +1,25 @@ +tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts(3,9): error TS2352: Type '"foo"' cannot be converted to type '"bar"'. +tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts(4,9): error TS2352: Type '"bar"' cannot be converted to type '"foo"'. +tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts(7,9): error TS2352: Type '"foo" | "bar"' cannot be converted to type '"baz"'. + Type '"bar"' is not comparable to type '"baz"'. +tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts(8,9): error TS2352: Type '"baz"' cannot be converted to type '"foo" | "bar"'. + + +==== tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts (4 errors) ==== + let fooOrBar: "foo" | "bar"; + + let a = "foo" as "bar"; + ~~~~~~~~~~~~~~ +!!! error TS2352: Type '"foo"' cannot be converted to type '"bar"'. + let b = "bar" as "foo"; + ~~~~~~~~~~~~~~ +!!! error TS2352: Type '"bar"' cannot be converted to type '"foo"'. + let c = fooOrBar as "foo"; + let d = fooOrBar as "bar"; + let e = fooOrBar as "baz"; + ~~~~~~~~~~~~~~~~~ +!!! error TS2352: Type '"foo" | "bar"' cannot be converted to type '"baz"'. +!!! error TS2352: Type '"bar"' is not comparable to type '"baz"'. + let f = "baz" as typeof fooOrBar; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2352: Type '"baz"' cannot be converted to type '"foo" | "bar"'. \ No newline at end of file diff --git a/tests/baselines/reference/stringLiteralsWithTypeAssertions01.js b/tests/baselines/reference/stringLiteralsWithTypeAssertions01.js new file mode 100644 index 0000000000000..6e74c73751745 --- /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/subtypesOfTypeParameterWithConstraints2.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types index 39c50bde35569..4059a1b0b5114 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints2.types @@ -244,7 +244,7 @@ function f5(x: T) { var r1 = true ? x : 1; // ok >r1 : number | T ->true ? x : 1 : T | number +>true ? x : 1 : number | T >true : boolean >x : T >1 : number @@ -266,7 +266,7 @@ function f6(x: T) { var r2 = true ? x : ''; // ok >r2 : string | T ->true ? x : '' : T | string +>true ? x : '' : string | T >true : boolean >x : T >'' : string @@ -288,7 +288,7 @@ function f7(x: T) { var r3 = true ? x : true; // ok >r3 : boolean | T ->true ? x : true : T | boolean +>true ? x : true : boolean | T >true : boolean >x : T >true : boolean @@ -506,14 +506,14 @@ function f16(x: T) { >T : T var r13 = true ? E : x; // ok ->r13 : typeof E | T ->true ? E : x : typeof E | T +>r13 : T | typeof E +>true ? E : x : T | typeof E >true : boolean >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 >x : T diff --git a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types index 88c589982646f..f0f075a37ce16 100644 --- a/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types +++ b/tests/baselines/reference/subtypesOfTypeParameterWithConstraints3.types @@ -39,21 +39,21 @@ function f(t: T, u: U, v: V) { var r2 = true ? v : t; >r2 : T | V ->true ? v : t : V | T +>true ? v : t : T | V >true : boolean >v : V >t : T // ok var r3 = true ? v : u; ->r3 : V | U ->true ? v : u : V | U +>r3 : U | V +>true ? v : u : U | V >true : boolean >v : V >u : U var r3 = true ? u : v; ->r3 : V | U +>r3 : U | V >true ? u : v : U | V >true : boolean >u : U diff --git a/tests/baselines/reference/subtypesOfUnion.errors.txt b/tests/baselines/reference/subtypesOfUnion.errors.txt index 7c2e88ec8fd14..fade5377814f4 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/subtypingWithCallSignatures2.types b/tests/baselines/reference/subtypingWithCallSignatures2.types index b72993e7bea1c..8a56e05a9c212 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures2.types +++ b/tests/baselines/reference/subtypingWithCallSignatures2.types @@ -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 @@ -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[] diff --git a/tests/baselines/reference/subtypingWithCallSignatures3.types b/tests/baselines/reference/subtypingWithCallSignatures3.types index 2d4c6e9fda572..379810b2541f0 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures3.types +++ b/tests/baselines/reference/subtypingWithCallSignatures3.types @@ -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 @@ -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 diff --git a/tests/baselines/reference/subtypingWithCallSignatures4.types b/tests/baselines/reference/subtypingWithCallSignatures4.types index f490f78787823..e76d36114e961 100644 --- a/tests/baselines/reference/subtypingWithCallSignatures4.types +++ b/tests/baselines/reference/subtypingWithCallSignatures4.types @@ -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 @@ -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 c66d6055558ad..d723a367ecb3d 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 741db4f4ba6aa..b0f0680c7a088 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 932adcb7368fa..21a40ecf7fcc1 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/subtypingWithObjectMembersOptionality3.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types index 000d1cdc8ede0..6490b0abd9b16 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality3.types @@ -69,8 +69,8 @@ var b: { Foo2: Derived; } >Derived : Derived var r = true ? a : b; // ok ->r : { Foo?: Base; } | { Foo2: Derived; } ->true ? a : b : { Foo?: Base; } | { Foo2: Derived; } +>r : { Foo?: Base; } +>true ? a : b : { Foo?: Base; } >true : boolean >a : { Foo?: Base; } >b : { Foo2: Derived; } diff --git a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types index 2dcda59f46f54..ee636be020b8d 100644 --- a/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types +++ b/tests/baselines/reference/subtypingWithObjectMembersOptionality4.types @@ -69,8 +69,8 @@ var b: { Foo2?: Derived; } >Derived : Derived var r = true ? a : b; // ok ->r : { Foo: Base; } | { Foo2?: Derived; } ->true ? a : b : { Foo: Base; } | { Foo2?: Derived; } +>r : { Foo2?: Derived; } +>true ? a : b : { Foo2?: Derived; } >true : boolean >a : { Foo: Base; } >b : { Foo2?: Derived; } diff --git a/tests/baselines/reference/switchBreakStatements.types b/tests/baselines/reference/switchBreakStatements.types index 0364d878d5ab4..c69c20a33064a 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 d42f407a784d9..ad2ca8bc123a9 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.types b/tests/baselines/reference/switchCases.types index 154ea011cdeff..0f10e7029076d 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 26d39efef48ec..e430b33097c0a 100644 --- a/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt +++ b/tests/baselines/reference/switchCasesExpressionTypeMismatch.errors.txt @@ -1,6 +1,6 @@ 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(5,10): error TS2678: Type '"sss"' is not comparable to type 'number'. +tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2678: Type 'true' is not comparable to type 'number'. ==== tests/cases/compiler/switchCasesExpressionTypeMismatch.ts (3 errors) ==== @@ -12,11 +12,11 @@ tests/cases/compiler/switchCasesExpressionTypeMismatch.ts(7,10): error TS2678: T !!! error TS2678: Type 'typeof Foo' is not comparable to type 'number'. case "sss": break; // Error ~~~~~ -!!! error TS2678: Type 'string' is not comparable to type 'number'. +!!! error TS2678: Type '"sss"' is not comparable to type 'number'. case 123: break; // No Error case true: break; // Error ~~~~ -!!! error TS2678: Type 'boolean' is not comparable to type 'number'. +!!! error TS2678: Type 'true' is not comparable to type 'number'. } var s: any = 0; diff --git a/tests/baselines/reference/switchFallThroughs.types b/tests/baselines/reference/switchFallThroughs.types index 7a88985741c9c..cd0af6693ebf8 100644 --- a/tests/baselines/reference/switchFallThroughs.types +++ b/tests/baselines/reference/switchFallThroughs.types @@ -7,13 +7,13 @@ 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 @@ -23,16 +23,16 @@ function R1(index: number) { >a : string case 3: ->3 : number +>3 : 3 case 4: { ->4 : number +>4 : 4 return 'b'; >'b' : string } case 5: ->5 : number +>5 : 5 default: return 'c'; diff --git a/tests/baselines/reference/symbolProperty33.errors.txt b/tests/baselines/reference/symbolProperty33.errors.txt index 25a16b045abe6..b1dab90db337d 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 4339af94788c3..98a9875bd501f 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/symbolType11.types b/tests/baselines/reference/symbolType11.types index b251db4330106..903c4ec0ecc2b 100644 --- a/tests/baselines/reference/symbolType11.types +++ b/tests/baselines/reference/symbolType11.types @@ -28,7 +28,7 @@ s || s; >s : symbol s || 1; ->s || 1 : symbol | number +>s || 1 : number | symbol >s : symbol >1 : number diff --git a/tests/baselines/reference/symbolType17.types b/tests/baselines/reference/symbolType17.types index a6174f7a3aeb2..c186f915cd0ac 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 68c43215136fa..8f0012f4f118b 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 33c4f5ac07c65..18daa27fd00d7 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/taggedTemplateContextualTyping1.types b/tests/baselines/reference/taggedTemplateContextualTyping1.types index 93ca81f8446fb..2ccf8798dfd79 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 @@ -49,7 +49,7 @@ function tempTag1(...rest: any[]): T { // 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 : { (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 @@ -61,7 +61,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ 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 : { (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 @@ -79,7 +79,7 @@ tempTag1 `${ x => { x(undefined); return x; } }${ y => 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 8fcfc02c62b69..02dcbd2275380 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 @@ -63,7 +63,7 @@ tempTag2 `${ x => { x(undefined); return x; } }${ 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 @@ -81,7 +81,7 @@ tempTag2 `${ x => { x(undefined); return x; } }${ y => { y { 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 diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt index be5c21f1a0bc9..b345e971ab286 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.errors.txt @@ -13,60 +13,60 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference noParams ``; // Generic tag with parameter which does not use type parameter - function noGenericParams(n: string[]) { } + function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; - function someGenerics1b(n: string[], m: U) { } + function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type - function someGenerics2a(strs: string[], n: (x: T) => void) { } + function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; - function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } + function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter - function someGenerics3(strs: string[], producer: () => T) { } + function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type - function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } + function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type - function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } + function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type - function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } + function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type - function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } + function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type - function someGenerics8(strs: string[], n: T): T { return n; } + function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type - function someGenerics9(strs: string[], a: T, b: T, c: T): T { + function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js index 1b6e3ab92c8c9..69dcd2841832a 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInference.js @@ -6,60 +6,60 @@ function noParams(n: T) { } noParams ``; // Generic tag with parameter which does not use type parameter -function noGenericParams(n: string[]) { } +function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; -function someGenerics1b(n: string[], m: U) { } +function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs: string[], n: (x: T) => void) { } +function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; -function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } +function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs: string[], producer: () => T) { } +function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } +function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } +function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type -function someGenerics8(strs: string[], n: T): T { return n; } +function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type -function someGenerics9(strs: string[], a: T, b: T, c: T): T { +function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt index 63d04a42b3b76..619e5081a3be9 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.errors.txt @@ -12,60 +12,60 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference noParams ``; // Generic tag with parameter which does not use type parameter - function noGenericParams(n: string[]) { } + function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; - function someGenerics1b(n: string[], m: U) { } + function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type - function someGenerics2a(strs: string[], n: (x: T) => void) { } + function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; - function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } + function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter - function someGenerics3(strs: string[], producer: () => T) { } + function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type - function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } + function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type - function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } + function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type - function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } + function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type - function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } + function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type - function someGenerics8(strs: string[], n: T): T { return n; } + function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type - function someGenerics9(strs: string[], a: T, b: T, c: T): T { + function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js index 2f57882b4b794..3097e40c9ad67 100644 --- a/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js +++ b/tests/baselines/reference/taggedTemplateStringsTypeArgumentInferenceES6.js @@ -5,60 +5,60 @@ function noParams(n: T) { } noParams ``; // Generic tag with parameter which does not use type parameter -function noGenericParams(n: string[]) { } +function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; -function someGenerics1b(n: string[], m: U) { } +function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs: string[], n: (x: T) => void) { } +function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; -function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } +function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs: string[], producer: () => T) { } +function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } +function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } +function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type -function someGenerics8(strs: string[], n: T): T { return n; } +function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type -function someGenerics9(strs: string[], a: T, b: T, c: T): T { +function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt index 166769fbbf53d..44b30fb535fec 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.errors.txt @@ -8,7 +8,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts (6 errors) ==== interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js index 9d11379322834..511928e134244 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTags.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithIncompatibleTypedTags.ts] interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt index 89b48b0193cee..c2825c19e6373 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.errors.txt @@ -8,7 +8,7 @@ tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTyped ==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts (6 errors) ==== interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js index 8b63635606802..99fa7c3d5506a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithIncompatibleTypedTagsES6.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithIncompatibleTypedTagsES6.ts] interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js index 1814816283bf1..a896a811ffbbe 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithManyCallAndMemberExpressions.ts] interface I { - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; member: { new (s: string): { new (n: number): { diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols index 226729907def6..c8883fda4feb8 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.symbols @@ -2,13 +2,14 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 0, 0)) - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; >strs : Symbol(strs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 5)) ->subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 20)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 32)) >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 0, 0)) member: { ->member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 55)) new (s: string): { >s : Symbol(s, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 3, 13)) @@ -27,8 +28,8 @@ var f: I; var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >x : Symbol(x, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 12, 3)) ->f `abc${ 0 }def`.member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 43)) +>f `abc${ 0 }def`.member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 55)) >f : Symbol(f, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 10, 3)) ->member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressions.ts, 1, 55)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types index 83a0f2cf9f417..34d9e71dcabc7 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressions.types @@ -2,8 +2,9 @@ interface I { >I : I - (strs: string[], ...subs: number[]): I; ->strs : string[] + (strs: TemplateStringsArray, ...subs: number[]): I; +>strs : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray >subs : number[] >I : I @@ -39,6 +40,6 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >member : new (s: string) => new (n: number) => new () => boolean >"hello" : string >42 : number ->true : boolean +>true : true diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.js b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.js index b985860f0650a..f1acbaa1546a7 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts] interface I { - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; member: { new (s: string): { new (n: number): { diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols index 6535e9988084a..0d163daa640e2 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.symbols @@ -2,13 +2,14 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 0, 0)) - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; >strs : Symbol(strs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 5)) ->subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 20)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) +>subs : Symbol(subs, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 32)) >I : Symbol(I, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 0, 0)) member: { ->member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 55)) new (s: string): { >s : Symbol(s, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 3, 13)) @@ -27,8 +28,8 @@ var f: I; var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >x : Symbol(x, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 12, 3)) ->f `abc${ 0 }def`.member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 43)) +>f `abc${ 0 }def`.member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 55)) >f : Symbol(f, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 10, 3)) ->member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 43)) +>member : Symbol(I.member, Decl(taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts, 1, 55)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types index c240b7ced11f6..b57b1ba40aa98 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.types @@ -2,8 +2,9 @@ interface I { >I : I - (strs: string[], ...subs: number[]): I; ->strs : string[] + (strs: TemplateStringsArray, ...subs: number[]): I; +>strs : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray >subs : number[] >I : I @@ -39,6 +40,6 @@ var x = new new new f `abc${ 0 }def`.member("hello")(42) === true; >member : new (s: string) => new (n: number) => new () => boolean >"hello" : string >42 : number ->true : boolean +>true : true diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt index 9e450cbb36879..426eef8ce7fd3 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt @@ -1,25 +1,39 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(12,20): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(9,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(10,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts(11,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +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(21,9): error TS2346: Supplied parameters do not match any signature of call target. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts (4 errors) ==== - function foo(strs: string[]): number; - function foo(strs: string[], x: number): string; - function foo(strs: string[], x: number, y: number): boolean; - function foo(strs: string[], x: number, y: string): {}; +==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts (8 errors) ==== + function foo(strs: TemplateStringsArray): number; + function foo(strs: TemplateStringsArray, x: number): string; + function foo(strs: TemplateStringsArray, x: number, y: number): boolean; + function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } var a = foo([]); // number + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type 'undefined[]'. var b = foo([], 1); // string + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var c = foo([], 1, 2); // boolean + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var d = 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 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var e = foo([], 1, "2"); // {} + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var f = foo([], 1, 2, 3); // any (with error) ~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js index 431447df22e38..4245b0cb0f436 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.js @@ -1,8 +1,8 @@ //// [taggedTemplateStringsWithOverloadResolution1.ts] -function foo(strs: string[]): number; -function foo(strs: string[], x: number): string; -function foo(strs: string[], x: number, y: number): boolean; -function foo(strs: string[], x: number, y: string): {}; +function foo(strs: TemplateStringsArray): number; +function foo(strs: TemplateStringsArray, x: number): string; +function foo(strs: TemplateStringsArray, x: number, y: number): boolean; +function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt index 53361f2052d7e..73adc0c0302bb 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt @@ -1,25 +1,39 @@ -tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(12,20): error TS2345: Argument of type 'boolean' is not assignable to parameter of type 'string'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(9,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(10,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts(11,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +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(21,9): error TS2346: Supplied parameters do not match any signature of call target. -==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts (4 errors) ==== - function foo(strs: string[]): number; - function foo(strs: string[], x: number): string; - function foo(strs: string[], x: number, y: number): boolean; - function foo(strs: string[], x: number, y: string): {}; +==== tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts (8 errors) ==== + function foo(strs: TemplateStringsArray): number; + function foo(strs: TemplateStringsArray, x: number): string; + function foo(strs: TemplateStringsArray, x: number, y: number): boolean; + function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } var a = foo([]); // number + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type 'undefined[]'. var b = foo([], 1); // string + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var c = foo([], 1, 2); // boolean + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var d = 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 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var e = foo([], 1, "2"); // {} + ~~ +!!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. var f = foo([], 1, 2, 3); // any (with error) ~~~~~~~~~~~~~~~~ !!! error TS2346: Supplied parameters do not match any signature of call target. diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.js index bd121933b320e..b62671d33ac26 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.js @@ -1,8 +1,8 @@ //// [taggedTemplateStringsWithOverloadResolution1_ES6.ts] -function foo(strs: string[]): number; -function foo(strs: string[], x: number): string; -function foo(strs: string[], x: number, y: number): boolean; -function foo(strs: string[], x: number, y: string): {}; +function foo(strs: TemplateStringsArray): number; +function foo(strs: TemplateStringsArray, x: number): string; +function foo(strs: TemplateStringsArray, x: number, y: number): boolean; +function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js index f12008f9581b7..c16bfa5454f77 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.js @@ -6,8 +6,8 @@ function foo1(...stuff: any[]): any { return undefined; } -var a = foo1 `${1}`; // string -var b = foo1([], 1); // number +var a = foo1 `${1}`; +var b = foo1([], 1); function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; @@ -15,8 +15,8 @@ function foo2(...stuff: any[]): any { return undefined; } -var c = foo2 `${1}`; // number -var d = foo2([], 1); // number +var c = foo2 `${1}`; +var d = foo2([], 1); //// [taggedTemplateStringsWithOverloadResolution2.js] function foo1() { @@ -26,8 +26,8 @@ function foo1() { } return undefined; } -var a = (_a = ["", ""], _a.raw = ["", ""], foo1(_a, 1)); // string -var b = foo1([], 1); // number +var a = (_a = ["", ""], _a.raw = ["", ""], foo1(_a, 1)); +var b = foo1([], 1); function foo2() { var stuff = []; for (var _i = 0; _i < arguments.length; _i++) { @@ -35,6 +35,6 @@ function foo2() { } return undefined; } -var c = (_b = ["", ""], _b.raw = ["", ""], foo2(_b, 1)); // number -var d = foo2([], 1); // number +var c = (_b = ["", ""], _b.raw = ["", ""], foo2(_b, 1)); +var d = foo2([], 1); var _a, _b; diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols index 52b8f3ab6f09f..241c43c4d782a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.symbols @@ -19,11 +19,11 @@ function foo1(...stuff: any[]): any { >undefined : Symbol(undefined) } -var a = foo1 `${1}`; // string +var a = foo1 `${1}`; >a : Symbol(a, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 7, 3)) >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 1, 61), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 2, 49)) -var b = foo1([], 1); // number +var b = foo1([], 1); >b : Symbol(b, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 8, 3)) >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 1, 61), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 2, 49)) @@ -46,11 +46,11 @@ function foo2(...stuff: any[]): any { >undefined : Symbol(undefined) } -var c = foo2 `${1}`; // number +var c = foo2 `${1}`; >c : Symbol(c, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 16, 3)) >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 8, 20), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 10, 49), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 11, 61)) -var d = foo2([], 1); // number +var d = foo2([], 1); >d : Symbol(d, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 17, 3)) >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2.ts, 8, 20), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 10, 49), Decl(taggedTemplateStringsWithOverloadResolution2.ts, 11, 61)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types index 77353e9b3cedc..3c35974ddec13 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2.types @@ -19,14 +19,14 @@ function foo1(...stuff: any[]): any { >undefined : undefined } -var a = foo1 `${1}`; // string +var a = foo1 `${1}`; >a : string >foo1 `${1}` : string >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >`${1}` : string >1 : number -var b = foo1([], 1); // number +var b = foo1([], 1); >b : number >foo1([], 1) : number >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } @@ -52,14 +52,14 @@ function foo2(...stuff: any[]): any { >undefined : undefined } -var c = foo2 `${1}`; // number ->c : number ->foo2 `${1}` : number +var c = foo2 `${1}`; +>c : string +>foo2 `${1}` : string >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >`${1}` : string >1 : number -var d = foo2([], 1); // number +var d = foo2([], 1); >d : number >foo2([], 1) : number >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.js b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.js index f208a63354de7..502fa4552a3a1 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.js @@ -5,8 +5,8 @@ function foo1(...stuff: any[]): any { return undefined; } -var a = foo1 `${1}`; // string -var b = foo1([], 1); // number +var a = foo1 `${1}`; +var b = foo1([], 1); function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; @@ -14,17 +14,17 @@ function foo2(...stuff: any[]): any { return undefined; } -var c = foo2 `${1}`; // number -var d = foo2([], 1); // number +var c = foo2 `${1}`; +var d = foo2([], 1); //// [taggedTemplateStringsWithOverloadResolution2_ES6.js] function foo1(...stuff) { return undefined; } -var a = foo1 `${1}`; // string -var b = foo1([], 1); // number +var a = foo1 `${1}`; +var b = foo1([], 1); function foo2(...stuff) { return undefined; } -var c = foo2 `${1}`; // number -var d = foo2([], 1); // number +var c = foo2 `${1}`; +var d = foo2([], 1); diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols index cadfa135202a2..9cc79f2596f1e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.symbols @@ -18,11 +18,11 @@ function foo1(...stuff: any[]): any { >undefined : Symbol(undefined) } -var a = foo1 `${1}`; // string +var a = foo1 `${1}`; >a : Symbol(a, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 6, 3)) >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 61), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 1, 49)) -var b = foo1([], 1); // number +var b = foo1([], 1); >b : Symbol(b, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 7, 3)) >foo1 : Symbol(foo1, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 0), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 0, 61), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 1, 49)) @@ -45,11 +45,11 @@ function foo2(...stuff: any[]): any { >undefined : Symbol(undefined) } -var c = foo2 `${1}`; // number +var c = foo2 `${1}`; >c : Symbol(c, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 15, 3)) >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 7, 20), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 9, 49), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 10, 61)) -var d = foo2([], 1); // number +var d = foo2([], 1); >d : Symbol(d, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 16, 3)) >foo2 : Symbol(foo2, Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 7, 20), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 9, 49), Decl(taggedTemplateStringsWithOverloadResolution2_ES6.ts, 10, 61)) diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types index 306bf38cac46d..7faeec19c4a70 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution2_ES6.types @@ -18,14 +18,14 @@ function foo1(...stuff: any[]): any { >undefined : undefined } -var a = foo1 `${1}`; // string +var a = foo1 `${1}`; >a : string >foo1 `${1}` : string >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } >`${1}` : string >1 : number -var b = foo1([], 1); // number +var b = foo1([], 1); >b : number >foo1([], 1) : number >foo1 : { (strs: TemplateStringsArray, x: number): string; (strs: string[], x: number): number; } @@ -51,14 +51,14 @@ function foo2(...stuff: any[]): any { >undefined : undefined } -var c = foo2 `${1}`; // number ->c : number ->foo2 `${1}` : number +var c = foo2 `${1}`; +>c : string +>foo2 `${1}` : string >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } >`${1}` : string >1 : number -var d = foo2([], 1); // number +var d = foo2([], 1); >d : number >foo2([], 1) : number >foo2 : { (strs: string[], x: number): number; (strs: TemplateStringsArray, x: number): string; } diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js index fcc2cda86dc29..d011c3048a71b 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithTypedTags.ts] interface I { - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols index d3f85d8375a7c..cd28177f5870a 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.symbols @@ -2,13 +2,14 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 5)) ->rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 27)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.d.ts, --, --)) +>rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) g: I; ->g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 50)) +>g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTags.ts, 1, 62)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTags.ts, 0, 0)) h: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types index 2c992a2d233ff..c7c521154c744 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTags.types @@ -2,8 +2,9 @@ interface I { >I : I - (stringParts: string[], ...rest: number[]): I; ->stringParts : string[] + (stringParts: TemplateStringsArray, ...rest: number[]): I; +>stringParts : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray >rest : number[] >I : I diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.js b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.js index 9eefc46ec302c..35a616f05f48c 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.js +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.js @@ -1,6 +1,6 @@ //// [taggedTemplateStringsWithTypedTagsES6.ts] interface I { - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; g: I; h: I; member: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols index f0b088bd6f63b..f7f9c62d492a1 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.symbols @@ -2,13 +2,14 @@ interface I { >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; >stringParts : Symbol(stringParts, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 5)) ->rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 27)) +>TemplateStringsArray : Symbol(TemplateStringsArray, Decl(lib.es5.d.ts, --, --)) +>rest : Symbol(rest, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 39)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) g: I; ->g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 50)) +>g : Symbol(I.g, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 1, 62)) >I : Symbol(I, Decl(taggedTemplateStringsWithTypedTagsES6.ts, 0, 0)) h: I; diff --git a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types index 4bda0f3fbb0ae..bf45144c32953 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types +++ b/tests/baselines/reference/taggedTemplateStringsWithTypedTagsES6.types @@ -2,8 +2,9 @@ interface I { >I : I - (stringParts: string[], ...rest: number[]): I; ->stringParts : string[] + (stringParts: TemplateStringsArray, ...rest: number[]): I; +>stringParts : TemplateStringsArray +>TemplateStringsArray : TemplateStringsArray >rest : number[] >I : I diff --git a/tests/baselines/reference/targetTypeTest2.types b/tests/baselines/reference/targetTypeTest2.types index 53381b9de43e8..25b36f948c6c0 100644 --- a/tests/baselines/reference/targetTypeTest2.types +++ b/tests/baselines/reference/targetTypeTest2.types @@ -4,7 +4,7 @@ var a : any[] = [1,2,"3"]; >a : any[] ->[1,2,"3"] : (number | string)[] +>[1,2,"3"] : (string | number)[] >1 : number >2 : number >"3" : string diff --git a/tests/baselines/reference/targetTypeTest3.errors.txt b/tests/baselines/reference/targetTypeTest3.errors.txt index 935a9b9e68eb5..f5dab732ed346 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/templateStringInArray.types b/tests/baselines/reference/templateStringInArray.types index aec30c02e002a..04cc09a1005e7 100644 --- a/tests/baselines/reference/templateStringInArray.types +++ b/tests/baselines/reference/templateStringInArray.types @@ -1,7 +1,7 @@ === tests/cases/conformance/es6/templates/templateStringInArray.ts === var x = [1, 2, `abc${ 123 }def`]; ->x : (number | string)[] ->[1, 2, `abc${ 123 }def`] : (number | string)[] +>x : (string | number)[] +>[1, 2, `abc${ 123 }def`] : (string | number)[] >1 : number >2 : number >`abc${ 123 }def` : string diff --git a/tests/baselines/reference/templateStringInEqualityChecks.types b/tests/baselines/reference/templateStringInEqualityChecks.types index 51a450e5245fa..2f1b2cf987b00 100644 --- a/tests/baselines/reference/templateStringInEqualityChecks.types +++ b/tests/baselines/reference/templateStringInEqualityChecks.types @@ -19,11 +19,11 @@ var x = `abc${0}abc` === `abc` || >`abc${0}abc` == "abc0abc" : boolean >`abc${0}abc` : string >0 : number ->"abc0abc" : string +>"abc0abc" : "abc0abc" "abc0abc" !== `abc${0}abc`; >"abc0abc" !== `abc${0}abc` : boolean ->"abc0abc" : string +>"abc0abc" : "abc0abc" >`abc${0}abc` : string >0 : number diff --git a/tests/baselines/reference/templateStringInEqualityChecksES6.types b/tests/baselines/reference/templateStringInEqualityChecksES6.types index 37e5e4a8c283a..ce552da09eaa9 100644 --- a/tests/baselines/reference/templateStringInEqualityChecksES6.types +++ b/tests/baselines/reference/templateStringInEqualityChecksES6.types @@ -19,11 +19,11 @@ var x = `abc${0}abc` === `abc` || >`abc${0}abc` == "abc0abc" : boolean >`abc${0}abc` : string >0 : number ->"abc0abc" : string +>"abc0abc" : "abc0abc" "abc0abc" !== `abc${0}abc`; >"abc0abc" !== `abc${0}abc` : boolean ->"abc0abc" : string +>"abc0abc" : "abc0abc" >`abc${0}abc` : string >0 : number diff --git a/tests/baselines/reference/templateStringWithEmbeddedConditional.types b/tests/baselines/reference/templateStringWithEmbeddedConditional.types index 2a741dc271b10..7ec1ef97a3015 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedConditional.types +++ b/tests/baselines/reference/templateStringWithEmbeddedConditional.types @@ -2,7 +2,7 @@ var x = `abc${ true ? false : " " }def`; >x : string >`abc${ true ? false : " " }def` : string ->true ? false : " " : boolean | string +>true ? false : " " : string | boolean >true : boolean >false : boolean >" " : string diff --git a/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types b/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types index d0a228ee6735f..5453880ce16d1 100644 --- a/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types +++ b/tests/baselines/reference/templateStringWithEmbeddedConditionalES6.types @@ -2,7 +2,7 @@ var x = `abc${ true ? false : " " }def`; >x : string >`abc${ true ? false : " " }def` : string ->true ? false : " " : boolean | string +>true ? false : " " : string | boolean >true : boolean >false : boolean >" " : string diff --git a/tests/baselines/reference/thisInTupleTypeParameterConstraints.js b/tests/baselines/reference/thisInTupleTypeParameterConstraints.js new file mode 100644 index 0000000000000..c63fbf6199124 --- /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 0000000000000..4d2bef22c55fe --- /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 0000000000000..7daafe02bfc7e --- /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/thisTypeInTuples.types b/tests/baselines/reference/thisTypeInTuples.types index e0268840317b9..d2d70ad8e098f 100644 --- a/tests/baselines/reference/thisTypeInTuples.types +++ b/tests/baselines/reference/thisTypeInTuples.types @@ -16,24 +16,24 @@ let t: [number, string] = [42, "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]; } +>slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } >1 : number 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]; } +>slice : { (start?: number, end?: number): (string | number)[]; (): [number, string]; } >0 : number >1 : number diff --git a/tests/baselines/reference/throwInEnclosingStatements.types b/tests/baselines/reference/throwInEnclosingStatements.types index c0a43ca38f548..eb127cf28bd93 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 diff --git a/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt b/tests/baselines/reference/trailingCommaInHeterogenousArrayLiteral1.errors.txt index 498e74ce35022..b502eaad7e58d 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/tsxAttributeResolution5.errors.txt b/tests/baselines/reference/tsxAttributeResolution5.errors.txt index d7aa46bc05ace..42dabc741ab92 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 abfb54e000c7e..4bde09074b552 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/tupleTypes.errors.txt b/tests/baselines/reference/tupleTypes.errors.txt index 8f418f9815761..75f413eb170f4 100644 --- a/tests/baselines/reference/tupleTypes.errors.txt +++ b/tests/baselines/reference/tupleTypes.errors.txt @@ -9,8 +9,8 @@ tests/cases/compiler/tupleTypes.ts(17,1): error TS2322: Type '[string, 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. @@ -90,8 +90,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 diff --git a/tests/baselines/reference/typeAliasDeclarationEmit.types b/tests/baselines/reference/typeAliasDeclarationEmit.types index 6f9359e36f5c6..cc7d5f9a3422e 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/typeAliasDoesntMakeModuleInstantiated.types b/tests/baselines/reference/typeAliasDoesntMakeModuleInstantiated.types index eb0fcdcbbcae6..f112db28e7f85 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 c762a568b3228..d6bce143c9b26 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; } diff --git a/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types b/tests/baselines/reference/typeArgumentInferenceWithRecursivelyReferencedTypeAliasToTypeLiteral01.types index ea821607211d0..5269bd9b5186c 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 d18cf3a2b1dc2..fec665f3f616a 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/typeAssertions.errors.txt b/tests/baselines/reference/typeAssertions.errors.txt index e330c23d737c3..c840e01608319 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/typeGuardEnums.types b/tests/baselines/reference/typeGuardEnums.types index 2bef691504606..f9d5cb1754e8a 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 50a5fcaf32411..1e2be413a2b4d 100644 --- a/tests/baselines/reference/typeGuardFunction.types +++ b/tests/baselines/reference/typeGuardFunction.types @@ -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/typeGuardIntersectionTypes.types b/tests/baselines/reference/typeGuardIntersectionTypes.types index 8be50453572b6..6b6dbae8ca27e 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 2b18e232412e9..6c2df126df122 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,8 +23,8 @@ 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 @@ -35,7 +35,7 @@ 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 @@ -45,8 +45,8 @@ 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 @@ -57,7 +57,7 @@ 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 } @@ -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,8 +83,8 @@ 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 @@ -95,7 +95,7 @@ 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 @@ -105,8 +105,8 @@ 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 @@ -117,7 +117,7 @@ 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 } diff --git a/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types b/tests/baselines/reference/typeGuardOfFormExpr1AndExpr2.types index a10d398988fd9..b24b63f61dc44 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 acd929a7ca118..eb428bcb6795d 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/typeGuardOfFormInstanceOf.types b/tests/baselines/reference/typeGuardOfFormInstanceOf.types index 608e827f47995..8fec2d488f641 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 a5387e66d4401..fe23d6d303e6f 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 23ce38732cdbf..e2059be7b637e 100644 --- a/tests/baselines/reference/typeGuardOfFormIsType.types +++ b/tests/baselines/reference/typeGuardOfFormIsType.types @@ -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 728d3dc0e38fb..ea169e954138c 100644 --- a/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types +++ b/tests/baselines/reference/typeGuardOfFormIsTypeOnInterfaces.types @@ -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 e7cfd6a0dce0f..e4490d42dae3c 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 7a4b279b57254..c06c16e331dea 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 2d91abb9613ac..43cc37f98e837 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 c6a5615e75a8c..17787d06486ca 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 8e42a8e0d8e26..b87f6a2a004b3 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 7e88ca5cb94e5..6302ef58005c9 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 971109215f785..e9960ac3019db 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 754019de7ed7a..80de5f54acea7 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 8e681deb07369..0a6524dd26f23 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 167d6204a9898..520d045d9e0d1 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 82e92a72d8d08..661ce9fbc55b1 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 @@ -30,10 +30,10 @@ export const none : None = { none: '' }; >'' : 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 @@ -42,7 +42,7 @@ export function isSome(value: Optional): value is Some { return 'some' in value; >'some' in value : boolean >'some' : string ->value : Some | None +>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 @@ -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,8 +119,8 @@ 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 @@ -131,7 +131,7 @@ function foo1() { >x : string } x; ->x : number | string +>x : string | number } function foo2() { @@ -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 @@ -174,7 +174,7 @@ function foo2() { >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() { diff --git a/tests/baselines/reference/typeGuardsInClassAccessors.types b/tests/baselines/reference/typeGuardsInClassAccessors.types index bdba5e9c116a3..2250657e453a9 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 b3e20c88ed381..600e3e36ab0f2 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 cc1459738e4d8..8d5da1329e643 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,22 +27,22 @@ 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 +>x : string | number >"hello" : string >x : string @@ -50,22 +50,22 @@ function foo2(x: number | string) { >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 +>x : string | number >10 : number >x : number @@ -73,15 +73,15 @@ function foo3(x: number | string) { >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 @@ -91,20 +91,20 @@ function foo4(x: number | string) { >(x = 10) && x : number >(x = 10) : number >x = 10 : number ->x : number | string +>x : string | number >10 : number >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 @@ -114,28 +114,28 @@ function foo5(x: number | string) { >(x = "hello") && x : string >(x = "hello") : string >x = "hello" : string ->x : number | string +>x : string | number >"hello" : string >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 +>x : string | number >10 : number >x : number @@ -144,32 +144,32 @@ function foo6(x: number | string) { >(x = "hello") && x : string >(x = "hello") : string >x = "hello" : string ->x : number | string +>x : string | number >"hello" : string >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,11 +220,11 @@ 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 @@ -235,8 +235,8 @@ function foo9(x: number | 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 @@ -320,45 +320,45 @@ function foo11(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 = 10) // assignment to x >(x = 10) : number >x = 10 : number ->x : number | string | boolean +>x : string | number | boolean >10 : number && 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 +>x : string | number | boolean >10 : number >x.toString().length : number >x.toString() : 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 79183e7d6c8d4..58b6343a2f5a0 100644 --- a/tests/baselines/reference/typeGuardsInDoStatement.types +++ b/tests/baselines/reference/typeGuardsInDoStatement.types @@ -13,7 +13,7 @@ function a(x: string | number | boolean) { do { x; // boolean | string ->x : boolean | string +>x : string | boolean 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 @@ -40,7 +40,7 @@ function b(x: string | number | boolean) { do { x; // boolean | string ->x : boolean | string +>x : string | boolean 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 @@ -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 940e7db831adf..a0c33af455742 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 5ebdea53c31d2..1d600d52d132e 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 5ae489ce48a8e..6a007dd7c955e 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 cc9553b976728..0cb312ffb1a86 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 b64c1edcc1341..7935c05411e2e 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 984ca454e76af..cd9ae40932ac9 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.errors.txt +++ b/tests/baselines/reference/typeGuardsInIfStatement.errors.txt @@ -1,9 +1,10 @@ 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 (4 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, @@ -149,5 +150,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 7d3753037ad38..f1efc45a2484f 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 4ddf8af7a6768..1f8151dff7133 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 2da52b8b1b8c7..9d22f63e7647a 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 +>x : string | number >10 : number >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 +>x : string | number >"hello" : string >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,7 +168,7 @@ 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 @@ -176,7 +176,7 @@ function foo7(x: number | string | boolean) { >(x = 10) && x.toString() : string >(x = 10) : number >x = 10 : number ->x : number | string | boolean +>x : string | number | boolean >10 : number >x.toString() : string >x.toString : (radix?: number) => string @@ -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 659182ab888cf..0cb70c8c2d6d0 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 +>x : string | number >10 : number >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 +>x : string | number >"hello" : string >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,7 +169,7 @@ 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 @@ -177,7 +177,7 @@ function foo7(x: number | string | boolean) { >(x = 10) && x.toString() : string >(x = 10) : number >x = 10 : number ->x : number | string | boolean +>x : string | number | boolean >10 : number >x.toString() : string >x.toString : (radix?: number) => string @@ -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 cde045cc621c3..b0ea7959ec59c 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 566a39a9c23d1..3b125d4f32c1b 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 diff --git a/tests/baselines/reference/typeGuardsObjectMethods.types b/tests/baselines/reference/typeGuardsObjectMethods.types index f409bf5caf9bf..5a795c336e257 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 6d524ccf6744c..85af4540fb9c0 100644 --- a/tests/baselines/reference/typeGuardsOnClassProperty.types +++ b/tests/baselines/reference/typeGuardsOnClassProperty.types @@ -24,7 +24,7 @@ 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 @@ -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 @@ -58,13 +58,13 @@ class D { } 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; } @@ -82,29 +82,29 @@ 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 63b9de2aedafd..b67f73288560f 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(18,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(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 @@ -54,10 +66,12 @@ tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstru } 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 7e6b332447062..40ef6587e75f7 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/typeParameterAsElementType.types b/tests/baselines/reference/typeParameterAsElementType.types index 3b145b7f3cf33..10e6787ae31ee 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/typeParameterConstraints1.errors.txt b/tests/baselines/reference/typeParameterConstraints1.errors.txt index 97bc816575138..bba4bd1878ea4 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/typeReferenceDirectives1.js b/tests/baselines/reference/typeReferenceDirectives1.js index 775af9c5283f3..a621081993126 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 55c17b219ecaa..a33a2aba4082d 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 05080e05651dd..be789a08ddc5c 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/typingsLookup2.js b/tests/baselines/reference/typingsLookup2.js new file mode 100644 index 0000000000000..3e816526af252 --- /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 0000000000000..7223c8589a640 --- /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 0000000000000..0637a088a01e8 --- /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 0000000000000..7223c8589a640 --- /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/umd-augmentation-1.symbols b/tests/baselines/reference/umd-augmentation-1.symbols index 645511350a91c..70715649894c1 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 31ac43fe85557..59b577141e055 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -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 bd6584d3d7473..a31ed61d531e9 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 20bba09190314..24fe6df3c3cc5 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -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.symbols b/tests/baselines/reference/umd-augmentation-3.symbols index 3193e83cd1979..3e2df7c8a89ac 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 854ebceff379c..39bc28cbd2451 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -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 3f2cc913d8610..7be5d278bf26d 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 71783d0301260..246270aa5a60f 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -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 9b964456bcf02..0307a9b78d375 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 1767f3b5a899d..1379bba8d5d1c 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.symbols b/tests/baselines/reference/umd3.symbols index 165fd81597aba..c1fd3d6d74fbc 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 85ee6bafe5ec1..23149e58d76cc 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.symbols b/tests/baselines/reference/umd4.symbols index 8403187198bf3..d266997770bd3 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 579599f56619b..18794258517d3 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/umd6.symbols b/tests/baselines/reference/umd6.symbols index d08507f1ea2e7..958875b79ebd3 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 7318a43057a4e..5b1469cbd6c3c 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 0b3ef17fb7b72..19b56ed30f3ba 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 60782543710bc..d83e039b674e1 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 8c38f267a2ae9..97da693b38f12 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 0e66a49b9630e..ae3bdfd5fc89e 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/umdGlobalConflict.js b/tests/baselines/reference/umdGlobalConflict.js new file mode 100644 index 0000000000000..e8a820e233389 --- /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 0000000000000..b13fb0f25b128 --- /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 0000000000000..fa74e26874f59 --- /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 + +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 eb4a116ef0981..0000000000000 --- 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/uncaughtCompilerError1.types b/tests/baselines/reference/uncaughtCompilerError1.types index 20a3f0fbedd87..83503195f713e 100644 --- a/tests/baselines/reference/uncaughtCompilerError1.types +++ b/tests/baselines/reference/uncaughtCompilerError1.types @@ -19,7 +19,7 @@ function f() { >lineTokens : any >index : any >trim : any ->'=' : string +>'=' : "=" >index > 0 : boolean >index : any >0 : number @@ -27,7 +27,7 @@ function f() { >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 @@ -36,7 +36,7 @@ function f() { >index : any >1 : number >type : any ->'attribute.name.html' : string +>'attribute.name.html' : "attribute.name.html" if (index === (tokens.length - 1)) { >index === (tokens.length - 1) : boolean @@ -65,7 +65,7 @@ function f() { >index : any >1 : number >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 @@ -74,7 +74,7 @@ function f() { >index : any >1 : number >type : any ->'' : string +>'' : "" return { appendText: '\"\"', advanceCount: 1 }; >{ appendText: '\"\"', advanceCount: 1 } : { appendText: string; advanceCount: number; } diff --git a/tests/baselines/reference/underscoreTest1.symbols b/tests/baselines/reference/underscoreTest1.symbols index 3506f23510eca..89815bd2371a6 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 37f3bdb12ab13..5950e50efa1d6 100644 --- a/tests/baselines/reference/underscoreTest1.types +++ b/tests/baselines/reference/underscoreTest1.types @@ -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[] @@ -149,7 +149,7 @@ var even = _.find([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >num % 2 : number >num : number >2 : number ->0 : number +>0 : 0 var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >evens : number[] @@ -170,7 +170,7 @@ var evens = _.filter([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >num % 2 : number >num : number >2 : number ->0 : number +>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; }[] @@ -228,14 +228,14 @@ var odds = _.reject([1, 2, 3, 4, 5, 6], (num) => num % 2 == 0); >num % 2 : number >num : number >2 : number ->0 : number +>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, 1, null, 'yes'] : (string | number | boolean)[] >true : boolean >1 : number >null : null @@ -249,7 +249,7 @@ _.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] : (string | number | boolean)[] >null : null >0 : number >'yes' : string @@ -425,7 +425,7 @@ _.countBy([1, 2, 3, 4, 5], (num) => num % 2 == 0 ? 'even' : 'odd'); >num % 2 : number >num : number >2 : number ->0 : number +>0 : 0 >'even' : string >'odd' : string @@ -508,11 +508,11 @@ _.rest([5, 4, 3, 2, 1]); >1 : number _.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, 1, false, 2, '', 3] : (string | number | boolean)[] >0 : number >1 : number >false : boolean @@ -1249,7 +1249,7 @@ _.chain([1, 2, 3, 200]) >num % 2 : number >num : number >2 : number ->0 : number +>0 : 0 .tap(alert) >tap : (interceptor: (object: number[]) => void) => Underscore.ChainedArray diff --git a/tests/baselines/reference/unionAndIntersectionInference1.types b/tests/baselines/reference/unionAndIntersectionInference1.types index 5d23688f0b7c3..3dc97d01a486d 100644 --- a/tests/baselines/reference/unionAndIntersectionInference1.types +++ b/tests/baselines/reference/unionAndIntersectionInference1.types @@ -13,12 +13,12 @@ var y: Y = undefined; >undefined : undefined function destructure( ->destructure : (something: a | Y, haveValue: (value: a) => r, haveY: (value: Y) => r) => r +>destructure : (something: Y | a, haveValue: (value: a) => r, haveY: (value: Y) => r) => r >a : a >r : r something: a | Y, ->something : a | Y +>something : Y | a >a : a >Y : Y @@ -40,7 +40,7 @@ function destructure( return something === y ? haveY(y) : haveValue(something); >something === y ? haveY(y) : haveValue(something) : r >something === y : boolean ->something : a | Y +>something : Y | a >y : Y >haveY(y) : r >haveY : (value: Y) => r @@ -49,7 +49,7 @@ function destructure( >haveValue : (value: a) => r >something : a >a : a ->something : a | Y +>something : Y | a } var value = Math.random() > 0.5 ? 'hey!' : undefined; @@ -69,7 +69,7 @@ var value = Math.random() > 0.5 ? 'hey!' : undefined; var result = destructure(value, text => 'string', y => 'other one'); // text: string, y: Y >result : string >destructure(value, text => 'string', y => 'other one') : string ->destructure : (something: a | Y, haveValue: (value: a) => r, haveY: (value: Y) => r) => r +>destructure : (something: Y | a, haveValue: (value: a) => r, haveY: (value: Y) => r) => r >value : string | Y >text => 'string' : (text: string) => string >text : string @@ -146,14 +146,14 @@ function baz1(value: void|a): void { // Repro from #5417 type Maybe = T | void; ->Maybe : T | void +>Maybe : Maybe >T : T >T : T function get(x: U | void): U { ->get : (x: U | void) => U +>get : (x: void | U) => U >U : U ->x : U | void +>x : void | U >U : U >U : U @@ -162,15 +162,15 @@ function get(x: U | void): U { } let foo: Maybe; ->foo : string | void ->Maybe : T | void +>foo : Maybe +>Maybe : Maybe get(foo).toUpperCase(); // Ok >get(foo).toUpperCase() : string >get(foo).toUpperCase : () => string >get(foo) : string ->get : (x: U | void) => U ->foo : string | void +>get : (x: void | U) => U +>foo : Maybe >toUpperCase : () => string // Repro from #5456 diff --git a/tests/baselines/reference/unionAndIntersectionInference2.types b/tests/baselines/reference/unionAndIntersectionInference2.types index beeb2a261f3ec..afe569e6d0257 100644 --- a/tests/baselines/reference/unionAndIntersectionInference2.types +++ b/tests/baselines/reference/unionAndIntersectionInference2.types @@ -1,8 +1,8 @@ === tests/cases/conformance/types/typeRelationships/typeInference/unionAndIntersectionInference2.ts === declare function f1(x: T | string): T; ->f1 : (x: T | string) => T +>f1 : (x: string | T) => T >T : T ->x : T | string +>x : string | T >T : T >T : T @@ -13,39 +13,39 @@ var b1: string | string[]; >b1 : string | string[] var c1: string[] | string; ->c1 : string[] | string +>c1 : string | string[] var d1: string | { name: string }; >d1 : string | { name: string; } >name : string var e1: number | string | boolean; ->e1 : number | string | boolean +>e1 : string | number | boolean f1(a1); // string >f1(a1) : string ->f1 : (x: T | string) => T +>f1 : (x: string | T) => T >a1 : string f1(b1); // string[] >f1(b1) : string[] ->f1 : (x: T | string) => T +>f1 : (x: string | T) => T >b1 : string | string[] f1(c1); // string[] >f1(c1) : string[] ->f1 : (x: T | string) => T ->c1 : string[] | string +>f1 : (x: string | T) => T +>c1 : string | string[] f1(d1); // { name: string } >f1(d1) : { name: string; } ->f1 : (x: T | string) => T +>f1 : (x: string | T) => T >d1 : string | { name: string; } f1(e1); // number | boolean >f1(e1) : number | boolean ->f1 : (x: T | string) => T ->e1 : number | string | boolean +>f1 : (x: string | T) => T +>e1 : string | number | boolean declare function f2(x: T & { name: string }): T; >f2 : (x: T & { name: string; }) => T diff --git a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.errors.txt b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.errors.txt index 7916c82c59b90..013b5d9a9909d 100644 --- a/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.errors.txt +++ b/tests/baselines/reference/unionSubtypeIfEveryConstituentTypeIsSubtype.errors.txt @@ -1,34 +1,34 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(15,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(21,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'string'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(22,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'string'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(22,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'string'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(28,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'boolean'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(29,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'boolean'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(29,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'boolean'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(35,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'Date'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(36,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'Date'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(36,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'Date'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(42,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'RegExp'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(43,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'RegExp'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(43,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'RegExp'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(49,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '{ bar: number; }'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(50,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '{ bar: number; }'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(50,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '{ bar: number; }'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(56,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'number[]'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(57,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'number[]'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(57,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'number[]'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(63,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'I8'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(64,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'I8'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(64,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'I8'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(70,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'A'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(71,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'A'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(71,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'A'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(77,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'A2'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(78,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'A2'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(78,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'A2'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(84,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '(x: any) => number'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(85,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '(x: any) => number'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(85,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '(x: any) => number'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(91,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '(x: T) => T'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(92,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '(x: T) => T'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(92,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '(x: T) => T'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(99,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'E2'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(100,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'E2'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(100,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'E2'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(110,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'typeof f'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(111,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'typeof f'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(111,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'typeof f'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(121,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'typeof c'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(122,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'typeof c'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(122,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'typeof c'. tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(128,5): error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'T'. -tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(129,5): error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'T'. +tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts(129,5): error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'T'. ==== tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubtypeIfEveryConstituentTypeIsSubtype.ts (31 errors) ==== @@ -59,7 +59,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'string'. foo2: e | number; // error e and number both not subtype of string ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'string'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'string'. } // error cases @@ -70,7 +70,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'boolean'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'boolean'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'boolean'. } @@ -81,7 +81,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'Date'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'Date'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'Date'. } @@ -92,7 +92,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'RegExp'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'RegExp'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'RegExp'. } @@ -103,7 +103,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '{ bar: number; }'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '{ bar: number; }'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '{ bar: number; }'. } @@ -114,7 +114,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'number[]'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'number[]'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'number[]'. } @@ -125,7 +125,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'I8'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'I8'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'I8'. } class A { foo: number; } @@ -136,7 +136,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'A'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'A'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'A'. } class A2 { foo: T; } @@ -147,7 +147,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'A2'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'A2'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'A2'. } @@ -158,7 +158,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '(x: any) => number'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '(x: any) => number'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '(x: any) => number'. } @@ -169,7 +169,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type '(x: T) => T'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type '(x: T) => T'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type '(x: T) => T'. } @@ -181,7 +181,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'E2'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'E2'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'E2'. } @@ -196,7 +196,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'typeof f'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'typeof f'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'typeof f'. } @@ -211,7 +211,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'typeof c'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'typeof c'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'typeof c'. } @@ -222,7 +222,7 @@ tests/cases/conformance/types/typeRelationships/subtypesAndSuperTypes/unionSubty !!! error TS2411: Property 'foo' of type 'string | number' is not assignable to string index type 'T'. foo2: e | number; ~~~~~~~~~~~~~~~~~ -!!! error TS2411: Property 'foo2' of type 'e | number' is not assignable to string index type 'T'. +!!! error TS2411: Property 'foo2' of type 'number | e' is not assignable to string index type 'T'. } interface I19 { diff --git a/tests/baselines/reference/unionTypeCallSignatures2.types b/tests/baselines/reference/unionTypeCallSignatures2.types index 64295c1b4529e..ce49e9ba1c7c1 100644 --- a/tests/baselines/reference/unionTypeCallSignatures2.types +++ b/tests/baselines/reference/unionTypeCallSignatures2.types @@ -71,8 +71,8 @@ var n1 = f1(42); // number >42 : number var s1 = f1("abc"); // boolean | string | number ->s1 : boolean | string | number ->f1("abc") : boolean | string | number +>s1 : string | number | boolean +>f1("abc") : string | number | boolean >f1 : A | B | C >"abc" : string @@ -85,7 +85,7 @@ var a1 = f1([true, false]); // boolean[] >false : boolean var f2: C | B | A; ->f2 : C | B | A +>f2 : A | B | C >C : C >B : B >A : A @@ -93,25 +93,25 @@ var f2: C | B | A; var n2 = f2(42); // number >n2 : number >f2(42) : number ->f2 : C | B | A +>f2 : A | B | C >42 : number var s2 = f2("abc"); // number | string | boolean ->s2 : number | string | boolean ->f2("abc") : number | string | boolean ->f2 : C | B | A +>s2 : string | number | boolean +>f2("abc") : string | number | boolean +>f2 : A | B | C >"abc" : string var a2 = f2([true, false]); // boolean[] >a2 : boolean[] >f2([true, false]) : boolean[] ->f2 : C | B | A +>f2 : A | B | C >[true, false] : boolean[] >true : boolean >false : boolean var f3: B | A | C; ->f3 : B | A | C +>f3 : A | B | C >B : B >A : A >C : C @@ -119,19 +119,19 @@ var f3: B | A | C; var n3 = f3(42); // number >n3 : number >f3(42) : number ->f3 : B | A | C +>f3 : A | B | C >42 : number var s3 = f3("abc"); // string | boolean | number ->s3 : string | boolean | number ->f3("abc") : string | boolean | number ->f3 : B | A | C +>s3 : string | number | boolean +>f3("abc") : string | number | boolean +>f3 : A | B | C >"abc" : string var a3 = f3([true, false]); // boolean[] >a3 : boolean[] >f3([true, false]) : boolean[] ->f3 : B | A | C +>f3 : A | B | C >[true, false] : boolean[] >true : boolean >false : boolean diff --git a/tests/baselines/reference/unionTypeIndexSignature.types b/tests/baselines/reference/unionTypeIndexSignature.types index 953a5f434fa31..6360e4b7b6141 100644 --- a/tests/baselines/reference/unionTypeIndexSignature.types +++ b/tests/baselines/reference/unionTypeIndexSignature.types @@ -30,21 +30,21 @@ numOrDate = unionOfDifferentReturnType[10]; // number | Date >10 : number var unionOfTypesWithAndWithoutStringSignature: { [a: string]: number; } | boolean; ->unionOfTypesWithAndWithoutStringSignature : { [a: string]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature : boolean | { [a: string]: number; } >a : string anyVar = unionOfTypesWithAndWithoutStringSignature["hello"]; // any >anyVar = unionOfTypesWithAndWithoutStringSignature["hello"] : any >anyVar : number >unionOfTypesWithAndWithoutStringSignature["hello"] : any ->unionOfTypesWithAndWithoutStringSignature : { [a: string]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature : boolean | { [a: string]: number; } >"hello" : string anyVar = unionOfTypesWithAndWithoutStringSignature[10]; // any >anyVar = unionOfTypesWithAndWithoutStringSignature[10] : any >anyVar : number >unionOfTypesWithAndWithoutStringSignature[10] : any ->unionOfTypesWithAndWithoutStringSignature : { [a: string]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature : boolean | { [a: string]: number; } >10 : number // If each type in U has a numeric index signature, @@ -70,20 +70,20 @@ numOrDate = unionOfDifferentReturnType1[10]; // number | Date >10 : number var unionOfTypesWithAndWithoutStringSignature1: { [a: number]: number; } | boolean; ->unionOfTypesWithAndWithoutStringSignature1 : { [a: number]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature1 : boolean | { [a: number]: number; } >a : number anyVar = unionOfTypesWithAndWithoutStringSignature1["hello"]; // any >anyVar = unionOfTypesWithAndWithoutStringSignature1["hello"] : any >anyVar : number >unionOfTypesWithAndWithoutStringSignature1["hello"] : any ->unionOfTypesWithAndWithoutStringSignature1 : { [a: number]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature1 : boolean | { [a: number]: number; } >"hello" : string anyVar = unionOfTypesWithAndWithoutStringSignature1[10]; // any >anyVar = unionOfTypesWithAndWithoutStringSignature1[10] : any >anyVar : number >unionOfTypesWithAndWithoutStringSignature1[10] : any ->unionOfTypesWithAndWithoutStringSignature1 : { [a: number]: number; } | boolean +>unionOfTypesWithAndWithoutStringSignature1 : boolean | { [a: number]: number; } >10 : number diff --git a/tests/baselines/reference/unionTypeInference.types b/tests/baselines/reference/unionTypeInference.types index 58aa450c81395..efc150da91803 100644 --- a/tests/baselines/reference/unionTypeInference.types +++ b/tests/baselines/reference/unionTypeInference.types @@ -43,7 +43,7 @@ var a3 = f(1, a1 || "hello"); >f(1, a1 || "hello") : number >f : (x: T, y: string | T) => T >1 : number ->a1 || "hello" : number | string +>a1 || "hello" : string | number >a1 : number >"hello" : string @@ -94,11 +94,11 @@ function h(x: string|boolean|T): T { >typeof x === "string" : boolean >typeof x : string >x : string | boolean | T ->"string" : string +>"string" : "string" >typeof x === "boolean" : boolean >typeof x : string >x : boolean | T ->"boolean" : string +>"boolean" : "boolean" >undefined : undefined >x : T } diff --git a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt index 33b20183b5eda..52ce842a90454 100644 --- a/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt +++ b/tests/baselines/reference/unionTypePropertyAccessibility.errors.txt @@ -8,8 +8,8 @@ tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(42,5): err tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(43,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected'. tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(44,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Private'. tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(45,5): error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'. -tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(46,5): error TS2339: Property 'member' does not exist on type 'Public | Private | Protected'. -tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(47,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Private | Protected'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(46,5): error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'. +tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(47,5): error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'. ==== tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts (12 errors) ==== @@ -80,8 +80,8 @@ tests/cases/conformance/types/union/unionTypePropertyAccessibility.ts(47,5): err !!! error TS2339: Property 'member' does not exist on type 'Default | Protected | Private'. v14.member; ~~~~~~ -!!! error TS2339: Property 'member' does not exist on type 'Public | Private | Protected'. +!!! error TS2339: Property 'member' does not exist on type 'Public | Protected | Private'. v15.member; ~~~~~~ -!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Private | Protected'. +!!! error TS2339: Property 'member' does not exist on type 'Default | Public | Protected | Private'. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.types b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.types index caaa02b7b5391..361a3e90535bf 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.types +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction1.types @@ -39,7 +39,7 @@ var t: Class | Property; >Property : Property t.parent; ->t.parent : Namespace | Class +>t.parent : Module | Class | Namespace >t : Class | Property ->parent : Namespace | Class +>parent : Module | Class | Namespace diff --git a/tests/baselines/reference/unionTypesAssignability.errors.txt b/tests/baselines/reference/unionTypesAssignability.errors.txt index 5be1ff3d246fa..7397105d317af 100644 --- a/tests/baselines/reference/unionTypesAssignability.errors.txt +++ b/tests/baselines/reference/unionTypesAssignability.errors.txt @@ -7,10 +7,10 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTyp tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(22,1): error TS2322: Type 'D | E' is not assignable to type 'E'. Type 'D' is not assignable to type 'E'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(24,1): error TS2322: Type 'string' is not assignable to type 'number'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(25,1): error TS2322: Type 'number | string' is not assignable to type 'number'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(25,1): error TS2322: Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(26,1): error TS2322: Type 'number' is not assignable to type 'string'. -tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(28,1): error TS2322: Type 'number | string' is not assignable to type 'string'. +tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(28,1): error TS2322: Type 'string | number' is not assignable to type 'string'. Type 'number' is not assignable to type 'string'. tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTypesAssignability.ts(31,1): error TS2322: Type 'C' is not assignable to type 'D'. Property 'foo1' is missing in type 'C'. @@ -71,7 +71,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTyp !!! error TS2322: Type 'string' is not assignable to type 'number'. num = unionNumberString; // error string is not assignable to 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' is not assignable to type 'number'. str = num; ~~~ @@ -79,7 +79,7 @@ tests/cases/conformance/types/typeRelationships/assignmentCompatibility/unionTyp str = str; str = unionNumberString; // error since number is not assignable to 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 'number' is not assignable to type 'string'. // A type T is assignable to a union type U if T is assignable to any type in U diff --git a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types index 82c87deb7d07c..2695b9b429a86 100644 --- a/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types +++ b/tests/baselines/reference/unusedLocalsAndParametersTypeAliases.types @@ -2,28 +2,28 @@ // used in a declaration type handler1 = () => void; ->handler1 : () => void +>handler1 : handler1 export interface I1 { >I1 : I1 getHandler: handler1; ->getHandler : () => void ->handler1 : () => void +>getHandler : handler1 +>handler1 : handler1 } // exported export type handler2 = () => void; ->handler2 : () => void +>handler2 : handler2 // used in extends clause type handler3 = () => void; ->handler3 : () => void +>handler3 : handler3 export interface I3 { >I3 : I3 >T : T ->handler3 : () => void +>handler3 : handler3 getHandler: T; >getHandler : T @@ -32,32 +32,32 @@ export interface I3 { // used in another type alias declaration type handler4 = () => void; ->handler4 : () => void +>handler4 : handler4 type handler5 = handler4 | (()=>number); ->handler5 : (() => void) | (() => number) ->handler4 : () => void +>handler5 : handler5 +>handler4 : handler4 var x: handler5; ->x : (() => void) | (() => number) ->handler5 : (() => void) | (() => number) +>x : handler5 +>handler5 : handler5 x(); ->x() : void | number ->x : (() => void) | (() => number) +>x() : number | void +>x : handler5 // used as type argument type handler6 = () => void; ->handler6 : () => void +>handler6 : handler6 var y: Array; ->y : (() => void)[] +>y : handler6[] >Array : T[] ->handler6 : () => void +>handler6 : handler6 y[0](); >y[0]() : void ->y[0] : () => void ->y : (() => void)[] +>y[0] : handler6 +>y : handler6[] >0 : number diff --git a/tests/baselines/reference/unusedTypeParameters6.js b/tests/baselines/reference/unusedTypeParameters6.js new file mode 100644 index 0000000000000..4c2b3a9d0ba55 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters6.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/unusedTypeParameters6.ts] //// + +//// [a.ts] + +class C { } + +//// [b.ts] +interface C { a: T; } + +//// [a.js] +var C = (function () { + function C() { + } + return C; +}()); +//// [b.js] diff --git a/tests/baselines/reference/unusedTypeParameters6.symbols b/tests/baselines/reference/unusedTypeParameters6.symbols new file mode 100644 index 0000000000000..bf20b44d347b3 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters6.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.ts === + +class C { } +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) + +=== tests/cases/compiler/b.ts === +interface C { a: T; } +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) +>a : Symbol(C.a, Decl(b.ts, 0, 16)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) + diff --git a/tests/baselines/reference/unusedTypeParameters6.types b/tests/baselines/reference/unusedTypeParameters6.types new file mode 100644 index 0000000000000..165862c00802f --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters6.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.ts === + +class C { } +>C : C +>T : T + +=== tests/cases/compiler/b.ts === +interface C { a: T; } +>C : C +>T : T +>a : T +>T : T + diff --git a/tests/baselines/reference/unusedTypeParameters7.js b/tests/baselines/reference/unusedTypeParameters7.js new file mode 100644 index 0000000000000..d63f7a0edc30c --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters7.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/unusedTypeParameters7.ts] //// + +//// [a.ts] + +class C { a: T; } + +//// [b.ts] +interface C { } + +//// [a.js] +var C = (function () { + function C() { + } + return C; +}()); +//// [b.js] diff --git a/tests/baselines/reference/unusedTypeParameters7.symbols b/tests/baselines/reference/unusedTypeParameters7.symbols new file mode 100644 index 0000000000000..79704b437a619 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters7.symbols @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.ts === + +class C { a: T; } +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) +>a : Symbol(C.a, Decl(a.ts, 1, 12)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) + +=== tests/cases/compiler/b.ts === +interface C { } +>C : Symbol(C, Decl(a.ts, 0, 0), Decl(b.ts, 0, 0)) +>T : Symbol(T, Decl(a.ts, 1, 8), Decl(b.ts, 0, 12)) + diff --git a/tests/baselines/reference/unusedTypeParameters7.types b/tests/baselines/reference/unusedTypeParameters7.types new file mode 100644 index 0000000000000..a52b4cee7ec88 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters7.types @@ -0,0 +1,13 @@ +=== tests/cases/compiler/a.ts === + +class C { a: T; } +>C : C +>T : T +>a : T +>T : T + +=== tests/cases/compiler/b.ts === +interface C { } +>C : C +>T : T + diff --git a/tests/baselines/reference/unusedTypeParameters8.errors.txt b/tests/baselines/reference/unusedTypeParameters8.errors.txt new file mode 100644 index 0000000000000..d7928d369008c --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters8.errors.txt @@ -0,0 +1,11 @@ +tests/cases/compiler/b.ts(1,13): error TS6133: 'T' is declared but never used. + + +==== tests/cases/compiler/a.ts (0 errors) ==== + + class C { } + +==== tests/cases/compiler/b.ts (1 errors) ==== + interface C { } + ~ +!!! error TS6133: 'T' is declared but never used. \ No newline at end of file diff --git a/tests/baselines/reference/unusedTypeParameters8.js b/tests/baselines/reference/unusedTypeParameters8.js new file mode 100644 index 0000000000000..0c34373d31500 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters8.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/unusedTypeParameters8.ts] //// + +//// [a.ts] + +class C { } + +//// [b.ts] +interface C { } + +//// [a.js] +var C = (function () { + function C() { + } + return C; +}()); +//// [b.js] diff --git a/tests/baselines/reference/unusedTypeParameters9.js b/tests/baselines/reference/unusedTypeParameters9.js new file mode 100644 index 0000000000000..8d82921b07634 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters9.js @@ -0,0 +1,30 @@ +//// [unusedTypeParameters9.ts] + +// clas + interface +class C1 { } +interface C1 { a: T; } + +// interface + class +class C2 { a: T; } +interface C2 { } + +// interfaces +interface C3 { a(c: (p: T) => void): void; } +interface C3 { b: string; } +interface C3 { c: number; } +interface C3 { d: boolean; } +interface C3 { e: any; } + +//// [unusedTypeParameters9.js] +// clas + interface +var C1 = (function () { + function C1() { + } + return C1; +}()); +// interface + class +var C2 = (function () { + function C2() { + } + return C2; +}()); diff --git a/tests/baselines/reference/unusedTypeParameters9.symbols b/tests/baselines/reference/unusedTypeParameters9.symbols new file mode 100644 index 0000000000000..6c4f6aab71ce0 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters9.symbols @@ -0,0 +1,53 @@ +=== tests/cases/compiler/unusedTypeParameters9.ts === + +// clas + interface +class C1 { } +>C1 : Symbol(C1, Decl(unusedTypeParameters9.ts, 0, 0), Decl(unusedTypeParameters9.ts, 2, 15)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 2, 9), Decl(unusedTypeParameters9.ts, 3, 13)) + +interface C1 { a: T; } +>C1 : Symbol(C1, Decl(unusedTypeParameters9.ts, 0, 0), Decl(unusedTypeParameters9.ts, 2, 15)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 2, 9), Decl(unusedTypeParameters9.ts, 3, 13)) +>a : Symbol(C1.a, Decl(unusedTypeParameters9.ts, 3, 17)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 2, 9), Decl(unusedTypeParameters9.ts, 3, 13)) + +// interface + class +class C2 { a: T; } +>C2 : Symbol(C2, Decl(unusedTypeParameters9.ts, 3, 25), Decl(unusedTypeParameters9.ts, 6, 21)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 6, 9), Decl(unusedTypeParameters9.ts, 7, 13)) +>a : Symbol(C2.a, Decl(unusedTypeParameters9.ts, 6, 13)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 6, 9), Decl(unusedTypeParameters9.ts, 7, 13)) + +interface C2 { } +>C2 : Symbol(C2, Decl(unusedTypeParameters9.ts, 3, 25), Decl(unusedTypeParameters9.ts, 6, 21)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 6, 9), Decl(unusedTypeParameters9.ts, 7, 13)) + +// interfaces +interface C3 { a(c: (p: T) => void): void; } +>C3 : Symbol(C3, Decl(unusedTypeParameters9.ts, 7, 19), Decl(unusedTypeParameters9.ts, 10, 47), Decl(unusedTypeParameters9.ts, 11, 30), Decl(unusedTypeParameters9.ts, 12, 30), Decl(unusedTypeParameters9.ts, 13, 32)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) +>a : Symbol(C3.a, Decl(unusedTypeParameters9.ts, 10, 17)) +>c : Symbol(c, Decl(unusedTypeParameters9.ts, 10, 20)) +>p : Symbol(p, Decl(unusedTypeParameters9.ts, 10, 24)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) + +interface C3 { b: string; } +>C3 : Symbol(C3, Decl(unusedTypeParameters9.ts, 7, 19), Decl(unusedTypeParameters9.ts, 10, 47), Decl(unusedTypeParameters9.ts, 11, 30), Decl(unusedTypeParameters9.ts, 12, 30), Decl(unusedTypeParameters9.ts, 13, 32)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) +>b : Symbol(C3.b, Decl(unusedTypeParameters9.ts, 11, 17)) + +interface C3 { c: number; } +>C3 : Symbol(C3, Decl(unusedTypeParameters9.ts, 7, 19), Decl(unusedTypeParameters9.ts, 10, 47), Decl(unusedTypeParameters9.ts, 11, 30), Decl(unusedTypeParameters9.ts, 12, 30), Decl(unusedTypeParameters9.ts, 13, 32)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) +>c : Symbol(C3.c, Decl(unusedTypeParameters9.ts, 12, 17)) + +interface C3 { d: boolean; } +>C3 : Symbol(C3, Decl(unusedTypeParameters9.ts, 7, 19), Decl(unusedTypeParameters9.ts, 10, 47), Decl(unusedTypeParameters9.ts, 11, 30), Decl(unusedTypeParameters9.ts, 12, 30), Decl(unusedTypeParameters9.ts, 13, 32)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) +>d : Symbol(C3.d, Decl(unusedTypeParameters9.ts, 13, 17)) + +interface C3 { e: any; } +>C3 : Symbol(C3, Decl(unusedTypeParameters9.ts, 7, 19), Decl(unusedTypeParameters9.ts, 10, 47), Decl(unusedTypeParameters9.ts, 11, 30), Decl(unusedTypeParameters9.ts, 12, 30), Decl(unusedTypeParameters9.ts, 13, 32)) +>T : Symbol(T, Decl(unusedTypeParameters9.ts, 10, 13), Decl(unusedTypeParameters9.ts, 11, 13), Decl(unusedTypeParameters9.ts, 12, 13), Decl(unusedTypeParameters9.ts, 13, 13), Decl(unusedTypeParameters9.ts, 14, 13)) +>e : Symbol(C3.e, Decl(unusedTypeParameters9.ts, 14, 17)) + diff --git a/tests/baselines/reference/unusedTypeParameters9.types b/tests/baselines/reference/unusedTypeParameters9.types new file mode 100644 index 0000000000000..58a75e6729784 --- /dev/null +++ b/tests/baselines/reference/unusedTypeParameters9.types @@ -0,0 +1,53 @@ +=== tests/cases/compiler/unusedTypeParameters9.ts === + +// clas + interface +class C1 { } +>C1 : C1 +>T : T + +interface C1 { a: T; } +>C1 : C1 +>T : T +>a : T +>T : T + +// interface + class +class C2 { a: T; } +>C2 : C2 +>T : T +>a : T +>T : T + +interface C2 { } +>C2 : C2 +>T : T + +// interfaces +interface C3 { a(c: (p: T) => void): void; } +>C3 : C3 +>T : T +>a : (c: (p: T) => void) => void +>c : (p: T) => void +>p : T +>T : T + +interface C3 { b: string; } +>C3 : C3 +>T : T +>b : string + +interface C3 { c: number; } +>C3 : C3 +>T : T +>c : number + +interface C3 { d: boolean; } +>C3 : C3 +>T : T +>d : boolean + +interface C3 { e: any; } +>C3 : C3 +>T : T +>e : any + diff --git a/tests/baselines/reference/validEnumAssignments.types b/tests/baselines/reference/validEnumAssignments.types index 5ac73b126abc3..120e4fe04bef9 100644 --- a/tests/baselines/reference/validEnumAssignments.types +++ b/tests/baselines/reference/validEnumAssignments.types @@ -54,18 +54,18 @@ e = e; >e : E e = E.A; ->e = E.A : E +>e = E.A : E.A >e : E ->E.A : E +>E.A : E.A >E : typeof E ->A : E +>A : E.A e = E.B; ->e = E.B : E +>e = E.B : E.B >e : E ->E.B : E +>E.B : E.B >E : typeof E ->B : E +>B : E.B e = n; >e = n : number @@ -83,23 +83,23 @@ e = undefined; >undefined : undefined e = 1; ->e = 1 : number +>e = 1 : 1 >e : E ->1 : number +>1 : 1 e = 1.; ->e = 1. : number +>e = 1. : 1 >e : E ->1. : number +>1. : 1 e = 1.0; ->e = 1.0 : number +>e = 1.0 : 1 >e : E ->1.0 : number +>1.0 : 1 e = -1; ->e = -1 : number +>e = -1 : -1 >e : E ->-1 : number +>-1 : -1 >1 : number diff --git a/tests/baselines/reference/voidAsOperator.types b/tests/baselines/reference/voidAsOperator.types index 8f2a2951fcabb..e95f27f1b5baf 100644 --- a/tests/baselines/reference/voidAsOperator.types +++ b/tests/baselines/reference/voidAsOperator.types @@ -1,19 +1,19 @@ === tests/cases/compiler/voidAsOperator.ts === if (!void 0 !== true) { >!void 0 !== true : boolean ->!void 0 : boolean +>!void 0 : true >void 0 : undefined >0 : number ->true : boolean +>true : true } //CHECK#2 if (!null !== true) { >!null !== true : boolean ->!null : boolean +>!null : true >null : null ->true : boolean +>true : true } diff --git a/tests/cases/compiler/APISample_watcher.ts b/tests/cases/compiler/APISample_watcher.ts index 34baa04c85035..07922bd35c779 100644 --- a/tests/cases/compiler/APISample_watcher.ts +++ b/tests/cases/compiler/APISample_watcher.ts @@ -23,7 +23,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/cases/compiler/abstractClassInLocalScope.ts b/tests/cases/compiler/abstractClassInLocalScope.ts new file mode 100644 index 0000000000000..8bc7e80d26366 --- /dev/null +++ b/tests/cases/compiler/abstractClassInLocalScope.ts @@ -0,0 +1,6 @@ +(() => { + abstract class A {} + class B extends A {} + new B(); + return A; +})(); diff --git a/tests/cases/compiler/abstractClassInLocalScopeIsAbstract.ts b/tests/cases/compiler/abstractClassInLocalScopeIsAbstract.ts new file mode 100644 index 0000000000000..ca98a6620161f --- /dev/null +++ b/tests/cases/compiler/abstractClassInLocalScopeIsAbstract.ts @@ -0,0 +1,6 @@ +(() => { + abstract class A {} + class B extends A {} + new A(); + new B(); +})() diff --git a/tests/cases/compiler/allowSyntheticDefaultImports10.ts b/tests/cases/compiler/allowSyntheticDefaultImports10.ts new file mode 100644 index 0000000000000..6b50bae96d8fe --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports10.ts @@ -0,0 +1,11 @@ +// @allowSyntheticDefaultImports: true +// @module: commonjs +// @Filename: b.d.ts +export function foo(); + +export function bar(); + +// @Filename: a.ts +import Foo = require("./b"); +Foo.default.bar(); +Foo.default.default.foo(); \ No newline at end of file diff --git a/tests/cases/compiler/allowSyntheticDefaultImports7.ts b/tests/cases/compiler/allowSyntheticDefaultImports7.ts new file mode 100644 index 0000000000000..2da05e4678c7f --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports7.ts @@ -0,0 +1,10 @@ +// @module: system +// @Filename: b.d.ts +export function foo(); + +export function bar(); + +// @Filename: a.ts +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); \ No newline at end of file diff --git a/tests/cases/compiler/allowSyntheticDefaultImports8.ts b/tests/cases/compiler/allowSyntheticDefaultImports8.ts new file mode 100644 index 0000000000000..3a213ad80235f --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports8.ts @@ -0,0 +1,11 @@ +// @allowSyntheticDefaultImports: false +// @module: system +// @Filename: b.d.ts +export function foo(); + +export function bar(); + +// @Filename: a.ts +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); \ No newline at end of file diff --git a/tests/cases/compiler/allowSyntheticDefaultImports9.ts b/tests/cases/compiler/allowSyntheticDefaultImports9.ts new file mode 100644 index 0000000000000..8da66f33adf56 --- /dev/null +++ b/tests/cases/compiler/allowSyntheticDefaultImports9.ts @@ -0,0 +1,11 @@ +// @allowSyntheticDefaultImports: true +// @module: commonjs +// @Filename: b.d.ts +export function foo(); + +export function bar(); + +// @Filename: a.ts +import { default as Foo } from "./b"; +Foo.bar(); +Foo.foo(); \ No newline at end of file diff --git a/tests/cases/compiler/ambientClassDeclaredBeforeBase.ts b/tests/cases/compiler/ambientClassDeclaredBeforeBase.ts new file mode 100644 index 0000000000000..7e564c9d37d6a --- /dev/null +++ b/tests/cases/compiler/ambientClassDeclaredBeforeBase.ts @@ -0,0 +1,6 @@ +// @filename: a.d.ts + +declare namespace ns { + class SecondNS extends FirstNS { } + class FirstNS { } +} diff --git a/tests/cases/compiler/baseTypeWrappingInstantiationChain.ts b/tests/cases/compiler/baseTypeWrappingInstantiationChain.ts index f630b908ec2bd..bfb04b148ee53 100644 --- a/tests/cases/compiler/baseTypeWrappingInstantiationChain.ts +++ b/tests/cases/compiler/baseTypeWrappingInstantiationChain.ts @@ -1,26 +1,26 @@ -class C extends CBase { - public works() { - new CBaseBase>(this); - } - public alsoWorks() { - new CBase(this); // Should not error, parameter is of type Parameter> - } - - public method(t: Wrapper) { } +class CBaseBase { + constructor(x: Parameter) { } } class CBase extends CBaseBase> { } -class CBaseBase { - constructor(x: Parameter) { } -} - class Parameter { method(t: T4) { } } class Wrapper { property: T5; -} \ No newline at end of file +} + +class C extends CBase { + public works() { + new CBaseBase>(this); + } + public alsoWorks() { + new CBase(this); // Should not error, parameter is of type Parameter> + } + + public method(t: Wrapper) { } +} diff --git a/tests/cases/compiler/bestChoiceType.ts b/tests/cases/compiler/bestChoiceType.ts new file mode 100644 index 0000000000000..3f8ce4bc8681d --- /dev/null +++ b/tests/cases/compiler/bestChoiceType.ts @@ -0,0 +1,19 @@ +// @strictNullChecks: true + +// 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()); +} diff --git a/tests/cases/compiler/classExpressionWithStaticPropertiesES64.ts b/tests/cases/compiler/classExpressionWithStaticPropertiesES64.ts new file mode 100644 index 0000000000000..0d1c118d21431 --- /dev/null +++ b/tests/cases/compiler/classExpressionWithStaticPropertiesES64.ts @@ -0,0 +1,2 @@ +// @target: es6 +(class { static x = 0; }); diff --git a/tests/cases/compiler/concatTuples.ts b/tests/cases/compiler/concatTuples.ts new file mode 100644 index 0000000000000..9a62f22bb6328 --- /dev/null +++ b/tests/cases/compiler/concatTuples.ts @@ -0,0 +1,2 @@ +let ijs: [number, number][] = [[1, 2]]; +ijs = ijs.concat([[3, 4], [5, 6]]); diff --git a/tests/cases/compiler/controlFlowInstanceof.ts b/tests/cases/compiler/controlFlowInstanceof.ts new file mode 100644 index 0000000000000..56f3ff97e4c8e --- /dev/null +++ b/tests/cases/compiler/controlFlowInstanceof.ts @@ -0,0 +1,99 @@ +// @target: es6 + +// 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; +} \ No newline at end of file diff --git a/tests/cases/compiler/discriminantPropertyCheck.ts b/tests/cases/compiler/discriminantPropertyCheck.ts new file mode 100644 index 0000000000000..e493f6bf77042 --- /dev/null +++ b/tests/cases/compiler/discriminantPropertyCheck.ts @@ -0,0 +1,69 @@ +// @strictNullChecks: true + +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 + } +} \ No newline at end of file diff --git a/tests/cases/compiler/discriminantsAndNullOrUndefined.ts b/tests/cases/compiler/discriminantsAndNullOrUndefined.ts new file mode 100644 index 0000000000000..8346fa8adeadf --- /dev/null +++ b/tests/cases/compiler/discriminantsAndNullOrUndefined.ts @@ -0,0 +1,25 @@ +// @strictNullChecks: true + +// 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); + } +} \ No newline at end of file diff --git a/tests/cases/compiler/discriminantsAndPrimitives.ts b/tests/cases/compiler/discriminantsAndPrimitives.ts new file mode 100644 index 0000000000000..6352d741808ab --- /dev/null +++ b/tests/cases/compiler/discriminantsAndPrimitives.ts @@ -0,0 +1,49 @@ +// @strictNullChecks: true + +// 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; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/discriminantsAndTypePredicates.ts b/tests/cases/compiler/discriminantsAndTypePredicates.ts new file mode 100644 index 0000000000000..c21ab7ec8f49a --- /dev/null +++ b/tests/cases/compiler/discriminantsAndTypePredicates.ts @@ -0,0 +1,31 @@ +// 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 +} \ No newline at end of file diff --git a/tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts b/tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts new file mode 100644 index 0000000000000..e369cd9fb505d --- /dev/null +++ b/tests/cases/compiler/emitCapturingThisInTupleDestructuring1.ts @@ -0,0 +1,4 @@ +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" +}); \ No newline at end of file diff --git a/tests/cases/compiler/emitCapturingThisInTupleDestructuring2.ts b/tests/cases/compiler/emitCapturingThisInTupleDestructuring2.ts new file mode 100644 index 0000000000000..2bb931c4f4f1a --- /dev/null +++ b/tests/cases/compiler/emitCapturingThisInTupleDestructuring2.ts @@ -0,0 +1,10 @@ +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" + } +} \ No newline at end of file diff --git a/tests/cases/compiler/emitDecoratorMetadata_restArgs.ts b/tests/cases/compiler/emitDecoratorMetadata_restArgs.ts index 6b0741e22058a..f58e9b704d48e 100644 --- a/tests/cases/compiler/emitDecoratorMetadata_restArgs.ts +++ b/tests/cases/compiler/emitDecoratorMetadata_restArgs.ts @@ -16,5 +16,5 @@ class A { class B { constructor(...args: number[]) {} @MyMethodDecorator - method(...args: string[]) {} + method(this: this, ...args: string[]) {} } diff --git a/tests/cases/compiler/emitSkipsThisWithRestParameter.ts b/tests/cases/compiler/emitSkipsThisWithRestParameter.ts new file mode 100644 index 0000000000000..09411a28cd25e --- /dev/null +++ b/tests/cases/compiler/emitSkipsThisWithRestParameter.ts @@ -0,0 +1,5 @@ +function rebase(fn: (base: any, ...args: any[]) => any): (...args: any[]) => any { + return function(this: any, ...args: any[]) { + return fn.apply(this, [ this ].concat(args)); + }; +} diff --git a/tests/cases/compiler/exportDefaultProperty.ts b/tests/cases/compiler/exportDefaultProperty.ts new file mode 100644 index 0000000000000..4a4b413902586 --- /dev/null +++ b/tests/cases/compiler/exportDefaultProperty.ts @@ -0,0 +1,39 @@ +// This test is just like exportEqualsProperty, but with `export default`. + +// @Filename: declarations.d.ts +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; +} + +// @Filename: a.ts +namespace A { + export class B { constructor(b: number) {} } + export namespace B { export const b: number = 0; } +} +export default A.B; + +// @Filename: b.ts +export default "foo".length; + +// @Filename: 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; diff --git a/tests/cases/compiler/exportEqualsProperty.ts b/tests/cases/compiler/exportEqualsProperty.ts new file mode 100644 index 0000000000000..0d14815a5bdf0 --- /dev/null +++ b/tests/cases/compiler/exportEqualsProperty.ts @@ -0,0 +1,38 @@ +// This test is just like exportDefaultProperty, but with `export =`. + +// @Filename: declarations.d.ts +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; +} + +// @Filename: a.ts +namespace A { + export class B { constructor(b: number) {} } + export namespace B { export const b: number = 0; } +} +export = A.B; + +// @Filename: b.ts +export = "foo".length; + +// @Filename: 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; diff --git a/tests/cases/compiler/exportToString.ts b/tests/cases/compiler/exportToString.ts new file mode 100644 index 0000000000000..248df036bfde9 --- /dev/null +++ b/tests/cases/compiler/exportToString.ts @@ -0,0 +1,2 @@ +const toString = 0; +export { toString }; diff --git a/tests/cases/compiler/instanceofWithStructurallyIdenticalTypes.ts b/tests/cases/compiler/instanceofWithStructurallyIdenticalTypes.ts new file mode 100644 index 0000000000000..564f7a9c22eaa --- /dev/null +++ b/tests/cases/compiler/instanceofWithStructurallyIdenticalTypes.ts @@ -0,0 +1,69 @@ +// 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 + } +} diff --git a/tests/cases/compiler/narrowingByDiscriminantInLoop.ts b/tests/cases/compiler/narrowingByDiscriminantInLoop.ts new file mode 100644 index 0000000000000..f394018d2ce2c --- /dev/null +++ b/tests/cases/compiler/narrowingByDiscriminantInLoop.ts @@ -0,0 +1,87 @@ +// @strictNullChecks: true + +// 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; + } + } +} \ No newline at end of file diff --git a/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.ts b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.ts new file mode 100644 index 0000000000000..71ec411a4f5ce --- /dev/null +++ b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile1.ts @@ -0,0 +1,5 @@ +// @module: none +// @filename: 0.d.ts + +export = a; +declare var a: number; \ No newline at end of file diff --git a/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.ts b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.ts new file mode 100644 index 0000000000000..160f80dba972c --- /dev/null +++ b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile2.ts @@ -0,0 +1,8 @@ +// @module: none + +// @filename: 1.ts +export var j = "hello"; // error + +// @filename: 0.d.ts +export = a; +declare var a: number; \ No newline at end of file diff --git a/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.ts b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.ts new file mode 100644 index 0000000000000..e13933a13d0a4 --- /dev/null +++ b/tests/cases/compiler/noErrorUsingImportExportModuleAugmentationInDeclarationFile3.ts @@ -0,0 +1,8 @@ +// @module: none + +// @filename: 0.d.ts +export = a; +declare var a: number; + +// @filename: 1.ts +export var j = "hello"; // error diff --git a/tests/cases/compiler/noUsedBeforeDefinedErrorInAmbientContext1.ts b/tests/cases/compiler/noUsedBeforeDefinedErrorInAmbientContext1.ts new file mode 100644 index 0000000000000..834356e88b401 --- /dev/null +++ b/tests/cases/compiler/noUsedBeforeDefinedErrorInAmbientContext1.ts @@ -0,0 +1,4 @@ +// @filename: test.d.ts + +declare var S: typeof A; // no error +declare const A: number; \ No newline at end of file diff --git a/tests/cases/compiler/pathsValidation3.ts b/tests/cases/compiler/pathsValidation3.ts new file mode 100644 index 0000000000000..28db959a881db --- /dev/null +++ b/tests/cases/compiler/pathsValidation3.ts @@ -0,0 +1,12 @@ +// @filename: tsconfig.json +{ + "compilerOptions": { + "baseUrl": ".", + "paths": { + "foo": [] + } + } +} + +// @filename: a.ts +let x = 1; \ No newline at end of file diff --git a/tests/cases/compiler/thisInTupleTypeParameterConstraints.ts b/tests/cases/compiler/thisInTupleTypeParameterConstraints.ts new file mode 100644 index 0000000000000..b6d0d338d85c5 --- /dev/null +++ b/tests/cases/compiler/thisInTupleTypeParameterConstraints.ts @@ -0,0 +1,22 @@ +/// + +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); diff --git a/tests/cases/compiler/typeReferenceDirectives1.ts b/tests/cases/compiler/typeReferenceDirectives1.ts index e17e498b9784d..13c84c7ae5e9b 100644 --- a/tests/cases/compiler/typeReferenceDirectives1.ts +++ b/tests/cases/compiler/typeReferenceDirectives1.ts @@ -2,7 +2,7 @@ // @traceResolution: true // @declaration: true // @typeRoots: /types - +// @currentDirectory: / // @filename: /types/lib/index.d.ts interface $ { x } diff --git a/tests/cases/compiler/typeReferenceDirectives10.ts b/tests/cases/compiler/typeReferenceDirectives10.ts index 61971ba44b2ad..1eb796d03fd25 100644 --- a/tests/cases/compiler/typeReferenceDirectives10.ts +++ b/tests/cases/compiler/typeReferenceDirectives10.ts @@ -2,6 +2,7 @@ // @declaration: true // @typeRoots: /types // @traceResolution: true +// @currentDirectory: / // @filename: /ref.d.ts export interface $ { x } diff --git a/tests/cases/compiler/typeReferenceDirectives11.ts b/tests/cases/compiler/typeReferenceDirectives11.ts index 2d93e22bdcf23..8b56459cd697f 100644 --- a/tests/cases/compiler/typeReferenceDirectives11.ts +++ b/tests/cases/compiler/typeReferenceDirectives11.ts @@ -4,6 +4,7 @@ // @traceResolution: true // @types: lib // @out: output.js +// @currentDirectory: / // @filename: /types/lib/index.d.ts diff --git a/tests/cases/compiler/typeReferenceDirectives12.ts b/tests/cases/compiler/typeReferenceDirectives12.ts index efdb1e8312b6f..f1abe27f05f36 100644 --- a/tests/cases/compiler/typeReferenceDirectives12.ts +++ b/tests/cases/compiler/typeReferenceDirectives12.ts @@ -3,6 +3,7 @@ // @typeRoots: /types // @traceResolution: true // @out: output.js +// @currentDirectory: / // @filename: /types/lib/index.d.ts diff --git a/tests/cases/compiler/typeReferenceDirectives13.ts b/tests/cases/compiler/typeReferenceDirectives13.ts index 124c31274ace4..f9dede73267bd 100644 --- a/tests/cases/compiler/typeReferenceDirectives13.ts +++ b/tests/cases/compiler/typeReferenceDirectives13.ts @@ -2,6 +2,7 @@ // @declaration: true // @typeRoots: /types // @traceResolution: true +// @currentDirectory: / // @filename: /ref.d.ts export interface $ { x } diff --git a/tests/cases/compiler/typeReferenceDirectives2.ts b/tests/cases/compiler/typeReferenceDirectives2.ts index 31a01a0b8e4bc..44218683a5a99 100644 --- a/tests/cases/compiler/typeReferenceDirectives2.ts +++ b/tests/cases/compiler/typeReferenceDirectives2.ts @@ -3,6 +3,7 @@ // @declaration: true // @typeRoots: /types // @types: lib +// @currentDirectory: / // @filename: /types/lib/index.d.ts interface $ { x } diff --git a/tests/cases/compiler/typeReferenceDirectives3.ts b/tests/cases/compiler/typeReferenceDirectives3.ts index 4c2729ab389b3..1baf0bdac9d28 100644 --- a/tests/cases/compiler/typeReferenceDirectives3.ts +++ b/tests/cases/compiler/typeReferenceDirectives3.ts @@ -2,6 +2,7 @@ // @declaration: true // @typeRoots: /types // @traceResolution: true +// @currentDirectory: / // $ comes from d.ts file - no need to add type reference directive diff --git a/tests/cases/compiler/typeReferenceDirectives4.ts b/tests/cases/compiler/typeReferenceDirectives4.ts index ac7346895ef7d..dfa87b651387b 100644 --- a/tests/cases/compiler/typeReferenceDirectives4.ts +++ b/tests/cases/compiler/typeReferenceDirectives4.ts @@ -2,6 +2,7 @@ // @traceResolution: true // @declaration: true // @typeRoots: /types +// @currentDirectory: / // $ comes from d.ts file - no need to add type reference directive diff --git a/tests/cases/compiler/typeReferenceDirectives5.ts b/tests/cases/compiler/typeReferenceDirectives5.ts index bb24b82b32466..e81ae663e24f6 100644 --- a/tests/cases/compiler/typeReferenceDirectives5.ts +++ b/tests/cases/compiler/typeReferenceDirectives5.ts @@ -2,6 +2,7 @@ // @traceResolution: true // @declaration: true // @typeRoots: /types +// @currentDirectory: / // @filename: /ref.d.ts export interface $ { x } diff --git a/tests/cases/compiler/typeReferenceDirectives6.ts b/tests/cases/compiler/typeReferenceDirectives6.ts index 7154963f1efa3..edf2ece7e06dc 100644 --- a/tests/cases/compiler/typeReferenceDirectives6.ts +++ b/tests/cases/compiler/typeReferenceDirectives6.ts @@ -2,6 +2,7 @@ // @traceResolution: true // @declaration: true // @typeRoots: /types +// @currentDirectory: / // $ comes from type declaration file - type reference directive should be added diff --git a/tests/cases/compiler/typeReferenceDirectives7.ts b/tests/cases/compiler/typeReferenceDirectives7.ts index 79d42fa701853..e9335b0708209 100644 --- a/tests/cases/compiler/typeReferenceDirectives7.ts +++ b/tests/cases/compiler/typeReferenceDirectives7.ts @@ -2,6 +2,7 @@ // @traceResolution: true // @declaration: true // @typeRoots: /types +// @currentDirectory: / // local value shadows global - no need to add type reference directive diff --git a/tests/cases/compiler/typeReferenceDirectives8.ts b/tests/cases/compiler/typeReferenceDirectives8.ts index c7725a3aab1ab..bed69cbf35739 100644 --- a/tests/cases/compiler/typeReferenceDirectives8.ts +++ b/tests/cases/compiler/typeReferenceDirectives8.ts @@ -3,6 +3,7 @@ // @typeRoots: /types // @traceResolution: true // @types: lib +// @currentDirectory: / // @filename: /types/lib/index.d.ts diff --git a/tests/cases/compiler/typeReferenceDirectives9.ts b/tests/cases/compiler/typeReferenceDirectives9.ts index 610c7173c898b..1ad1aa522885b 100644 --- a/tests/cases/compiler/typeReferenceDirectives9.ts +++ b/tests/cases/compiler/typeReferenceDirectives9.ts @@ -2,6 +2,7 @@ // @declaration: true // @typeRoots: /types // @traceResolution: true +// @currentDirectory: / // @filename: /types/lib/index.d.ts diff --git a/tests/cases/compiler/umdGlobalConflict.ts b/tests/cases/compiler/umdGlobalConflict.ts new file mode 100644 index 0000000000000..58b4ea6be02bd --- /dev/null +++ b/tests/cases/compiler/umdGlobalConflict.ts @@ -0,0 +1,15 @@ +//@filename: v1/index.d.ts +export as namespace Alpha; +export var x: string; + +//@filename: v2/index.d.ts +export as namespace Alpha; +export var y: number; + +//@filename: consumer.ts +import * as v1 from './v1'; +import * as v2 from './v2'; + +//@filename: global.ts +// Should be OK, first in wins +const p: string = Alpha.x; \ No newline at end of file diff --git a/tests/cases/compiler/umdGlobalMerge.ts b/tests/cases/compiler/umdGlobalMerge.ts deleted file mode 100644 index 1f42e2fda7145..0000000000000 --- a/tests/cases/compiler/umdGlobalMerge.ts +++ /dev/null @@ -1,14 +0,0 @@ -// @filename: a.d.ts -export = ns; - -export as namespace ns; - -declare namespace ns { - export var x: number; - export interface IFoo { } -} - -// @filename: b.d.ts -declare namespace ns.something { - export var p: ns.IFoo; -} diff --git a/tests/cases/compiler/unusedTypeParameters6.ts b/tests/cases/compiler/unusedTypeParameters6.ts new file mode 100644 index 0000000000000..f445665f4eaf5 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters6.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @fileName: a.ts +class C { } + +// @fileName: b.ts +interface C { a: T; } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters7.ts b/tests/cases/compiler/unusedTypeParameters7.ts new file mode 100644 index 0000000000000..87b42d97650a3 --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters7.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @fileName: a.ts +class C { a: T; } + +// @fileName: b.ts +interface C { } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters8.ts b/tests/cases/compiler/unusedTypeParameters8.ts new file mode 100644 index 0000000000000..4034ed04c72ed --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters8.ts @@ -0,0 +1,8 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// @fileName: a.ts +class C { } + +// @fileName: b.ts +interface C { } \ No newline at end of file diff --git a/tests/cases/compiler/unusedTypeParameters9.ts b/tests/cases/compiler/unusedTypeParameters9.ts new file mode 100644 index 0000000000000..48581d4ab2eac --- /dev/null +++ b/tests/cases/compiler/unusedTypeParameters9.ts @@ -0,0 +1,17 @@ +//@noUnusedLocals:true +//@noUnusedParameters:true + +// clas + interface +class C1 { } +interface C1 { a: T; } + +// interface + class +class C2 { a: T; } +interface C2 { } + +// interfaces +interface C3 { a(c: (p: T) => void): void; } +interface C3 { b: string; } +interface C3 { c: number; } +interface C3 { d: boolean; } +interface C3 { e: any; } \ No newline at end of file diff --git a/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts b/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts index 2a961e2c0679b..5e0ed2454df62 100644 --- a/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts +++ b/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility2.ts @@ -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,4 +43,4 @@ var bc = new BaseC(1); // error 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); diff --git a/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility5.ts b/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility5.ts new file mode 100644 index 0000000000000..ada5108a23af5 --- /dev/null +++ b/tests/cases/conformance/classes/constructorDeclarations/classConstructorAccessibility5.ts @@ -0,0 +1,10 @@ +class Base { + protected constructor() { } +} +class Derived extends Base { + static make() { new Base() } // ok +} + +class Unrelated { + static fake() { new Base() } // error +} diff --git a/tests/cases/conformance/controlFlow/controlFlowIfStatement.ts b/tests/cases/conformance/controlFlow/controlFlowIfStatement.ts index c9e9be92f8e7e..dc1cf97fe5991 100644 --- a/tests/cases/conformance/controlFlow/controlFlowIfStatement.ts +++ b/tests/cases/conformance/controlFlow/controlFlowIfStatement.ts @@ -34,3 +34,19 @@ 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; + } +} diff --git a/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS1.ts b/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS1.ts new file mode 100644 index 0000000000000..e00adf3d63b7a --- /dev/null +++ b/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS1.ts @@ -0,0 +1,13 @@ +// @target: es6 +// @experimentaldecorators: true +// @emitDecoratorMetadata: true +// @module: commonjs +// @filename: a.ts + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { + static prop0: string; + static prop1 = Testing123.prop0; +} \ No newline at end of file diff --git a/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS2.ts b/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS2.ts new file mode 100644 index 0000000000000..38f6ce9f27d8d --- /dev/null +++ b/tests/cases/conformance/decorators/class/decoratedClassExportsCommonJS2.ts @@ -0,0 +1,10 @@ +// @target: es6 +// @experimentaldecorators: true +// @emitDecoratorMetadata: true +// @module: commonjs +// @filename: a.ts + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { } \ No newline at end of file diff --git a/tests/cases/conformance/decorators/class/decoratedClassExportsSystem1.ts b/tests/cases/conformance/decorators/class/decoratedClassExportsSystem1.ts new file mode 100644 index 0000000000000..1e2619ab89ef2 --- /dev/null +++ b/tests/cases/conformance/decorators/class/decoratedClassExportsSystem1.ts @@ -0,0 +1,13 @@ +// @target: es6 +// @experimentaldecorators: true +// @emitDecoratorMetadata: true +// @module: system +// @filename: a.ts + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { + static prop0: string; + static prop1 = Testing123.prop0; +} \ No newline at end of file diff --git a/tests/cases/conformance/decorators/class/decoratedClassExportsSystem2.ts b/tests/cases/conformance/decorators/class/decoratedClassExportsSystem2.ts new file mode 100644 index 0000000000000..bf7c9a0ca2deb --- /dev/null +++ b/tests/cases/conformance/decorators/class/decoratedClassExportsSystem2.ts @@ -0,0 +1,10 @@ +// @target: es6 +// @experimentaldecorators: true +// @emitDecoratorMetadata: true +// @module: system +// @filename: a.ts + +declare function forwardRef(x: any): any; +declare var Something: any; +@Something({ v: () => Testing123 }) +export class Testing123 { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts index 961544f309a6f..17f2ea6b84814 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInference.ts @@ -5,60 +5,60 @@ function noParams(n: T) { } noParams ``; // Generic tag with parameter which does not use type parameter -function noGenericParams(n: string[]) { } +function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; -function someGenerics1b(n: string[], m: U) { } +function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs: string[], n: (x: T) => void) { } +function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; -function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } +function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs: string[], producer: () => T) { } +function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } +function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } +function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type -function someGenerics8(strs: string[], n: T): T { return n; } +function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type -function someGenerics9(strs: string[], a: T, b: T, c: T): T { +function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts index bc9fd75cac93c..a0ca1aa67d6c4 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsTypeArgumentInferenceES6.ts @@ -5,60 +5,60 @@ function noParams(n: T) { } noParams ``; // Generic tag with parameter which does not use type parameter -function noGenericParams(n: string[]) { } +function noGenericParams(n: TemplateStringsArray) { } noGenericParams ``; // Generic tag with multiple type parameters and only one used in parameter type annotation function someGenerics1a(n: T, m: number) { } someGenerics1a `${3}`; -function someGenerics1b(n: string[], m: U) { } +function someGenerics1b(n: TemplateStringsArray, m: U) { } someGenerics1b `${3}`; // Generic tag with argument of function type whose parameter is of type parameter type -function someGenerics2a(strs: string[], n: (x: T) => void) { } +function someGenerics2a(strs: TemplateStringsArray, n: (x: T) => void) { } someGenerics2a `${(n: string) => n}`; -function someGenerics2b(strs: string[], n: (x: T, y: U) => void) { } +function someGenerics2b(strs: TemplateStringsArray, n: (x: T, y: U) => void) { } someGenerics2b `${ (n: string, x: number) => n }`; // Generic tag with argument of function type whose parameter is not of type parameter type but body/return type uses type parameter -function someGenerics3(strs: string[], producer: () => T) { } +function someGenerics3(strs: TemplateStringsArray, producer: () => T) { } someGenerics3 `${() => ''}`; someGenerics3 `${() => undefined}`; someGenerics3 `${() => 3}`; // 2 parameter generic tag with argument 1 of type parameter type and argument 2 of function type whose parameter is of type parameter type -function someGenerics4(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics4(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics4 `${4}${ () => null }`; someGenerics4 `${''}${ () => 3 }`; someGenerics4 `${ null }${ null }`; // 2 parameter generic tag with argument 2 of type parameter type and argument 1 of function type whose parameter is of type parameter type -function someGenerics5(strs: string[], n: T, f: (x: U) => void) { } +function someGenerics5(strs: TemplateStringsArray, n: T, f: (x: U) => void) { } someGenerics5 `${ 4 } ${ () => null }`; someGenerics5 `${ '' }${ () => 3 }`; someGenerics5 `${null}${null}`; // Generic tag with multiple arguments of function types that each have parameters of the same generic type -function someGenerics6(strs: string[], a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } +function someGenerics6(strs: TemplateStringsArray, a: (a: A) => A, b: (b: A) => A, c: (c: A) => A) { } someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ n => n }${ n => n}${ n => n}`; someGenerics6 `${ (n: number) => n }${ (n: number) => n }${ (n: number) => n }`; // Generic tag with multiple arguments of function types that each have parameters of different generic type -function someGenerics7(strs: string[], a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } +function someGenerics7(strs: TemplateStringsArray, a: (a: A) => A, b: (b: B) => B, c: (c: C) => C) { } someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${ n => n }${ n => n }${ n => n }`; someGenerics7 `${(n: number) => n}${ (n: string) => n}${ (n: number) => n}`; // Generic tag with argument of generic function type -function someGenerics8(strs: string[], n: T): T { return n; } +function someGenerics8(strs: TemplateStringsArray, n: T): T { return n; } var x = someGenerics8 `${ someGenerics7 }`; x `${null}${null}${null}`; // Generic tag with multiple parameters of generic type passed arguments with no best common type -function someGenerics9(strs: string[], a: T, b: T, c: T): T { +function someGenerics9(strs: TemplateStringsArray, a: T, b: T, c: T): T { return null; } var a9a = someGenerics9 `${ '' }${ 0 }${ [] }`; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts index 0f5d203d60b0f..d8be6cbd7c270 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTags.ts @@ -1,5 +1,5 @@ interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts index 36dc249f67276..dec483c167893 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithIncompatibleTypedTagsES6.ts @@ -1,6 +1,6 @@ // @target: ES6 interface I { - (stringParts: string[], ...rest: boolean[]): I; + (stringParts: TemplateStringsArray, ...rest: boolean[]): I; g: I; h: I; member: I; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressions.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressions.ts index d96196ee26e54..f86353e7ddaca 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressions.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressions.ts @@ -1,5 +1,5 @@ interface I { - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; member: { new (s: string): { new (n: number): { diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts index d0d6604cfde58..914f7ca809f1a 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithManyCallAndMemberExpressionsES6.ts @@ -1,6 +1,6 @@ // @target: ES6 interface I { - (strs: string[], ...subs: number[]): I; + (strs: TemplateStringsArray, ...subs: number[]): I; member: { new (s: string): { new (n: number): { diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts index 5b29beddd480b..3743c1a771036 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1.ts @@ -1,7 +1,7 @@ -function foo(strs: string[]): number; -function foo(strs: string[], x: number): string; -function foo(strs: string[], x: number, y: number): boolean; -function foo(strs: string[], x: number, y: string): {}; +function foo(strs: TemplateStringsArray): number; +function foo(strs: TemplateStringsArray, x: number): string; +function foo(strs: TemplateStringsArray, x: number, y: number): boolean; +function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts index f821d84fbdd40..d681c6b98b0cb 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution1_ES6.ts @@ -1,8 +1,8 @@ //@target: es6 -function foo(strs: string[]): number; -function foo(strs: string[], x: number): string; -function foo(strs: string[], x: number, y: number): boolean; -function foo(strs: string[], x: number, y: string): {}; +function foo(strs: TemplateStringsArray): number; +function foo(strs: TemplateStringsArray, x: number): string; +function foo(strs: TemplateStringsArray, x: number, y: number): boolean; +function foo(strs: TemplateStringsArray, x: number, y: string): {}; function foo(...stuff: any[]): any { return undefined; } diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2.ts index 0ed9b86128b02..98799dd92df11 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2.ts @@ -5,8 +5,8 @@ function foo1(...stuff: any[]): any { return undefined; } -var a = foo1 `${1}`; // string -var b = foo1([], 1); // number +var a = foo1 `${1}`; +var b = foo1([], 1); function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; @@ -14,5 +14,5 @@ function foo2(...stuff: any[]): any { return undefined; } -var c = foo2 `${1}`; // number -var d = foo2([], 1); // number \ No newline at end of file +var c = foo2 `${1}`; +var d = foo2([], 1); \ No newline at end of file diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2_ES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2_ES6.ts index 6c67de325e25a..769c56e47a182 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2_ES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithOverloadResolution2_ES6.ts @@ -5,8 +5,8 @@ function foo1(...stuff: any[]): any { return undefined; } -var a = foo1 `${1}`; // string -var b = foo1([], 1); // number +var a = foo1 `${1}`; +var b = foo1([], 1); function foo2(strs: string[], x: number): number; function foo2(strs: TemplateStringsArray, x: number): string; @@ -14,5 +14,5 @@ function foo2(...stuff: any[]): any { return undefined; } -var c = foo2 `${1}`; // number -var d = foo2([], 1); // number \ No newline at end of file +var c = foo2 `${1}`; +var d = foo2([], 1); \ No newline at end of file diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTags.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTags.ts index 9b3852c2ddb23..60f97104be3d3 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTags.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTags.ts @@ -1,5 +1,5 @@ interface I { - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; g: I; h: I; member: I; diff --git a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTagsES6.ts b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTagsES6.ts index 0dc10820a98c1..19fb6a874cc1a 100644 --- a/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTagsES6.ts +++ b/tests/cases/conformance/es6/templates/taggedTemplateStringsWithTypedTagsES6.ts @@ -1,6 +1,6 @@ // @target: ES6 interface I { - (stringParts: string[], ...rest: number[]): I; + (stringParts: TemplateStringsArray, ...rest: number[]): I; g: I; h: I; member: I; diff --git a/tests/cases/conformance/expressions/asOperator/asOpEmitParens.ts b/tests/cases/conformance/expressions/asOperator/asOpEmitParens.ts new file mode 100644 index 0000000000000..7a97a74168ac0 --- /dev/null +++ b/tests/cases/conformance/expressions/asOperator/asOpEmitParens.ts @@ -0,0 +1,9 @@ +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); diff --git a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts index b81dd26652b0e..0817954c35c5c 100644 --- a/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts +++ b/tests/cases/conformance/expressions/typeGuards/typeGuardsWithInstanceOfByConstructorSignature.ts @@ -13,7 +13,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; } @@ -35,7 +35,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"; @@ -67,7 +67,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; @@ -86,7 +86,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; } @@ -113,7 +113,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; @@ -136,7 +136,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; } @@ -161,7 +161,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; } @@ -183,7 +183,19 @@ 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; +} diff --git a/tests/cases/conformance/jsx/tsxAttributeResolution5.tsx b/tests/cases/conformance/jsx/tsxAttributeResolution5.tsx index dd16ade10e31e..83fb7b32f5620 100644 --- a/tests/cases/conformance/jsx/tsxAttributeResolution5.tsx +++ b/tests/cases/conformance/jsx/tsxAttributeResolution5.tsx @@ -29,4 +29,4 @@ function make3 (obj: T) { ; // Error, missing x -; // OK +; // Error, missing toString diff --git a/tests/cases/conformance/references/library-reference-13.ts b/tests/cases/conformance/references/library-reference-13.ts index 92b4b259ba4a9..419643d9d0d90 100644 --- a/tests/cases/conformance/references/library-reference-13.ts +++ b/tests/cases/conformance/references/library-reference-13.ts @@ -1,5 +1,6 @@ // @noImplicitReferences: true // @traceResolution: true +// @currentDirectory: / // load type declarations from types section of tsconfig diff --git a/tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts b/tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts new file mode 100644 index 0000000000000..dfa60a415f91a --- /dev/null +++ b/tests/cases/conformance/types/any/narrowExceptionVariableInCatchClause.ts @@ -0,0 +1,23 @@ +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; + } + } +} diff --git a/tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts b/tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts new file mode 100644 index 0000000000000..4fbfc46060a80 --- /dev/null +++ b/tests/cases/conformance/types/any/narrowFromAnyWithInstanceof.ts @@ -0,0 +1,23 @@ +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(); +} diff --git a/tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts b/tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts new file mode 100644 index 0000000000000..473bd349b5f91 --- /dev/null +++ b/tests/cases/conformance/types/any/narrowFromAnyWithTypePredicate.ts @@ -0,0 +1,34 @@ +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(); +} diff --git a/tests/cases/conformance/types/literal/booleanLiteralTypes1.ts b/tests/cases/conformance/types/literal/booleanLiteralTypes1.ts new file mode 100644 index 0000000000000..e8ccbde080b07 --- /dev/null +++ b/tests/cases/conformance/types/literal/booleanLiteralTypes1.ts @@ -0,0 +1,95 @@ +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/booleanLiteralTypes2.ts b/tests/cases/conformance/types/literal/booleanLiteralTypes2.ts new file mode 100644 index 0000000000000..e3ba292abdb57 --- /dev/null +++ b/tests/cases/conformance/types/literal/booleanLiteralTypes2.ts @@ -0,0 +1,97 @@ +// @strictNullChecks: true + +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/enumLiteralTypes1.ts b/tests/cases/conformance/types/literal/enumLiteralTypes1.ts new file mode 100644 index 0000000000000..9794b5082b87f --- /dev/null +++ b/tests/cases/conformance/types/literal/enumLiteralTypes1.ts @@ -0,0 +1,113 @@ +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/enumLiteralTypes2.ts b/tests/cases/conformance/types/literal/enumLiteralTypes2.ts new file mode 100644 index 0000000000000..26dd11760cb95 --- /dev/null +++ b/tests/cases/conformance/types/literal/enumLiteralTypes2.ts @@ -0,0 +1,115 @@ +// @strictNullChecks: true + +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/enumLiteralTypes3.ts b/tests/cases/conformance/types/literal/enumLiteralTypes3.ts new file mode 100644 index 0000000000000..11e6b7d3c929c --- /dev/null +++ b/tests/cases/conformance/types/literal/enumLiteralTypes3.ts @@ -0,0 +1,119 @@ +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; +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/literalTypes1.ts b/tests/cases/conformance/types/literal/literalTypes1.ts new file mode 100644 index 0000000000000..b793bba2d34cc --- /dev/null +++ b/tests/cases/conformance/types/literal/literalTypes1.ts @@ -0,0 +1,90 @@ +// @strictNullChecks: true + +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; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/numericLiteralTypes1.ts b/tests/cases/conformance/types/literal/numericLiteralTypes1.ts new file mode 100644 index 0000000000000..76d8265a841c3 --- /dev/null +++ b/tests/cases/conformance/types/literal/numericLiteralTypes1.ts @@ -0,0 +1,139 @@ +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/numericLiteralTypes2.ts b/tests/cases/conformance/types/literal/numericLiteralTypes2.ts new file mode 100644 index 0000000000000..3ab0fd5631fc8 --- /dev/null +++ b/tests/cases/conformance/types/literal/numericLiteralTypes2.ts @@ -0,0 +1,141 @@ +// @strictNullChecks: true + +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); +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/numericLiteralTypes3.ts b/tests/cases/conformance/types/literal/numericLiteralTypes3.ts new file mode 100644 index 0000000000000..5bdbbc0d20e00 --- /dev/null +++ b/tests/cases/conformance/types/literal/numericLiteralTypes3.ts @@ -0,0 +1,100 @@ +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; + } +} \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons01.ts b/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons01.ts new file mode 100644 index 0000000000000..b161660488ce6 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons01.ts @@ -0,0 +1,3 @@ +var a = "foo" === "bar" as string; +var b = "foo" !== ("bar" as string); +var c = "foo" == ("bar"); \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts b/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts new file mode 100644 index 0000000000000..8ab4469055feb --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsAssertionsInEqualityComparisons02.ts @@ -0,0 +1,6 @@ +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); \ No newline at end of file diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts new file mode 100644 index 0000000000000..3179be186ea48 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks01.ts @@ -0,0 +1,22 @@ +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; + diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts new file mode 100644 index 0000000000000..25a687a8941a8 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks02.ts @@ -0,0 +1,22 @@ +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; + diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts new file mode 100644 index 0000000000000..b4fb064818728 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks03.ts @@ -0,0 +1,29 @@ +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; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts new file mode 100644 index 0000000000000..01e1c0896fb2a --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithEqualityChecks04.ts @@ -0,0 +1,29 @@ +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; diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts new file mode 100644 index 0000000000000..b1c1aaa64cae2 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements01.ts @@ -0,0 +1,12 @@ +let x: "foo"; +let y: "foo" | "bar"; + +switch (x) { + case "foo": + break; + case "bar": + break; + case y: + y; + break; +} diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts new file mode 100644 index 0000000000000..d396eb16bed00 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements02.ts @@ -0,0 +1,14 @@ +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"; + diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts new file mode 100644 index 0000000000000..289ffd11060f3 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements03.ts @@ -0,0 +1,26 @@ +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; +} diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts new file mode 100644 index 0000000000000..ee119cd1db544 --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithSwitchStatements04.ts @@ -0,0 +1,21 @@ +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; +} diff --git a/tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts b/tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts new file mode 100644 index 0000000000000..2e3542704129d --- /dev/null +++ b/tests/cases/conformance/types/literal/stringLiteralsWithTypeAssertions01.ts @@ -0,0 +1,8 @@ +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; \ No newline at end of file diff --git a/tests/cases/conformance/typings/typingsLookup1.ts b/tests/cases/conformance/typings/typingsLookup1.ts index 555d4569af34d..150deef992ac1 100644 --- a/tests/cases/conformance/typings/typingsLookup1.ts +++ b/tests/cases/conformance/typings/typingsLookup1.ts @@ -1,5 +1,6 @@ // @traceResolution: true // @noImplicitReferences: true +// @currentDirectory: / // @filename: /tsconfig.json { "files": "a.ts" } diff --git a/tests/cases/conformance/typings/typingsLookup2.ts b/tests/cases/conformance/typings/typingsLookup2.ts new file mode 100644 index 0000000000000..90e1e463f0ab3 --- /dev/null +++ b/tests/cases/conformance/typings/typingsLookup2.ts @@ -0,0 +1,13 @@ +// @traceResolution: true +// @noImplicitReferences: true +// @currentDirectory: / +// This tests that an @types package with `"typings": null` is not automatically included. +// (If it were, this test would break because there are no typings to be found.) + +// @filename: /tsconfig.json +{} + +// @filename: /node_modules/@types/angular2/package.json +{ "typings": null } + +// @filename: /a.ts diff --git a/tests/cases/fourslash/completionEntryForUnionProperty.ts b/tests/cases/fourslash/completionEntryForUnionProperty.ts index e34923eb69ca1..bc0f9405a1ba8 100644 --- a/tests/cases/fourslash/completionEntryForUnionProperty.ts +++ b/tests/cases/fourslash/completionEntryForUnionProperty.ts @@ -15,6 +15,6 @@ ////x./**/ goTo.marker(); -verify.memberListContains("commonProperty", "(property) commonProperty: number | string"); +verify.memberListContains("commonProperty", "(property) commonProperty: string | number"); verify.memberListContains("commonFunction", "(method) commonFunction(): number"); verify.memberListCount(2); \ No newline at end of file diff --git a/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment1.ts b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment1.ts new file mode 100644 index 0000000000000..7faebc1474be0 --- /dev/null +++ b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment1.ts @@ -0,0 +1,24 @@ +/// + +//// export interface Configfiles { +//// jspm: string; +//// 'jspm:browser': string; +//// 'jspm:dev': string; +//// 'jspm:node': string; +//// } + +//// let files: Configfiles; +//// files = { +//// /*0*/: '', +//// '/*1*/': '' +//// } + +goTo.marker('0'); +verify.completionListContains("jspm"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(1); + +goTo.marker('1'); +verify.completionListContains("jspm:dev"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(4); diff --git a/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment2.ts b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment2.ts new file mode 100644 index 0000000000000..4ba88e7dd2aa5 --- /dev/null +++ b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment2.ts @@ -0,0 +1,30 @@ +/// + +//// export interface Config { +//// files: ConfigFiles +//// } + +//// export interface ConfigFiles { +//// jspm: string; +//// 'jspm:browser': string; +//// 'jspm:dev': string; +//// 'jspm:node': string; +//// } + +//// let config: Config; +//// config = { +//// files: { +//// /*0*/: '', +//// '/*1*/': '' +//// } +//// } + +goTo.marker('0'); +verify.completionListContains("jspm"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(1); + +goTo.marker('1'); +verify.completionListContains("jspm:dev"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(4); diff --git a/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment3.ts b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment3.ts new file mode 100644 index 0000000000000..238606520e36b --- /dev/null +++ b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment3.ts @@ -0,0 +1,26 @@ +/// + +//// let configFiles1: { +//// jspm: string; +//// 'jspm:browser': string; +//// } = { +//// /*0*/: "", +//// } + +//// let configFiles2: { +//// jspm: string; +//// 'jspm:browser': string; +//// } = { +//// jspm: "", +//// '/*1*/': "" +//// } + +goTo.marker('0'); +verify.completionListContains("jspm"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(1); + +goTo.marker('1'); +verify.completionListContains("jspm:browser"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(2); diff --git a/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment4.ts b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment4.ts new file mode 100644 index 0000000000000..9855bb8c502d8 --- /dev/null +++ b/tests/cases/fourslash/completionForQuotedPropertyInPropertyAssignment4.ts @@ -0,0 +1,24 @@ +/// + +//// export interface ConfigFiles { +//// jspm: string; +//// 'jspm:browser': string; +//// 'jspm:dev': string; +//// 'jspm:node': string; +//// } + +//// function foo(c: ConfigFiles) {} +//// foo({ +//// j/*0*/: "", +//// "/*1*/": "", +//// }) + +goTo.marker('0'); +verify.completionListContains("jspm"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(1); + +goTo.marker('1'); +verify.completionListContains("jspm:dev"); +verify.completionListAllowsNewIdentifier(); +verify.memberListCount(4); diff --git a/tests/cases/fourslash/completionListEnumMembers.ts b/tests/cases/fourslash/completionListEnumMembers.ts index 4f81af5a84537..48bda280f3f27 100644 --- a/tests/cases/fourslash/completionListEnumMembers.ts +++ b/tests/cases/fourslash/completionListEnumMembers.ts @@ -16,7 +16,7 @@ verify.memberListCount(2); goTo.marker('typeReference'); -verify.memberListCount(0); +verify.memberListCount(2); goTo.marker('enumValueReference'); verify.memberListContains("toString"); diff --git a/tests/cases/fourslash/deleteClassWithEnumPresent.ts b/tests/cases/fourslash/deleteClassWithEnumPresent.ts index 17d2adae0b132..eb40a27bcd7af 100644 --- a/tests/cases/fourslash/deleteClassWithEnumPresent.ts +++ b/tests/cases/fourslash/deleteClassWithEnumPresent.ts @@ -8,7 +8,7 @@ edit.deleteAtCaret('class Bar { }'.length); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Foo", @@ -22,15 +22,15 @@ verify.navigationBar([ "childItems": [ { "text": "a", - "kind": "property" + "kind": "const" }, { "text": "b", - "kind": "property" + "kind": "const" }, { "text": "c", - "kind": "property" + "kind": "const" } ], "indent": 1 diff --git a/tests/cases/fourslash/findAllRefsForUMDModuleAlias1.ts b/tests/cases/fourslash/findAllRefsForUMDModuleAlias1.ts new file mode 100644 index 0000000000000..4177e154532b8 --- /dev/null +++ b/tests/cases/fourslash/findAllRefsForUMDModuleAlias1.ts @@ -0,0 +1,13 @@ +/// + +// @Filename: 0.d.ts +//// export function doThing(): string; +//// export function doTheOtherThing(): void; + +//// export as namespace [|myLib|]; + +// @Filename: 1.ts +//// /// +//// [|myLib|].doThing(); + +verify.rangesReferenceEachOther(); diff --git a/tests/cases/fourslash/formattingJsxElements.ts b/tests/cases/fourslash/formattingJsxElements.ts index e07149960dba9..2b3b396ed4c44 100644 --- a/tests/cases/fourslash/formattingJsxElements.ts +++ b/tests/cases/fourslash/formattingJsxElements.ts @@ -70,7 +70,7 @@ ////
, {integer}
;/*commaInJsxElement2*/ ////);/*closingParenInJsxElement*/ ////) ;/*closingParenInJsxElement2*/ -////;/*jsxExpressionSpaces*/ +////;/*jsxExpressionSpaces*/ ////;/*jsxExpressionSpaces2*/ format.document(); @@ -85,7 +85,7 @@ goTo.marker("indent1"); verify.indentationIs(12); goTo.marker("1"); -verify.currentLineContentIs(' class1= {'); +verify.currentLineContentIs(' class1={'); goTo.marker("2"); verify.currentLineContentIs(' }>'); @@ -95,7 +95,7 @@ goTo.marker("indent2"); verify.indentationIs(12); goTo.marker("3"); -verify.currentLineContentIs(' class2= {'); +verify.currentLineContentIs(' class2={'); goTo.marker("4"); verify.currentLineContentIs(' }>'); @@ -105,9 +105,9 @@ goTo.marker("indent3"); verify.indentationIs(12); goTo.marker("5"); -verify.currentLineContentIs(' class3= {'); +verify.currentLineContentIs(' class3={'); goTo.marker("6"); -verify.currentLineContentIs(' }/>'); +verify.currentLineContentIs(' } />'); goTo.marker("attrAutoformat"); diff --git a/tests/cases/fourslash/genericTypeArgumentInference1.ts b/tests/cases/fourslash/genericTypeArgumentInference1.ts index c8d23ba256574..d8c332449e177 100644 --- a/tests/cases/fourslash/genericTypeArgumentInference1.ts +++ b/tests/cases/fourslash/genericTypeArgumentInference1.ts @@ -18,9 +18,9 @@ ////var /*4*/r4 = _./*41*/all([true], _.identity); goTo.marker('1'); -verify.quickInfoIs('var r: boolean | number | string'); +verify.quickInfoIs('var r: string | number | boolean'); goTo.marker('11'); -verify.quickInfoIs('(method) Underscore.Static.all(list: (boolean | number | string)[], iterator?: Underscore.Iterator, context?: any): boolean | number | string'); +verify.quickInfoIs('(method) Underscore.Static.all(list: (string | number | boolean)[], iterator?: Underscore.Iterator, context?: any): string | number | boolean'); goTo.marker('2'); verify.quickInfoIs('var r2: boolean'); diff --git a/tests/cases/fourslash/genericTypeArgumentInference2.ts b/tests/cases/fourslash/genericTypeArgumentInference2.ts index 2303e3298a311..aaf0d138f2f76 100644 --- a/tests/cases/fourslash/genericTypeArgumentInference2.ts +++ b/tests/cases/fourslash/genericTypeArgumentInference2.ts @@ -18,9 +18,9 @@ ////var /*4*/r4 = _./*41*/all([true], _.identity); goTo.marker('1'); -verify.quickInfoIs('var r: boolean | number | string'); +verify.quickInfoIs('var r: string | number | boolean'); goTo.marker('11'); -verify.quickInfoIs('(method) Underscore.Static.all(list: (boolean | number | string)[], iterator?: Underscore.Iterator, context?: any): boolean | number | string'); +verify.quickInfoIs('(method) Underscore.Static.all(list: (string | number | boolean)[], iterator?: Underscore.Iterator, context?: any): string | number | boolean'); goTo.marker('2'); verify.quickInfoIs('var r2: boolean'); diff --git a/tests/cases/fourslash/getJavaScriptSemanticDiagnostics24.ts b/tests/cases/fourslash/getJavaScriptSemanticDiagnostics24.ts index cf70f883e99f6..987ebf4b79030 100644 --- a/tests/cases/fourslash/getJavaScriptSemanticDiagnostics24.ts +++ b/tests/cases/fourslash/getJavaScriptSemanticDiagnostics24.ts @@ -13,4 +13,4 @@ //// x.canVote/**/; goTo.marker(); -verify.quickInfoIs('(property) Person.canVote: boolean | number'); +verify.quickInfoIs('(property) Person.canVote: number | boolean'); diff --git a/tests/cases/fourslash/getNavigationBarItems.ts b/tests/cases/fourslash/getNavigationBarItems.ts index c3b519fe114d1..8041ba3b46468 100644 --- a/tests/cases/fourslash/getNavigationBarItems.ts +++ b/tests/cases/fourslash/getNavigationBarItems.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "C", diff --git a/tests/cases/fourslash/localGetReferences.ts b/tests/cases/fourslash/localGetReferences.ts index ada4947acde52..b05346a366a4a 100644 --- a/tests/cases/fourslash/localGetReferences.ts +++ b/tests/cases/fourslash/localGetReferences.ts @@ -205,12 +205,13 @@ const rangesByText = test.rangesByText(); for (const text in rangesByText) { const ranges = rangesByText[text]; if (text === "globalVar") { - function isShadow(r) { - return r.marker && r.marker.data && r.marker.data.shadow; - } verify.rangesReferenceEachOther(ranges.filter(isShadow)); verify.rangesReferenceEachOther(ranges.filter(r => !isShadow(r))); } else { verify.rangesReferenceEachOther(ranges); } } + +function isShadow(r) { + return r.marker && r.marker.data && r.marker.data.shadow; +} diff --git a/tests/cases/fourslash/navbar_const.ts b/tests/cases/fourslash/navbar_const.ts index 6ec594a2873f5..faaedb544822b 100644 --- a/tests/cases/fourslash/navbar_const.ts +++ b/tests/cases/fourslash/navbar_const.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/navbar_contains-no-duplicates.ts b/tests/cases/fourslash/navbar_contains-no-duplicates.ts index 10e4027ff84c7..ba48c4a93dd2b 100644 --- a/tests/cases/fourslash/navbar_contains-no-duplicates.ts +++ b/tests/cases/fourslash/navbar_contains-no-duplicates.ts @@ -30,7 +30,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "ABC", diff --git a/tests/cases/fourslash/navbar_let.ts b/tests/cases/fourslash/navbar_let.ts index 7ccd61cdfd679..bd0e702bbf9c8 100644 --- a/tests/cases/fourslash/navbar_let.ts +++ b/tests/cases/fourslash/navbar_let.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts index f15959812fc06..8ede0f07ea00f 100644 --- a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts +++ b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions.ts @@ -29,7 +29,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts index 214a14949ac5e..36b1e07cd8a59 100644 --- a/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts +++ b/tests/cases/fourslash/navigationBarAnonymousClassAndFunctionExpressions2.ts @@ -6,7 +6,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarGetterAndSetter.ts b/tests/cases/fourslash/navigationBarGetterAndSetter.ts index 48105e4e9af3a..3ae2e0f60ac8e 100644 --- a/tests/cases/fourslash/navigationBarGetterAndSetter.ts +++ b/tests/cases/fourslash/navigationBarGetterAndSetter.ts @@ -11,7 +11,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "X", diff --git a/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts b/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts index 849f918f47314..ff1de04c07e16 100644 --- a/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts +++ b/tests/cases/fourslash/navigationBarItemsBindingPatterns.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", diff --git a/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts b/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts index 0ae3e692aa1f8..61e34d0f30ecc 100644 --- a/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts +++ b/tests/cases/fourslash/navigationBarItemsBindingPatternsInConstructor.ts @@ -14,7 +14,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts b/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts index fd534f4c6db5a..2e37f69b4565d 100644 --- a/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsEmptyConstructors.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Test", diff --git a/tests/cases/fourslash/navigationBarItemsFunctions.ts b/tests/cases/fourslash/navigationBarItemsFunctions.ts index f5aa3fb681dd5..b85e898065cfa 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctions.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctions.ts @@ -17,7 +17,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "baz", diff --git a/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts b/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts index 2f17a5006ff5f..b0238a1ef0687 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctionsBroken.ts @@ -7,7 +7,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "f", diff --git a/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts b/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts index f907bdad06719..4f27944610039 100644 --- a/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts +++ b/tests/cases/fourslash/navigationBarItemsFunctionsBroken2.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts index 3af3b351114b1..a49f32d960ea6 100644 --- a/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsInsideMethodsAndConstructors.ts @@ -21,7 +21,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Class", @@ -73,7 +73,7 @@ verify.navigationBar([ "childItems": [ { "text": "LocalEnumMemberInConstructor", - "kind": "property" + "kind": "const" } ], "indent": 3 @@ -113,7 +113,7 @@ verify.navigationBar([ "childItems": [ { "text": "LocalEnumMemberInMethod", - "kind": "property" + "kind": "const" } ], "indent": 3 diff --git a/tests/cases/fourslash/navigationBarItemsItems.ts b/tests/cases/fourslash/navigationBarItemsItems.ts index 87da858173421..e3d8f0e633c87 100644 --- a/tests/cases/fourslash/navigationBarItemsItems.ts +++ b/tests/cases/fourslash/navigationBarItemsItems.ts @@ -42,7 +42,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "dist", @@ -155,15 +155,15 @@ verify.navigationBar([ "childItems": [ { "text": "value1", - "kind": "property" + "kind": "const" }, { "text": "value2", - "kind": "property" + "kind": "const" }, { "text": "value3", - "kind": "property" + "kind": "const" } ], "indent": 2 diff --git a/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts b/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts index 6b85d4816125a..9b8a65d043041 100644 --- a/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts +++ b/tests/cases/fourslash/navigationBarItemsItemsModuleVariables.ts @@ -23,7 +23,7 @@ goTo.marker("file1"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Module1", @@ -49,7 +49,7 @@ goTo.marker("file2"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "Module1.SubModule", diff --git a/tests/cases/fourslash/navigationBarItemsMissingName2.ts b/tests/cases/fourslash/navigationBarItemsMissingName2.ts index a878c5be8455b..9faeb6de9029b 100644 --- a/tests/cases/fourslash/navigationBarItemsMissingName2.ts +++ b/tests/cases/fourslash/navigationBarItemsMissingName2.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "", diff --git a/tests/cases/fourslash/navigationBarItemsModules.ts b/tests/cases/fourslash/navigationBarItemsModules.ts index ec11cd52b942c..a41c75de5509a 100644 --- a/tests/cases/fourslash/navigationBarItemsModules.ts +++ b/tests/cases/fourslash/navigationBarItemsModules.ts @@ -30,7 +30,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "'X2.Y2.Z2'", diff --git a/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts b/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts index 4a29d718f2e0a..dcf8894bb61e3 100644 --- a/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts +++ b/tests/cases/fourslash/navigationBarItemsMultilineStringIdentifiers.ts @@ -27,7 +27,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "\"Multiline\\\nMadness\"", diff --git a/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts b/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts index 0ea7a0745c201..b741084dab5a3 100644 --- a/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts +++ b/tests/cases/fourslash/navigationBarItemsPropertiesDefinedInConstructors.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "List", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols1.ts b/tests/cases/fourslash/navigationBarItemsSymbols1.ts index 53f4c7af445cf..ba57916028b1d 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols1.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols1.ts @@ -9,7 +9,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "C", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols2.ts b/tests/cases/fourslash/navigationBarItemsSymbols2.ts index 2674047f9c059..6812c88c15069 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols2.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols2.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "I", diff --git a/tests/cases/fourslash/navigationBarItemsSymbols3.ts b/tests/cases/fourslash/navigationBarItemsSymbols3.ts index 9564c496dd8d6..661005b86d97a 100644 --- a/tests/cases/fourslash/navigationBarItemsSymbols3.ts +++ b/tests/cases/fourslash/navigationBarItemsSymbols3.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "E", diff --git a/tests/cases/fourslash/navigationBarItemsTypeAlias.ts b/tests/cases/fourslash/navigationBarItemsTypeAlias.ts index 8ff9854ac1634..cba3fb8789c37 100644 --- a/tests/cases/fourslash/navigationBarItemsTypeAlias.ts +++ b/tests/cases/fourslash/navigationBarItemsTypeAlias.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "T", diff --git a/tests/cases/fourslash/navigationBarJsDoc.ts b/tests/cases/fourslash/navigationBarJsDoc.ts index a2d33e216bfb5..89049e6011a9b 100644 --- a/tests/cases/fourslash/navigationBarJsDoc.ts +++ b/tests/cases/fourslash/navigationBarJsDoc.ts @@ -8,7 +8,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "NumberLike", diff --git a/tests/cases/fourslash/navigationBarMerging.ts b/tests/cases/fourslash/navigationBarMerging.ts index 192efe5db44b5..2798d186c96b7 100644 --- a/tests/cases/fourslash/navigationBarMerging.ts +++ b/tests/cases/fourslash/navigationBarMerging.ts @@ -14,7 +14,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -63,7 +63,7 @@ goTo.file("file2.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -104,7 +104,7 @@ goTo.file("file3.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", @@ -150,7 +150,7 @@ goTo.file("file4.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "A", diff --git a/tests/cases/fourslash/navigationBarVariables.ts b/tests/cases/fourslash/navigationBarVariables.ts index 42344c96f73df..93093df130677 100644 --- a/tests/cases/fourslash/navigationBarVariables.ts +++ b/tests/cases/fourslash/navigationBarVariables.ts @@ -7,7 +7,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "x", @@ -34,7 +34,7 @@ goTo.file("file2.ts"); verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "a", diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts index ff843b00db42a..2cbb50bbea7ea 100644 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts +++ b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterInFunction.ts @@ -114,4 +114,4 @@ verifyTypeParameter("U", getFunctionDisplay("foo2", /*instance*/ undefined, stri verifyParameter("a", "U", stringTypeDisplay); // Call -verifyFunctionDisplay("foo2", stringTypeDisplay); \ No newline at end of file +verifyFunctionDisplay("foo2", [{ text: "\"hello\"", kind: "stringLiteral" }]); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterOfFunctionLikeInTypeAlias.ts b/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterOfFunctionLikeInTypeAlias.ts deleted file mode 100644 index 917358fde570b..0000000000000 --- a/tests/cases/fourslash/quickInfoDisplayPartsTypeParameterOfFunctionLikeInTypeAlias.ts +++ /dev/null @@ -1,41 +0,0 @@ -/// - -//// type jamming
= new () => jamming; -//// type jamming = (new () => jamming) & { constructor: /*2*/A }; -//// type jamming = new () => jamming & { constructor: /*3*/A }; - -let typeAliashDisplayParts = [{ text: "type", kind: "keyword" }, { text: " ", kind: "space" }, { text: "jamming", kind: "aliasName" }, - { text: "<", kind: "punctuation" }, { text: "A", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }]; - -let typeParameterDisplayParts = [{ 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" }]; - -let constructorTypeDisplayParts = [{ text: "<", kind: "punctuation" }, { text: "A", kind: "typeParameterName" }, { text: ">", kind: "punctuation" }, - { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, { text: ":", kind: "punctuation" }, { text: " ", kind: "space" }, - { text: "new", kind: "keyword" }, { "text": " ", kind: "space" }, { text: "<", kind: "punctuation" }, { text: "A", kind: "typeParameterName" }, - { text: ">", kind: "punctuation" }, { text: "(", kind: "punctuation" }, { text: ")", kind: "punctuation" }, {"text": " ", kind: "space" }, - { text: "=>", kind: "punctuation" }, { "text": " ", kind: "space" }, { text: "jamming", kind: "aliasName" }]; - -let constructorTypeWithLongReturnTypeDisplayParts = [{ "text": "<", kind: "punctuation" }, { "text": "A", kind: "typeParameterName" }, { "text": ">", kind: "punctuation" }, - { "text": "(", kind: "punctuation" }, { "text": ")", kind: "punctuation" }, { "text": ":", kind: "punctuation" }, { "text": " ", kind: "space" }, { "text": "(", kind: "punctuation" }, - { "text": "new", kind: "keyword" }, { "text": " ", kind: "space" }, { "text": "<", kind: "punctuation" }, { "text": "A", kind: "typeParameterName" }, { "text": ">", kind: "punctuation" }, - { "text": "(", kind: "punctuation" }, { "text": ")", kind: "punctuation" }, { "text": " ", kind: "space" }, { "text": "=>", kind: "punctuation" }, { "text": " ", kind: "space" }, - { "text": "jamming", kind: "aliasName" }, { "text": ")", kind: "punctuation" }, { "text": " ", kind: "space" }, { "text": "&", kind: "punctuation" }, { "text": " ", kind: "space" }, - { "text": "{", kind: "punctuation" }, { "text": "\n", kind: "lineBreak" }, { "text": " ", kind: "space" }, { "text": "constructor", kind: "propertyName" }, { "text": ":", kind: "punctuation" }, - { "text": " ", kind: "space" }, { "text": "A", kind: "typeParameterName" }, {"text":";", kind: "punctuation" }, {"text":"\n", kind: "lineBreak" }, {"text":"}", kind: "punctuation" }]; - -goTo.marker('0'); -verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("0").position, length: "A".length }, - typeParameterDisplayParts.concat(constructorTypeDisplayParts), []); - -goTo.marker('1'); -verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("1").position, length: "A".length }, - typeParameterDisplayParts.concat(constructorTypeDisplayParts), []); - -goTo.marker('2'); -verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("2").position, length: "A".length }, - typeParameterDisplayParts.concat(typeAliashDisplayParts), []); - -goTo.marker('3'); -verify.verifyQuickInfoDisplayParts("type parameter", "", { start: test.markerByName("3").position, length: "A".length }, - typeParameterDisplayParts.concat(constructorTypeWithLongReturnTypeDisplayParts), []); \ No newline at end of file diff --git a/tests/cases/fourslash/quickInfoForUMDModuleAlias.ts b/tests/cases/fourslash/quickInfoForUMDModuleAlias.ts new file mode 100644 index 0000000000000..085ea33b87446 --- /dev/null +++ b/tests/cases/fourslash/quickInfoForUMDModuleAlias.ts @@ -0,0 +1,17 @@ +/// + +// @Filename: 0.d.ts +//// export function doThing(): string; +//// export function doTheOtherThing(): void; + +//// export as namespace /*0*/myLib; + +// @Filename: 1.ts +//// /// +//// /*1*/myLib.doThing(); + +goTo.marker("0"); +verify.quickInfoIs("export namespace myLib"); + +goTo.marker("1"); +verify.quickInfoIs("export namespace myLib"); diff --git a/tests/cases/fourslash/quickinfoForUnionProperty.ts b/tests/cases/fourslash/quickinfoForUnionProperty.ts index 4cb87b3b3f81c..5292eb6c2c889 100644 --- a/tests/cases/fourslash/quickinfoForUnionProperty.ts +++ b/tests/cases/fourslash/quickinfoForUnionProperty.ts @@ -21,7 +21,7 @@ verify.quickInfoIs('var x: One | Two'); goTo.marker("2"); -verify.quickInfoIs('(property) commonProperty: number | string'); +verify.quickInfoIs('(property) commonProperty: string | number'); goTo.marker("3"); verify.quickInfoIs('(method) commonFunction(): number'); diff --git a/tests/cases/fourslash/renameAlias.ts b/tests/cases/fourslash/renameAlias.ts index e3f57ac7b4182..e0408af656fc3 100644 --- a/tests/cases/fourslash/renameAlias.ts +++ b/tests/cases/fourslash/renameAlias.ts @@ -4,8 +4,8 @@ ////import [|M|] = SomeModule; ////import C = [|M|].SomeClass; -let ranges = test.ranges() -for (let range of ranges) { - goTo.position(range.start); - verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); +let ranges = test.ranges() +for (let range of ranges) { + goTo.position(range.start); + verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); } \ No newline at end of file diff --git a/tests/cases/fourslash/renameUMDModuleAlias1.ts b/tests/cases/fourslash/renameUMDModuleAlias1.ts new file mode 100644 index 0000000000000..94aabcdbde522 --- /dev/null +++ b/tests/cases/fourslash/renameUMDModuleAlias1.ts @@ -0,0 +1,17 @@ +/// + +// @Filename: 0.d.ts +//// export function doThing(): string; +//// export function doTheOtherThing(): void; + +//// export as namespace [|myLib|]; + +// @Filename: 1.ts +//// /// +//// [|myLib|].doThing(); + +const ranges = test.ranges() +for (const range of ranges) { + goTo.position(range.start); + verify.renameLocations(/*findInStrings*/ false, /*findInComments*/ false); +} \ No newline at end of file diff --git a/tests/cases/fourslash/renameUMDModuleAlias2.ts b/tests/cases/fourslash/renameUMDModuleAlias2.ts new file mode 100644 index 0000000000000..0daa4087b0d61 --- /dev/null +++ b/tests/cases/fourslash/renameUMDModuleAlias2.ts @@ -0,0 +1,14 @@ +/// + +// @Filename: 0.d.ts +//// export function doThing(): string; +//// export function doTheOtherThing(): void; + +//// export as namespace /**/[|myLib|]; + +// @Filename: 1.ts +//// /// +//// myLib.doThing(); + +goTo.marker(); +verify.renameInfoSucceeded("myLib"); \ No newline at end of file diff --git a/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts b/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts index 1c617091f4c27..978db18ab3b80 100644 --- a/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts +++ b/tests/cases/fourslash/server/jsdocTypedefTagNavigateTo.ts @@ -13,7 +13,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "numberLike", diff --git a/tests/cases/fourslash/server/navbar01.ts b/tests/cases/fourslash/server/navbar01.ts index 9e0f2a363966e..a5b22ee1fa99a 100644 --- a/tests/cases/fourslash/server/navbar01.ts +++ b/tests/cases/fourslash/server/navbar01.ts @@ -41,7 +41,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "dist", @@ -154,15 +154,15 @@ verify.navigationBar([ "childItems": [ { "text": "value1", - "kind": "property" + "kind": "const" }, { "text": "value2", - "kind": "property" + "kind": "const" }, { "text": "value3", - "kind": "property" + "kind": "const" } ], "indent": 2 diff --git a/tests/cases/fourslash/server/quickinfo01.ts b/tests/cases/fourslash/server/quickinfo01.ts index e04175f76bc19..9008505e4476d 100644 --- a/tests/cases/fourslash/server/quickinfo01.ts +++ b/tests/cases/fourslash/server/quickinfo01.ts @@ -21,7 +21,7 @@ verify.quickInfoIs('var x: One | Two'); goTo.marker("2"); -verify.quickInfoIs('(property) commonProperty: number | string'); +verify.quickInfoIs('(property) commonProperty: string | number'); goTo.marker("3"); verify.quickInfoIs('(method) commonFunction(): number'); diff --git a/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts b/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts index b06d782d8bf4c..fba24bdcf7787 100644 --- a/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts +++ b/tests/cases/fourslash/shims-pp/getNavigationBarItems.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/shims/getNavigationBarItems.ts b/tests/cases/fourslash/shims/getNavigationBarItems.ts index b06d782d8bf4c..fba24bdcf7787 100644 --- a/tests/cases/fourslash/shims/getNavigationBarItems.ts +++ b/tests/cases/fourslash/shims/getNavigationBarItems.ts @@ -5,7 +5,7 @@ verify.navigationBar([ { "text": "", - "kind": "module", + "kind": "script", "childItems": [ { "text": "c", diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts index 3843ed34b16c9..b919afc770398 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags3.ts @@ -1,8 +1,8 @@ /// -//// function f(templateStrings: string[], p1_o1: string): number; -//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string; -//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean; +//// function f(templateStrings: TemplateStringsArray, p1_o1: string): number; +//// function f(templateStrings: TemplateStringsArray, p1_o2: number, p2_o2: number, p3_o2: number): string; +//// function f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean; //// function f(...foo[]: any) { return ""; } //// //// f `${/*1*/ "s/*2*/tring" /*3*/ } ${ @@ -14,7 +14,7 @@ test.markers().forEach(m => { verify.signatureHelpArgumentCountIs(3); verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); + verify.currentSignatureHelpIs('f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); verify.currentParameterHelpArgumentNameIs("p1_o3"); verify.currentParameterSpanIs("p1_o3: string"); }); \ No newline at end of file diff --git a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts index 9a24aacf86bdf..5f706b8c0fa5c 100644 --- a/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts +++ b/tests/cases/fourslash/signatureHelpTaggedTemplatesWithOverloadedTags7.ts @@ -1,8 +1,8 @@ /// -//// function f(templateStrings: string[], p1_o1: string): number; -//// function f(templateStrings: string[], p1_o2: number, p2_o2: number, p3_o2: number): string; -//// function f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean; +//// function f(templateStrings: TemplateStringsArray, p1_o1: string): number; +//// function f(templateStrings: TemplateStringsArray, p1_o2: number, p2_o2: number, p3_o2: number): string; +//// function f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean; //// function f(...foo[]: any) { return ""; } //// //// f `${ } ${/*1*/ fa/*2*/lse /*3*/} @@ -14,7 +14,7 @@ test.markers().forEach(m => { verify.signatureHelpArgumentCountIs(3); verify.currentSignatureParameterCountIs(4); - verify.currentSignatureHelpIs('f(templateStrings: string[], p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); + verify.currentSignatureHelpIs('f(templateStrings: TemplateStringsArray, p1_o3: string, p2_o3: boolean, p3_o3: number): boolean'); verify.currentParameterHelpArgumentNameIs("p2_o3"); verify.currentParameterSpanIs("p2_o3: boolean"); }); \ No newline at end of file diff --git a/tests/perfsys.ts b/tests/perfsys.ts index 143d0d637d427..abe09c88a0fa8 100644 --- a/tests/perfsys.ts +++ b/tests/perfsys.ts @@ -1,8 +1,7 @@ /// /// -module perftest { - +namespace perftest { interface IOLog { resolvePath: ts.Map; fileNames: string[]; @@ -12,20 +11,20 @@ module perftest { getOut(): string; } - export var readFile = ts.sys.readFile; - var writeFile = ts.sys.writeFile; - export var write = ts.sys.write; - var resolvePath = ts.sys.resolvePath; - export var getExecutingFilePath = ts.sys.getExecutingFilePath; - export var getCurrentDirectory = ts.sys.getCurrentDirectory; - var exit = ts.sys.exit; + export const readFile = ts.sys.readFile; + const writeFile = ts.sys.writeFile; + export const write = ts.sys.write; + const resolvePath = ts.sys.resolvePath; + export const getExecutingFilePath = ts.sys.getExecutingFilePath; + export const getCurrentDirectory = ts.sys.getCurrentDirectory; + // const exit = ts.sys.exit; - var args = ts.sys.args; + const args = ts.sys.args; // augment sys so first ts.executeCommandLine call will be finish silently ts.sys.write = (s: string) => { }; ts.sys.exit = (code: number) => { }; - ts.sys.args = [] + ts.sys.args = []; export function restoreSys() { ts.sys.args = args; @@ -44,19 +43,19 @@ module perftest { return args.slice(1); } - var resolvePathLog: ts.Map = {}; - + const resolvePathLog: ts.Map = {}; + export function interceptIO() { ts.sys.resolvePath = (s) => { - var result = resolvePath(s); + const result = resolvePath(s); resolvePathLog[s] = result; return result; }; } export function writeIOLog(fileNames: string[]) { - var path = args[1]; - var log: IOLog = { + const path = args[1]; + const log: IOLog = { fileNames: fileNames, resolvePath: resolvePathLog }; @@ -65,36 +64,36 @@ module perftest { } export function prepare(): IO { - var log = JSON.parse(readFile(args[0])); + const log = JSON.parse(readFile(args[0])); + + const files: ts.Map = {}; + log.fileNames.forEach(f => { files[f] = readFile(f); }); - var files: ts.Map = {}; - log.fileNames.forEach(f => { files[f] = readFile(f); }) - ts.sys.createDirectory = (s: string) => { }; ts.sys.directoryExists = (s: string) => true; ts.sys.fileExists = (s: string) => true; - var currentDirectory = ts.sys.getCurrentDirectory(); + const currentDirectory = ts.sys.getCurrentDirectory(); ts.sys.getCurrentDirectory = () => currentDirectory; - var executingFilePath = ts.sys.getExecutingFilePath(); + const executingFilePath = ts.sys.getExecutingFilePath(); ts.sys.getExecutingFilePath = () => executingFilePath; ts.sys.readFile = (s: string) => { return files[s]; - } + }; ts.sys.resolvePath = (s: string) => { - var path = log.resolvePath[s]; + const path = log.resolvePath[s]; if (!path) { throw new Error("Unexpected path '" + s + "'"); } - return path - } + return path; + }; ts.sys.writeFile = (path: string, data: string) => { }; - var out: string = ""; + let out = ""; ts.sys.write = (s: string) => { out += s; }; diff --git a/tests/perftsc.ts b/tests/perftsc.ts index 89bff1cc00644..0753023853ee9 100644 --- a/tests/perftsc.ts +++ b/tests/perftsc.ts @@ -5,9 +5,9 @@ if (perftest.hasLogIOFlag()) { perftest.interceptIO(); - var compilerHost: ts.CompilerHost = { + const compilerHost: ts.CompilerHost = { getSourceFile: (s, v) => { - var content = perftest.readFile(s); + const content = perftest.readFile(s); return content !== undefined ? ts.createSourceFile(s, content, v) : undefined; }, getDefaultLibFileName: () => ts.combinePaths(ts.getDirectoryPath(ts.normalizePath(perftest.getExecutingFilePath())), "lib.d.ts"), @@ -18,13 +18,13 @@ if (perftest.hasLogIOFlag()) { getNewLine: () => ts.sys.newLine }; - var commandLine = ts.parseCommandLine(perftest.getArgsWithoutLogIOFlag()); - var program = ts.createProgram(commandLine.fileNames, commandLine.options, compilerHost); - var fileNames = program.getSourceFiles().map(f => f.fileName); + const commandLine = ts.parseCommandLine(perftest.getArgsWithoutLogIOFlag()); + const program = ts.createProgram(commandLine.fileNames, commandLine.options, compilerHost); + const fileNames = program.getSourceFiles().map(f => f.fileName); perftest.writeIOLog(fileNames); } else { - var io = perftest.prepare(); + const io = perftest.prepare(); ts.executeCommandLine(perftest.getArgsWithoutIOLogFile()); perftest.write(io.getOut()); } diff --git a/tests/webTestResults.html b/tests/webTestResults.html index 2993681934eb5..9c403248f94a5 100644 --- a/tests/webTestResults.html +++ b/tests/webTestResults.html @@ -3,22 +3,23 @@ Mocha Tests + -
+
- - + +
- +
- +
- +