1720 Commits

Author SHA1 Message Date
Wesley Wigham
26caa3793e
Introduce flattened error reporting for properties, call signatures, and construct signatures (#33473)
* Introduce flattened error reporting for properties, call signatures, and construct signatures

* Update message, specialize output for argument-less signatures

* Skip leading signature incompatability flattening

* Add return type specialized message
2019-09-23 16:08:44 -07:00
xiaofa
67aa2b22ac fix conflicts 2019-09-17 19:02:44 +08:00
Orta
f9cc374d21
Merge pull request #33336 from JoshuaKGoldberg/enum-syntax-error-specifics
Added more helpful syntax error for enum member commas
2019-09-11 23:05:16 +02:00
Josh Goldberg
4e1768c170 Added '}' to allowed characters in diagnostic message 2019-09-11 15:32:58 -04:00
Josh Goldberg
49be51dcf3 Added more helpful syntax error for enum member commas
Switches the error message emitted by the parser to the more specific _"An enum member name must be followed by a ',' or '='."_ when the expected comma doesn't follow the member.
2019-09-09 22:11:56 -04:00
Josh Goldberg
99f9719ab3 Added codefix for numeric literals >= 2 ** 53
`Number.MAX_SAFE_INTEGER` is `2 ** 53 - 1`, so anything greater than that is a 'dangerous' integer to store as a traditional number. This adds a codefix to suggest converting them to a `bigint` literal.
2019-09-07 18:43:32 -04:00
xiaofa
909bc61f01 Add convert const to let 2019-08-30 18:05:07 +08:00
Wenlu Wang
af9ca21643 add support for extract as interface (#31644)
* add support for extract as interface

* fix action assert

* Donot provide convert to interface if duplicate member
2019-08-28 11:34:40 -07:00
Andrew Branch
5d04250ea8
Improve “Add missing await” fix-all (#32922)
* Improve codeFixAll for add missing await

* Improve add missing await for initializers and fix-all

* Fix when only one side of a binary expression can have its initializer fixed
2019-08-20 16:53:28 -07:00
Hoang Pham
46b7972885 Add JSX codefix if available (#32281)
* Add JSX codefix if available

* Update react jsx.

* Update diagnostic code.
2019-08-16 12:46:55 -07:00
Klaus Meinhardt
efa19f6777 remove useless condition as argumentExpression is always defined (#31567)
* remove useless condition as argumentExpression is always defined

* fix formatting

* remove obsolete diagnostic
2019-08-15 15:25:10 -07:00
Sheetal Nandi
31a26120f9
Merge pull request #32788 from microsoft/tsbuildFixes
Fixes for tsbuild scenarios
2019-08-14 09:07:24 -07:00
Wesley Wigham
4ab85bbf35
Add error message for keywords with escapes in them (#32718)
* Add error message for keywords with escapes in them

* Move check into parser during advance to next token to utilize context for contextual keywords

* git add .

* Add tests for extended escapes

* Better error courtesy of @DanielRossenwaser

* Add test of browser-inconsistent case and alter condition to match spec

* Merge adjacent conditions

* Use seperate functions for checking keywords vs not

* Use flags to track unicode escape presence

* Adjust error text
2019-08-12 16:00:38 -07:00
Ron Buckton
bf054ae796
Add support for import.meta in System modules (#32797) 2019-08-12 13:00:58 -07:00
Ron Buckton
98b6db81d9
Allow accessors in ambient class declarations (#32787)
* Allow accessors in ambient class declarations

* Update src/compiler/transformers/declarations.ts

Co-Authored-By: Wesley Wigham <wewigham@microsoft.com>
2019-08-09 16:11:25 -07:00
Sheetal Nandi
9e8fbcd7f8 Transitively upstream blocked project should not build 2019-08-09 13:38:25 -07:00
Andrew Branch
4f3412153a
Parse quoted constructors as constructors, not methods (#31949)
* Parse quoted constructors as constructors, not methods

* Update baselines

* Fix disambiguation between quoted constructor and property named constructor

* Clean up parsing a bit

* Support escapes in constructor name

* Update baselines
2019-07-12 14:01:57 -07:00
Andrew Branch
89badcc9d5
Add 'Remove unnecessary await' suggestion and fix (#32363)
* Add remove unnecessary await fix

* Add test for removing unnecessary parens after await is gone

* Fix handling of numbers in property access expressions

* Don’t offer suggestion when awaited type is any/unknown

* Fix random other test

* Fix new expression edge cases

* Only remove parens for identifiers and call expressions
2019-07-12 11:03:20 -07:00
Andrew Branch
71bec5b698
Add quick fix to add missing 'await' (#32356)
* Start prototyping addMissingAwait codefix

* Filter by diagnostics that have missing-await related info

* Start writing tests and checking precedence

* Implement codeFixAll, add test for binary expressions

* Add test for iterables

* Add test for passing argument

* Add test for call/construct signatures

* Add test for awaiting initializer

* Improve assertion error

* Replace specific property access error with general one and add await related info

* Add test for property access

* Require code to be inside a function body to offer await

* Accept suggestion

Co-Authored-By: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>

* Add explicit test for code fix being not available unless something is a Promise

* Skip looking for function body if already in AwaitContext flags

* Inline getCodeActions function for symmetry
2019-07-12 10:07:55 -07:00
Andrew Branch
8eb3822ae0
Merge pull request #28290 from rflorian/add-codefix-cannot-find-name-in-for-loop
Add codefix for 'Cannot find name' diagnostic
2019-07-10 21:47:36 -07:00
Andrew Branch
64501996cc
Update error code 2019-07-08 14:52:23 -07:00
Andrew Branch
6626a99f11
Fix bad rebase 2019-07-08 14:44:57 -07:00
Andrew Branch
eb6b87aa26
Refactor to use related info everywhere 2019-07-08 14:37:45 -07:00
Andrew Branch
094a001982
Did you forget to use await? on arguments of function calls 2019-07-08 14:33:25 -07:00
Andrew Branch
a3a076d79f
Did you forget to use await? for call and construct signatures 2019-07-08 14:01:25 -07:00
Andrew Branch
48fc6b8b17
Did you forget to use await? on iterables 2019-07-08 13:59:59 -07:00
Andrew Branch
c48e34ef91
Did you forget to use await? for operators 2019-07-08 13:50:56 -07:00
Nathan Shively-Sanders
834a476a96 Merge branch 'master' into report-multiple-overload-errors 2019-07-08 09:33:24 -07:00
Ron Buckton
e8bf9584aa
Improve type checking and inference for Generators and Async Generators (#30790)
* Improve typing for Generators and Async Generators

* Add TReturn and TNext to Iterator, IterableIterator, etc.

* Update ts internal Iterator to be assignable from global Iterator

* Make 'done' optional in IteratorYieldResult

* Revert Iterable and IterableIterator to simpler versions plus other fixes

* Add additional inference tests

* Added additional tests

* PR cleanup and minor async iteration type fix

* Updated diagnostics message and added non-strict tests

* Fix expected arity of Iterator/AsyncIterator
2019-07-03 21:55:59 -07:00
Florian Regensburger
bd9f39dbcc Merge branch 'master' into add-codefix-cannot-find-name-in-for-loop 2019-07-02 00:41:27 +02:00
Nathan Shively-Sanders
71276a21af Merge branch 'master' into report-multiple-overload-errors 2019-06-28 16:24:38 -07:00
Nathan Shively-Sanders
c48018f95e Merge branch 'master' into report-multiple-overload-errors 2019-06-28 16:02:35 -07:00
Titian Cernicova-Dragomir
768318b30c Improved error message for calling/constructing types 2019-06-28 23:23:16 +03:00
Nathan Shively-Sanders
0436cfca16 Do not report multiple diagnostics per signature.
If there are multiple diagnostics per signature, choose the signature
with the fewer diagnostics to report. If there are more than one with
the minimum, choose the latest in the overload set.
2019-06-26 12:56:14 -07:00
Andrew Branch
871bdeeec4
Merge pull request #31480 from andrewbranch/bug/25487
Fix invalid JSXExpressions having identifier-ish things in their trivia, improve error messages for comma expressions in JSX
2019-06-26 10:13:42 -07:00
Nathan Shively-Sanders
68968fd396 Improve error messages and related spans 2019-06-26 10:05:44 -07:00
Nathan Shively-Sanders
67b8ca77d9 Merge branch 'master' into report-multiple-overload-errors 2019-06-25 14:07:56 -07:00
Andrew Branch
6717d8d928
Merge pull request #31942 from andrewbranch/bug/30882
Improve error message on indexed access to private members of type parameters
2019-06-24 09:22:21 -07:00
Nathan Shively-Sanders
720ad5bf22 Improve error message and update baselines 2019-06-21 13:15:32 -07:00
Nathan Shively-Sanders
ef0a8759bd Share code a bit better 2019-06-20 15:40:29 -07:00
Nathan Shively-Sanders
afecb87d3f Use related spans to form a tree of errors.
Formatting is wrong, and I might want to format it as non-related spans,
but the structure is exactly a tree.
2019-06-20 08:54:31 -07:00
Nathan Shively-Sanders
e5fd8766fa Merge branch 'master' into report-multiple-overload-errors 2019-06-19 10:46:51 -07:00
Nathan Shively-Sanders
beddf9c02d Working, just not the way I would like
There are still separate errors instead of one + related spans for each
sub-error.
2019-06-18 10:12:32 -07:00
Nathan Shively-Sanders
c65d9f261a Initial attempt. Totally doesn't work. 2019-06-18 08:30:18 -07:00
Josh Goldberg
ca00b3248b Added --noImplicitThis code fix for functions used as object properties (#31138)
* Added --noImplicitThis code fix for functions used as object properties

Before trying out all the various possibilities for where these functions could be used, I figured I'd start out with a relatively simple use case to verify this is the right approach. Is it? 😄

Starts on #28964.

* Fixed function expression names; included new baselines

* Got JSDocs to work, hooray!

* Added test for 'any' case of no function uses

* Refactored for inferFunctionReferencesFromUsage

* Fixed inference bug: undefined references cause parameters to default

* Removed dead code comments
2019-06-17 19:00:15 -07:00
Andrew Branch
04fbd93bf8
Revert previous fix and improve error message instead 2019-06-17 15:21:21 -07:00
Paul van Brenk
c5578a2b43 Update error message as requested by @danielrosenwasser 2019-06-04 19:08:34 -04:00
Paul van Brenk
a658f728a9 Include the project filepath in the error message for files not being
listed in the 'include' pattern. TS6307
2019-06-02 11:54:48 -04:00
Ron Buckton
dfd28d2751
Fix handling of empty 'types', 'typings', etc. fields in package.json (#31539) 2019-05-23 17:19:32 -07:00
Titian Cernicova-Dragomir
8ab0a25211 Improve error messages when indexing into a type (#31379)
* Improved error messages when indexing an object type with a literal string, a literal string union or a string.

* Added more specific message when using the indexing operator with an incompatible index argument.

* Fixed spelling and error message.
2019-05-23 15:27:50 -07:00