* Remove check narrowing only certain types, add test showing issues with this * string literal case test * Reconcile fix with CFA work * Defaultable -> NotNarrowable to align with use * Missed a defaultable in comments * Add test for narrowing to unions of string literals * Rewrite isInStringLiteral to accomodate for unterminated strings * Refactor signatureHelp to expose helper functions * Add support for completion in string literals * Remove unused check * Use const instead of let * Fix error * Formatting changes * Use shorthand properties * Add failing test for #8738 * Sort baseline reference identifier by name * Detects assignment to internal module export clause, fixes #8738 * add SharedArrayBuffer fix * Factor out assignment op check * Add test for composite assignment * Factor out the behaviour and handles x++ and ++x * Handles ES3 default as identifier name * Fix missing else statement * isNameOfExportedDeclarationInNonES6Module * Reorder options alphabetically * Mark diagnostics, and skipDefaultLibCheck as internal * Allow an import of "foo.js" to be matched by a file "foo.ts" * Improve loadModuleFromFile code * Respond to PR comments * Respond to more PR comments * Fix test * Actually merge from master * Revert to old tryLoad implementation * Run fixupParentReferences when parsing isolated jsDocComment * initial revision of unit test support for project system in tsserver * Allow wildcard ("*") patterns in ambient module declarations * Add non-widening forms of null and undefined * Create separate control flows for property declarations with initializers * Add regression test * Allow trailing commas in function parameter and argument lists * Add tests * Remove unused variable * Add null check and CR feedback * Support shorthand ambient module declarations * Revert "Merge pull request #7235 from weswigham/narrow-all-types" This reverts commitef0f6c8fe4
, reversing changes made to9f087cb62a
. * reuse the fixupParentReferences function * Improve typing of && operator with --strictNullChecks * Add test * Respond to PR comments * Respond to PR comments * Add merging tests * Use a function `stringify` to simplify calls to `JSON.stringify(xyz, undefined, 2)` * Update tests * Fix mistake * Include indent in navigation bar protocol Previously navbar01 test had indents when run in the browser but not when run from node. Now they run the same. * Remove unnecessary restrictions in property access narrowing * Fix fourslash test * Add regression test * Consider property declarations to be control flow containers * Adding regression test * Remove restriction on --target es5 and --module es6 * change type definition for Object.create * Fix signature help * Add "implicit any" warning for shorthand ambient modules * Remove trailing whitespace * Support using string values in enums for CompilerOptions in transpile methods * Remove trailing whitespace in jakefile * Make `jake runtests-browser` support test regexes with spaces For example: `jake runtests-browser t="transpile .js files"` now works. * Add another test * factor out isJsxOrTsxExtension * Move to a conformance test * Revert "Revert "Merge pull request #7235 from weswigham/narrow-all-types"" This reverts commitfc3e040c51
. * Use inclusive flag, as originally done, but include almost everything * Add additional tests * Respond to PR comments * Fix typo * add tests for tsserver project system * Fix test * Allow case comparison to undefined and null in strict null checking mode * Remove incorrectly added tests * check if moduleResolution when verifying that program can be reused * more tests for module resolution change and exclude * Fix linting issues * Merge JSDoc of assignments from function expressions * Allow nested assignments in type guards * Add tests * Improve order of parameter's merged jsdoc * Force LF newlines for LKG builds/non debug builds Fixes 6630 * Create intersection types in type guards for unrelated types * Split commentsFunction test into expr/decl And renumber. * Remove TODO comments * Accept new baselines * Add tests * Remove comments * Fix test helper * Recognize relative path using in outDir property (#9025) * Recognize relative path using in outDir property * Add projects tests * Add project .json files * Update baselines * Add comments * Add test case The test passes in 1.8 and fails in master. * Return trace when exception happens * Remove Long-Done TODO AFAIK, the harness sources have been concatenated into `run.js` for as long as I've known. This stops executing them twice (and in turn makes debugging tests much easier, since you no longer have to debug into eval'd code). * Allow primitive type guards with typeof on right Previously, only type guards of the form `typeof x === 'string'` were allowed. Now you can write `'string' === typeof x`. * Primitive type guards are now order independent * Fix comments in tests * Add handleing for classes * Add more tests for target=es5 module=es6 * addExportToArgumentListKind * Accept baseline * Add more tests * Adds progress indicators to the runtests-parallel build task. * Fixed typo * Fix comment * Add test for out-of-range error * Use proper method of not resolving alias * Fix module loading error (commandLineOptions_stringToEnum would be undefined if optionDeclarations wasn't loaded yet) * Update tests * Contextually type return statement in async function * Remove stale files * Undo change * Improve perf * Improve tests * Fix sourcemaps for debugging tests * Allow --sourceRoot with --inlineSources option Fixes #8445 * this in parameter initializers resolves to class Accept baselines now that the test passes. * Add tests for more kinds of import/export * Fix7334 Disallow async in functionExpression and ArrowFunction (#9062) * Error when using async modifier in function-expression and arrow-function when target es5 * Add tests and baselines * Resolve function-this in parameter initialisers when explicitly provided * Allow null/undefined guard with null/undefined on left Also add a test with baselines. * Code review comments * Update more diagnostic messages ES6->2015 Fix #8996 CC @mhegazy. * Fixes an issue with runtests-parallel when global mocha is not installed. * Update LKG * Add tests * fix baselines * Salsa: get members of variables whose initialisers are functions * Test adding members to JS variables whose initialisers are functions * Recommend runtests-parallel in CONTRIBUTING * Allow empty lists on command line * Remove single-comma empty array form * Remove trailing whitespace * Implicit type inclusion changes * Only inlineSourceMap when debugging through jake-browser (#9080) * Only inlineSourceMap when debugging through jake-browser * Address PR: fix typo in opt's property * minor fix: add missing return clause * Use camel-case instead of snake-case (#9134) * Baseline fix, CR comments, lint * CR changes * Add test for jsdoc in navigation bar * Fixes runtests-parallel not reporting failure for failed tests. * Fix decorator metadata emit for rest arg with no type * Add isDefinition to ReferenceEntry Clients can now easily tell if the reference is to a definition or a usage. * Test isDefinition * Add option to bail out of `jake runtests` when one test fails * Absolute-ify paths in both places * Refactor * Add unit test * lint * Added tests. * Accepted baselines. * Emit 'exports.' if the shorthand is a general export. * Accepted baselines. * Emit 'Promise' decorator metadata return type for async methods * Respond to PR comment * Unescape identifiers used in code completion * Make isDefinition required. For the deprecated getOccurrencesAtPosition, isDefinition is always false. * Add more isDefinition tests and fix computed property bug * Fix bug: do unescaping in the right place, so that it only affects escaped javascript identifiers * Use `isLiteralComputedPropertyDeclarationName`
29 lines
885 B
Plaintext
29 lines
885 B
Plaintext
=== /test/foo.ts ===
|
|
/// <reference types="alpha" />
|
|
/// <reference types="beta" />
|
|
var x: string = alpha.a + beta.b;
|
|
>x : Symbol(x, Decl(foo.ts, 2, 3))
|
|
>alpha.a : Symbol(a, Decl(index.d.ts, 4, 20))
|
|
>alpha : Symbol(alpha, Decl(index.d.ts, 4, 11))
|
|
>a : Symbol(a, Decl(index.d.ts, 4, 20))
|
|
>beta.b : Symbol(b, Decl(index.d.ts, 1, 19))
|
|
>beta : Symbol(beta, Decl(index.d.ts, 1, 11))
|
|
>b : Symbol(b, Decl(index.d.ts, 1, 19))
|
|
|
|
|
|
=== /test/types/alpha/index.d.ts ===
|
|
|
|
// Don't crash in circular library reference situations
|
|
|
|
/// <reference types="beta" />
|
|
declare var alpha: { a: string };
|
|
>alpha : Symbol(alpha, Decl(index.d.ts, 4, 11))
|
|
>a : Symbol(a, Decl(index.d.ts, 4, 20))
|
|
|
|
=== /test/types/beta/index.d.ts ===
|
|
/// <reference types="alpha" />
|
|
declare var beta: { b: string };
|
|
>beta : Symbol(beta, Decl(index.d.ts, 1, 11))
|
|
>b : Symbol(b, Decl(index.d.ts, 1, 19))
|
|
|