Commit Graph
28400 Commits
Author SHA1 Message Date
Andrew Casey e3690c3a07 Use the in operator 2019-08-23 13:10:32 -07:00
Andrew Casey 00d37268e8 Make triple-slash comment classification more restrictive
It was overly permissive and ended up making a mess of C#-style
comments:

`/// <summary>Text</summary>`

Now it checks the element name.  Attribute names remain unchecked.
2019-08-23 12:55:10 -07:00
Jack WilliamsandWesley Wigham ec39d41287 Change doc-string for Unreliable variance flag. (#33036) 2019-08-22 17:44:11 -07:00
Nathan Shively-SandersandGitHub 4bddf55328 Fix prototype property type lookup (#33034)
* Fix constructor function type reference lookup

I knew I missed some code in the constructor-functions-as-classes PR.
This simplifies the type reference resolution code as well.

* Simplify and document js alias type resolution
2019-08-22 12:51:15 -07:00
Nathan Shively-SandersandGitHub 3c42760765 Cache JS inferred class type symbol (#33010)
* Cache JS inferred class type symbol

Note that many sources merge into a single target, so the *source*
[links] is the one that caches the merged target.

The reason this is a problem is not that many sources merge into a
single target, but that both getTypeOfSymbol and getDeclaredTypeOfSymbol
end up calling mergeJSSymbols with the same [source,target] pair. The
merge should not happen twice.

* Remove more verbose debug assertion message

* Fix isJSConstructor check + update baselines

* inferClassSymbol cache now track multiple targets
2019-08-21 15:36:35 -07:00
Ryan CavanaughandGitHub 016884d48c Add assert comments in CodeFixes and Refactors (#33016)
* Add comments to assert calls

* Add comments to assert calls in codefixes

* So linty
2019-08-21 14:22:17 -07:00
csigsandWesley Wigham f6155f89da LEGO: check in for master to temporary branch. (#33011) 2019-08-21 11:47:21 -07:00
Wesley WighamandGitHub 219a570a75 Fix discovery and execution of root-level tests in the parallel runner (#32980) 2019-08-20 17:18:31 -07:00
Andrew BranchandGitHub 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
Wesley WighamandGitHub a34ac8084c Walk up parenthesized type nodes when looking for the type alias hosting a node (#32924) 2019-08-20 16:43:06 -07:00
Zixiang LiandNathan Shively-Sanders 24201cfe6e Add support for jsdoc properties with hyphen (#32631) 2019-08-20 14:49:40 -07:00
Sheetal NandiandGitHub 5ac450510a Handle network style paths for watching (#32888)
* Refactoring

* take windows style root as test server host parameter

* Handle network style paths for watching
Fixes #32796
2019-08-20 10:52:56 -07:00
Ron BucktonandGitHub 1bf218291f Fix default behavior for transpileModule when fileName not provided (#32982) 2019-08-19 18:13:39 -07:00
Nathan Shively-SandersandGitHub 6ca9d04b60 Constructor functions as classes (#32944)
* Initial implementation

The original test passes but I haven't run any other tests yet, so I
assume the world is now broken.

* Append constructor function construct sigs

Instead of overwriting them

* Grab bag of improvements.

1. Mark @class-tagged functions with Class too.
2. Only gather local type parameters of constructor functions.
3. Remove getJSClassType calls with getDeclaredTypeOfSymbol.
4. Add a couple more failing tests.

getDeclaredTypeOfClassOrInterface now needs to understand prototype
assignment. That's next, I think.

* Prototype assignments work now

1. Binder marks prototype assignments as Class now.
2. Checker merges prototype assignments using the same merge code as for
functions and their declarations. No more intersections.

Many fewer failing tests now.

* Mark prototype-property assignments as Class

Even if there are no this-property assignments in them. (Then why are
you using a class?).

* Simplify getJSClassType, remove calls to its guts

It's probably not needed because now it's just a conditional call to
getDeclaredTypeOfSymbol, and I think most callers already know whether
they have a JS constructor function beforehand.

* isJSDocConstructor doesn't need to check prototype anymore

Because all the properties are merged during getDeclaredTypeOfSymbol.

* outer type parameter lookup follow prototype assignment

* this-type and -expression support in ctor funcs

Pretty cool!

* Fix remaining tests

* Fix minor lint

* Delete now-unused code

* Add class flag to nested class declarations

Also remove old TODOs
2019-08-19 14:12:53 -07:00
Wesley WighamandGitHub fd1e22bbf1 Instantiate generic conditional infer source types in the context of the target conditional (#31545)
* Instantiate generic conditional infer source types in the context of the target conditional

* Add test case from #26627
2019-08-19 13:01:08 -07:00
rChaser53andRyan Cavanaugh d75de60548 Fix Cannot read property 'text' of undefined crash (#32734)
* Fix Cannot read property 'text' of undefined crash

* fix condition for tsx

* Rename and improve the method
2019-08-19 12:08:34 -07:00
Wesley WighamandGitHub d9f0212324 Resolve SymbolFlags.Type only at first in jsdoc getTypeFromTypeReference (#32947)
* Fix lookup of exported eunm type alias in local scope in JS

* Fix by adjusting type lookup fallback behavior to not include SymbolFlags.Value in its initial lookup instead
2019-08-19 11:31:47 -07:00
TypeScript BotandWesley Wigham 2cde3b722a Update user baselines (#32975) 2019-08-19 10:46:30 -07:00
Wes SouzaandRyan Cavanaugh 9e9e694369 Update Feature_request.md (#32974)
* Update Feature_request.md

Added the same list of steps that is present on the bug report to the feature request.

* Remove duplicate FAQ reading sentence
2019-08-19 09:42:49 -07:00
falsandtruandRyan Cavanaugh 5ae286329f Update String#toLocale{Lower,Upper}Case methods (#32961) 2019-08-19 09:10:12 -07:00
OrtaandGitHub 634beb5332 Merge pull request #32969 from collin5/b30851-2
Restrict spreading for unknown Type with non object constraint
2019-08-19 08:43:11 -07:00
Collins Abitekaniza 0341c2fe75 add baseline for unknown type spread 2019-08-19 16:32:09 +03:00
Collins Abitekaniza 75ac6eb284 restrict object spreading on unkown type 2019-08-19 03:10:08 +03:00
TypeScript BotandWesley Wigham b57b5fe5ee Update user baselines (#32946) 2019-08-16 15:47:15 -07:00
Wesley WighamandGitHub 0212e2427c Add more info to the readme on the topic of the runtests command (#32942)
* Add more info to the readme on the topic of the `runtests` command

* Update README.md
2019-08-16 14:36:36 -07:00
Wesley WighamandGitHub d304049e0c Run user test submodule update in the correct directory (#32921) 2019-08-16 14:22:21 -07:00
Wesley Wigham 786e36ecaf Right. Environment variable on windows should be uppercase. 2019-08-16 14:17:03 -07:00
TypeScript BotandNathan Shively-Sanders a859e8da3d Update user baselines (#32930) 2019-08-16 14:01:06 -07:00
Nathan Shively-SandersandGitHub 2b8ccf40ae jsdoc template tags might be unmatched (#32936)
* jsdoc template tags might be unmatched

* Update fourslash test
2019-08-16 13:39:57 -07:00
Wesley WighamandGitHub 1b46d8fd8f Lowercase M to m in all reference to the microsoft github org (#32938) 2019-08-16 13:12:25 -07:00
Wesley Wigham e145f322d8 Add produceLKG flag to cherry-pick PR script 2019-08-16 13:01:18 -07:00
Hoang PhamandRyan Cavanaugh 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
Brendan KennyandRyan Cavanaugh f45add0a7d checkJs: require JSDoc type argument for Array, Object, and Promise in noImplicitAny (#32829)
* Require type argument for JSDoc Array, Object, and Promise in noImplicitAny

* add jsdoc Array/Object/Promise noImplicitAny tests
2019-08-16 12:41:09 -07:00
Anders HejlsbergandGitHub 489abcacd4 Merge pull request #32919 from microsoft/fix32752
Stricter criteria for eliminating types in unions during inference
2019-08-16 10:55:48 -07:00
Nathan Shively-SandersandGitHub 5380075a84 Always run Public API tests, allow lowercase skippercent (#32892) 2019-08-16 10:41:11 -07:00
Daniel RosenwasserandRyan Cavanaugh 7cf2d82dbd Update node types dependency (#32424) 2019-08-16 09:48:10 -07:00
laoxiongandRyan Cavanaugh cd84d75147 refactor: modify the TokenFlags default value (#32112) 2019-08-16 09:45:20 -07:00
Anders Hejlsberg af7ccf954a Accept new baselines 2019-08-16 07:45:08 -07:00
Anders Hejlsberg c816cf2562 Add additional test 2019-08-16 07:45:02 -07:00
Anders Hejlsberg ac2f151412 Accept new API baselines 2019-08-16 07:33:55 -07:00
Anders Hejlsberg abc61a0949 Add InferencePriority.Circularity per CR feedback 2019-08-15 18:08:01 -07:00
阿卡琳andRyan Cavanaugh a53e4a19ef Allow to omit the begin parameter of %TypedArray%.prototype.subarray (#32125)
* Allow to omit the begin parameter of %TypedArray%.prototype.subarray

* update baselines
2019-08-15 15:58:24 -07:00
Tan Li HauandRyan Cavanaugh dcb763f624 Report error when using generic class in js file (#31723)
* Report error when using generic class in js file

* Replace "ClassDeclaration | ClassExpression" to ClassLikeDeclaration

Co-Authored-By: Klaus Meinhardt <klaus.meinhardt1@gmail.com>

* add noEmit:true
2019-08-15 15:49:50 -07:00
Francois HendriksandRyan Cavanaugh 334b8590e9 Add check for Records in reportNonexistentProperty function (#31701) 2019-08-15 15:29:42 -07:00
Klaus MeinhardtandRyan Cavanaugh 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
Ryan CavanaughandGitHub 0bc3468733 small refactor to cut back on type assertions (#32920) 2019-08-15 15:18:27 -07:00
OrtaandGitHub 6cd8bcd6c9 Merge pull request #31185 from collin5/b30851
Restrict spreading for Instantiable Type with non object constraint
2019-08-15 13:50:01 -07:00
OrtaandGitHub cfeebda837 Merge pull request #32765 from orta/debug_scanner
Adds a debugging command to the scanner
2019-08-15 12:54:45 -07:00
Matthew MillerandRyan Cavanaugh c6a0739dc9 fix(docs): Fixed the docs for Array#slice not spec (#31182)
ifying that the 'end' parameter is exclusive.
2019-08-15 10:28:28 -07:00
Anders Hejlsberg 86d9153374 Accept new API baselines 2019-08-15 10:21:01 -07:00