29997 Commits

Author SHA1 Message Date
csigs
5e2b700388
LEGO: Merge pull request 37353
LEGO: Merge pull request 37353
2020-03-11 15:11:08 -07:00
csigs
f68a0b2626 LEGO: check in for master to temporary branch. 2020-03-11 22:10:31 +00:00
Wesley Wigham
bacfda4ce8
Update user test baseline script to diff against a single authoratative WIP master branch (like RWC) (#37350) 2020-03-11 14:38:59 -07:00
Sheetal Nandi
1a9c8197ff
Optimize module resolution cache for watch and editor (#37055)
* Refactor resolveName

* Have resolutions of failed lookups as array and resolved to fileName map
2020-03-11 14:35:26 -07:00
Anders Hejlsberg
6856c012d2
Use objects instead of closures for type mappers (#36576)
* Use objects instead of closures for type mappers

* Flatten combined type mappers

* Single point of creation for type mappers

* More optimizations

* Fix lint error

* Fewer symbol instantiations / discard type mapper after instantiation

* More optimizations

* Simplify mapper layout and cache in composite mappers

* Removing cache as it doesn't seem to matter much

* Get rid of identityMapper
2020-03-11 13:28:49 -07:00
Austin Cummings
ae3d28b5eb
Implement constructor type guard (#32774)
* Implement constructor type guard

* Fix code review issues for constructor type guard.
- Do not limit constructor expression to only identifiers
- Fix `assumeTrue` and operator no-narrow check
- Use better way to check that identifier type is a function
- Loosen restriction on what expr is left of ".constructor"
- Update typeGuardConstructorClassAndNumber test to include else cases

* Fix grammar & spacing in `narrowTypeByConstructor`

* fix bad merge

* switch (back?) to crlf

* update baselines

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-03-11 13:16:33 -07:00
Anders Hejlsberg
b78ef30cb7
No union subtype reduction during type inference (#37327)
* No union type subtype reduction in getImplicitIndexTypeOfType

* Add regression test
2020-03-11 10:27:51 -07:00
csigs
505e7fb5d9
LEGO: Merge pull request 37345
LEGO: Merge pull request 37345
2020-03-11 09:11:10 -07:00
csigs
ffa35e14b7 LEGO: check in for master to temporary branch. 2020-03-11 16:10:34 +00:00
Arpad Borsos
5937ffdf25
Add constructor functions for {Symbol,Node}Links (#36845)
Using a constructor function like this can help node better optimize
object allocation. This improves memory usage when compiling
`src/compiler` from **277M** to **270M**, a nice ~3% win.
2020-03-11 08:40:51 -07:00
Wenlu Wang
20625a964b
add promise.any (#33844)
* add promise.prototype.any

* add AggregateError

* Update src/lib/esnext.promise.d.ts

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

* update baseline again

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-03-11 08:36:00 -07:00
csigs
6a67cc7005
LEGO: Merge pull request 37334
LEGO: Merge pull request 37334
2020-03-10 21:11:09 -07:00
csigs
dd09e65673 LEGO: check in for master to temporary branch. 2020-03-11 04:10:30 +00:00
csigs
1cf21c2384
LEGO: Merge pull request 37331
LEGO: Merge pull request 37331
2020-03-10 15:11:10 -07:00
csigs
94ff6fd15c LEGO: check in for master to temporary branch. 2020-03-10 22:10:33 +00:00
Jack Williams
67ca82b375
Add flag to omit default case (#33574) 2020-03-10 15:04:03 -07:00
Iku Iwasa
5e0f584b67
Support NetBSD platform (#34756) 2020-03-10 14:53:37 -07:00
csigs
586fe18557
LEGO: Merge pull request 37325
LEGO: Merge pull request 37325
2020-03-10 09:11:05 -07:00
csigs
8507a23b91 LEGO: check in for master to temporary branch. 2020-03-10 16:10:29 +00:00
Anders Hejlsberg
c4da90368f
Infer to erased signatures (#37261)
* Use erased signatures as inference targets

* Add tests
2020-03-10 08:42:36 -07:00
csigs
44ada5b272
LEGO: Merge pull request 37318
LEGO: Merge pull request 37318
2020-03-10 03:11:05 -07:00
csigs
fe8decb316 LEGO: check in for master to temporary branch. 2020-03-10 10:10:28 +00:00
Sheetal Nandi
e68524a8d2
Handle WatchCompilerHost without timeout methods to retrieve correct Program (#37308) 2020-03-09 16:30:52 -07:00
Ethan Resnick
5d6b385e65
cleanup: remove unused variable assignment (#33917)
The initial value in `text` was being immediately overwritten by the next statement
2020-03-09 14:48:35 -07:00
Josh Goldberg
bf15eac16e
Removed unused host variable in createProgramHost (#37278)
As stated in 26417, `host` is only ever written to and never read from. `createProgramHost` is the only place I could find that provides a member for `ProgramHost`'s `onCachedDirectoryStructureHostCreate`, so that's removed as well.
2020-03-09 13:53:49 -07:00
Andrew Branch
bc0e5a241c
Fix longer type-only property access in non-emitting heritage clauses (#37264)
* Fix longer type-only property access in non-emitting heritage clauses

* Rename misnomer function
2020-03-09 12:05:36 -07:00
Alexander T
8d63a7a842
fix(28163): change outdated options (#37268) 2020-03-07 10:23:07 -08:00
Sheetal Nandi
8dede43365
Reset hasChangedAutomaticTypeDirectiveNames once new program is created (#37266)
* Allow passing watch to the change as parameter

* Reset hasChangedAutomaticTypeDirectiveNames once new program is created
Also dont invoke afterProgramCreate if the program is not new
2020-03-06 18:21:16 -08:00
Jonathan Share
c0c5760d15
Fixes duplicated comment when executing code fix to add missing enum member (#28163)
Resolves issue #28031 by overriding default value of
`useNonAdjustedStartPosition` option to replaceNode. Test case included
that confirms intended behaviour.
2020-03-06 16:53:37 -08:00
Ben Lichtman
631def81d5
Merge pull request #37260 from uniqueiniquity/watchFileExistsFix
Fix fileExists check for a watch program
2020-03-06 13:01:03 -08:00
Ben Lichtman
a4430f7baf Update tests to be more precise 2020-03-06 12:41:00 -08:00
Ben Lichtman
384f526637 Update baselines 2020-03-06 09:44:28 -08:00
Ben Lichtman
0ed21e34ed Fix file exists check for watch program 2020-03-06 09:44:16 -08:00
csigs
931e33f194
LEGO: Merge pull request 37243
LEGO: Merge pull request 37243
2020-03-05 20:11:09 -08:00
csigs
ec83e9f6f9 LEGO: check in for master to temporary branch. 2020-03-06 04:10:31 +00:00
csigs
64f6c846f8
LEGO: Merge pull request 37237
LEGO: Merge pull request 37237
2020-03-05 14:11:10 -08:00
csigs
755e99fe21 LEGO: check in for master to temporary branch. 2020-03-05 22:10:33 +00:00
Nathan Shively-Sanders
458977b94b
Reinstate incorrectly removed esnext.bigint (#37233)
* Reinstate incorrectly removed esnext.bigint

From a bad merge I made in #33845

* fix esnext.bigint alias
2020-03-05 10:11:48 -08:00
csigs
c5365edba3
LEGO: Merge pull request 37232
LEGO: Merge pull request 37232
2020-03-05 08:11:04 -08:00
csigs
6a79c585ce LEGO: check in for master to temporary branch. 2020-03-05 16:10:29 +00:00
Orta
ffde92349d
Added @ts-expect-error to @ts-ignore directives (#36014)
* Added @ts-expect-error to @ts-ignore directives

Similar to `// @ts-ignore`, but will itself cause a new error diagnostic if it does not cause an existing diagnostic to be ignored.

Technical summary:
1. The scanner will now keep track of `CommentDirective`s it comes across: both `@ts-expect-error` and `@ts-ignore`
2. During type checking, the program will turn those directives into a map keying them by line number
3. For each diagnostic, if it's preceded by a directive, that directive is marked as "used"
4. All `@ts-expect-error` directives not marked as used generate a new diagnostic error

* Renamed to getDiagnosticsWithPrecedingDirectives per suggestion

* Added JSDoc comment I thought I did already

Co-authored-by: Orta <orta.therox+github@gmail.com>
2020-03-05 10:37:36 -05:00
csigs
3c0c01c332
LEGO: Merge pull request 37229
LEGO: Merge pull request 37229
2020-03-05 02:11:18 -08:00
csigs
5b06ce6068 LEGO: check in for master to temporary branch. 2020-03-05 10:10:40 +00:00
csigs
0e8540b186
LEGO: Merge pull request 37220
LEGO: Merge pull request 37220
2020-03-04 14:11:06 -08:00
csigs
89410e9cb2 LEGO: check in for master to temporary branch. 2020-03-04 22:10:31 +00:00
Nathan Shively-Sanders
0a1af90bb6
add string.prototype.replaceAll (#33845)
* add string.prototype.replaceAll

* accept baseline

* fix bad merge in tests

* update missed baselines

Co-authored-by: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com>
2020-03-04 13:25:17 -08:00
Nathan Shively-Sanders
061338e82b
Don't inferFromIndexTypes() twice (#34501)
* Don't inferFromIndexTypes() twice

* Add tests
2020-03-04 13:19:35 -08:00
Eli Barzilay
5c8def9a06 Fix emitting ?.
Use `emit()` for writing `questionDotToken`, leading to properly calling
the emit hooks (which `emitTokenWithComment` doesn't) and printing the
comments.  This fixes #35372 by calling its hooks to set the `.__pos`
and `.__end` fields.

Also, remove `getDotOrQuestionDotToken` which was used only here --
mainly because it seems likely to encourage misusing the
`questionDotToken` again.

Also, fix a bunch of `visitor` -> `tokenVisiton` calls in
`visitorPublic.ts`.
2020-03-04 14:52:33 -05:00
Ryan Cavanaugh
67930fc163
Don't crash when there's no class type to derive a 'this' type from (#37164)
Fixes #37161
2020-03-04 09:34:28 -08:00
Wesley Wigham
dfc0b58fe7
Preserve arity for preserving js optional parameters (#37173) 2020-03-04 00:48:53 -08:00