Commit Graph
8441 Commits
Author SHA1 Message Date
Anders Hejlsberg 077bd1afd1 Add regression test 2018-10-08 10:00:15 -07:00
Nathan Shively-Sanders a4a5b3806e Report circular JSDoc type references (#27404)
JSDoc types references can often be to values, which can often be
circular in ways that types tied to declarations cannot. I decided to
create a separate property on SymbolLinks rather than reusing
declaredType, although I'm not sure that's strictly required.
2018-10-08 08:56:29 -07:00
Daniel Rosenwasser 8474949336 Merge pull request #27203 from sbaidon/signatureHelpInAdjacentBlockBody
Fix signature help not showing in block body bug
2018-10-07 23:07:59 -07:00
Ron Buckton 85a3475df8 Merge pull request #26707 from mprobst/async-super-rename-safe
Per-property super accessors in async functions.
2018-10-05 17:20:21 -07:00
Wesley Wigham 6175e60fec Formatting a union should not create a 1-element union type node (#27582) 2018-10-05 16:11:47 -07:00
Wesley Wigham 07dbd8be21 Discriminate jsx contextual types same as object contextual types (#27408)
* Discriminate jsx contextual types same as object contextual types

* Extract core discrimination algorithm to getDiscriminationResultForProperty

* Merge all discrimination implementations

* Fix lints
2018-10-05 15:11:12 -07:00
Wesley Wigham 4ad6541646 Store and check deferred nodes by containing file (#27378) 2018-10-05 14:40:09 -07:00
Nathan Shively-Sanders c080324974 Elt access assignment uses declared, not narrowed type (#27574)
I forgot to do this in #26424.

Fixes #27557
Fixes #27412
2018-10-05 11:30:10 -07:00
Wesley Wigham e1d346ea53 Infer tuples for jsx children if contextually typed by a tuple (#27409) 2018-10-04 17:56:38 -07:00
Wesley Wigham 10edf6fa58 Widen export assignment types so they arent accidentally fresh (#27397) 2018-10-04 14:27:19 -07:00
Nathan Shively-Sanders 04266aa617 narrowTypeByInstanceof understands ctor funcs (#27551)
* narrowTypeByInstanceof understands ctor funcs

* Rename test filename

* Fix whitespace lint
2018-10-04 13:52:38 -07:00
Wesley Wigham f07404938f Replace subtype check in derivedness check with flags and structure checks (#27403)
* Replace subtype check in derivedness check with flags and structure checks

* Remove now extraneous clause
2018-10-04 12:55:39 -07:00
Andy 62306bc3f9 Fix git submodule update syntax (#27549) 2018-10-04 09:03:20 -07:00
Martin Probst 539c455942 Rename to _superIndex to test conflict
Change-Id: I30af09343446126ba73ed40199ecc3f0ed515b3e
2018-10-04 08:07:42 +02:00
Andy 9bdd6a3b55 Support loading "index.d.ts" using "typesVersions" without "types", "typings", or "main" (#27514)
* Support loading "index.d.ts" using "typesVersions" without "types", "typings", or "main"

* Update baseline
2018-10-03 11:44:16 -07:00
Anders Hejlsberg 81f8b47e5f Merge pull request #27370 from Microsoft/fixInstanceOfFunction
Fix instanceof with type Function for right argument
2018-10-03 10:59:50 -07:00
Anders Hejlsberg 9851d6f457 Merge pull request #27490 from Microsoft/indexedAccessConstraint
Limit unsound indexed access type relations
2018-10-03 10:58:45 -07:00
Martin Probst f0826cfeaa Per-property super accessors in async functions.
TypeScript must hoist accessors for super properties when converting
async method bodies to the `__awaiter` pattern for targets before
ES2016.

Previously, TypeScript would reify all property accesses into element
accesses, i.e. convert the property name into a string parameter and
pass it to `super[...]`. That breaks optimizers like Closure Compiler or
Uglify in advanced mode, when property renaming is enabled, as it mixes
quoted and un-quoted property access (`super['x']` vs just `x` at the
declaration site).

This change creates a variable `_superProps` that contains accessors for
each property accessed on super within the async method. This allows
accessing the properties by name (instead of quoted string), which fixes
the quoted/unquoted confusion. The change keeps the generic accessor for
element access statements to match quoting behaviour.

Fixes #21088.
2018-10-03 15:46:04 +02:00
Wesley Wigham 1e55d650f3 Exclude the overlap between Type and Value when checking for parameter visibility (#27444) 2018-10-02 09:41:06 -07:00
Anders Hejlsberg 34994627f0 Add tests 2018-10-01 16:21:35 -07:00
Ryan Cavanaugh 70e26fc701 Merge pull request #27447 from mattmccutchen/issue-27117
Don't complain about `modules` and `outFile` options when `emitDeclarationOnly` is set.
2018-10-01 15:50:08 -07:00
Ryan Cavanaugh 3331d073c4 Merge pull request #26070 from ajafff/tuple-rest
Infer array rest as tuple if possible
2018-10-01 13:56:28 -07:00
Andy 8feddcd16d Clean up amalgamatedDuplicates (#27285)
* Clean up amalgamatedDuplicates

* Code review
2018-10-01 12:16:49 -07:00
Matt McCutchen 32e75e7ae7 Don't complain about modules and outFile options when
`emitDeclarationOnly` is set.

Fixes #27117.
2018-09-28 21:07:48 -04:00
Nathan Shively-Sanders 6d92a2942f Fix parent points in unreachable code (#27400) (#27406)
In the binder, unreachable code mistakenly skips the `bindJSDoc` call in
`bindChildrenWorker`, which sets parent pointers. The fix is to call
`bindJSDoc` in the case of unreachable code as well.
2018-09-28 08:31:56 -07:00
Wesley Wigham 26eb6ab6f4 Primitives should not be instanceof... anything (#27402) 2018-09-27 15:49:51 -07:00
Ron Buckton 9cf201c512 Merge pull request #27204 from Microsoft/fixPerIteration
Fix per-iteration bindings in for-loop head
2018-09-27 13:23:03 -07:00
Andy 0a97663843 Add 'prefixText' and 'suffixText' when renaming shorthand properties (#27356)
* Add 'prefixText' and 'suffixText' when renaming shorthand properties

* Make prefixText and suffixText missing instead of undefined

* Fix test
2018-09-26 16:58:01 -07:00
Anders Hejlsberg d7219b21c2 Merge pull request #27357 from Microsoft/fixBivariantInferences
Make contravariant inferences only from pure contravariant positions
2018-09-26 14:03:59 -07:00
Nathan Shively-Sanders 98ec1e8730 Fix commonjs export= merging (#27368) (#27371)
I'm surprised we haven't seen more of this; I suspect it's because the
mixed `module.exports=` + `export.foo=` pattern isn't that common.
However, it'll happen any time that the exported symbol is unknown;
getCommonJsExportEquals blithely clones unknownSymbol and proceeds to
stick the `exports.foo=` properties onto it.

This causes problems later, because the compiler checks for
unknownSymbol with `===`. The fix is to not stick properties onto a
clone of unknownSymbol. This makes the correct errors appear and removes
the crash.
2018-09-26 12:40:30 -07:00
Andy 4855920314 navigationBar/Tree: Better description for anonymous function (#27063) 2018-09-26 11:22:44 -07:00
Andy b3dd471584 Support completions after 'async' in object literal (#27250) 2018-09-26 11:22:27 -07:00
Andy d4d947e488 Fix bug: Allow completions after '@' with no contextToken (#27325) 2018-09-26 11:22:08 -07:00
Sheetal Nandi 1a63c67e8a Merge pull request #27260 from valera-rozuvan/fix-27086
Fix 27086. Ignore directories starting with a dot.
2018-09-26 11:11:37 -07:00
Anders Hejlsberg 32ea3b2cb0 Add regression test 2018-09-26 11:09:19 -07:00
Nathan Shively-Sanders 4fac5f26dc Fix crash in use-before-def checking of enum tag (#27350) (#27354) 2018-09-26 09:05:18 -07:00
Anders Hejlsberg 4bb5cfb9bb Add regression test 2018-09-25 18:17:21 -07:00
Anders Hejlsberg e36957aba1 Merge pull request #27028 from Microsoft/typedBindCallApply
Strict bind, call, and apply methods on functions
2018-09-24 18:20:05 -07:00
Wesley Wigham 8e1cce4b8f Add regression test for #25485 as it is already fixed (#27320) 2018-09-24 17:52:52 -07:00
Anders Hejlsberg 5510e0755e Merge branch 'master' into typedBindCallApply
# Conflicts:
#	tests/baselines/reference/tsxTypeArgumentPartialDefinitionStillErrors.errors.txt
#	tests/baselines/reference/wrappedAndRecursiveConstraints4.errors.txt
2018-09-24 16:38:39 -07:00
Ron Buckton b8cf9d4f94 Fixes the completionForStringLiteralNonrelativeImport13 test 2018-09-24 16:17:40 -07:00
Wesley Wigham e1c8dc2768 Limit the narrow-to-fresh rule added with boolean literals to only boolean literals (#27274)
* Remove the narrow-to-fresh rule added with boolean literals

* Revert "Remove the narrow-to-fresh rule added with boolean literals"

This reverts commit 9f96fe5da3.

* Only apply freshness to booleans for now

* Add largeish example from issue

* Should be AND not OR

* Add minor improvements suggested by @ahejelsberg

* Reorder conditional a bit
2018-09-24 12:37:13 -07:00
Wesley Wigham b7fc092404 Fix non-selfclosing JSX tag contextual types (#27251) 2018-09-24 10:38:39 -07:00
Valera Rozuvan 8bd7f4e3f8 Fix 27086. Ignore directories starting with a dot. 2018-09-23 14:48:48 +03:00
Ron Buckton 5fb39769ad Merge pull request #27271 from Microsoft/fix24570-3
Fix iterated type in for-await-of
2018-09-21 12:28:18 -07:00
Ron Buckton 112fe6e2cc Fix iterated type in for-await-of 2018-09-21 10:40:45 -07:00
Ron Buckton 3a4d0b237f Add more tests for await 2018-09-21 10:32:28 -07:00
Ron Buckton 63adc5fb40 Add contextual typing for await operand 2018-09-21 10:32:18 -07:00
Ron Buckton 80dba4d63b Support promise-like types in contextual return type of async function 2018-09-21 10:32:00 -07:00
Wesley Wigham 219bb44b4d Distribute indexes of indexed access types first (#27243) 2018-09-20 17:03:34 -07:00