Commit Graph

1719 Commits

Author SHA1 Message Date
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
Nathan Shively-Sanders 4d27361680 Allow JS with isolated modules (#31483)
* Allow JS with isolated modules

Previously legacy JS code was not allowed; it was required to use ES6
module syntax. Unfortunately, the check happens after parsing but before
binding, and the commonjs module indicator isn't set until binding
because it's not syntactically simple like the ES6 module indicator,
which is set during parsing.

So I decided that JS should be allowed during isolatedModules
unconditionally. We're not going to be transforming it anyway.

* Update baselines

* Switch test to outDir instead of noEmit
2019-05-23 11:09:28 -07:00