Commit graph

26723 commits

Author SHA1 Message Date
Ron Buckton 4756373967 Merge branch 'master' into fixDtsTypeReferenceEmit 2019-02-04 11:39:16 -08:00
TypeScript Bot 530a09a6e2 Update user baselines (#29682) 2019-02-04 07:55:39 -08:00
Benedikt Meurer 97c557eb04 Make modifierFlagsCache mandatory for Node objects
The `modifierFlagsCache` property is among the top properties that cause
megamorphic stub cache misses when having `tsc` build itself. This is
because it's added sort of randomly to a whole lot of different objects,
at arbitrary points after their initialization.

This also means that `modifierFlagsCache` is often not present on the
instances, which means that when missing on the megamorphic stub cache,
Node/V8 has to compute `NonExistent` handlers for the relevant inline
caches.

It's a lot cheaper to just make sure that the property is always
existent on the instance, and ideally also at the same offset. This
change ensures exactly that.

Drive-by-fix: Also make sure that `transformFlags` (and `parent`)
is always at the same offset for `Node` objects.
2019-02-04 14:46:27 +01:00
Anders Hejlsberg 026225997e Accept new baselines 2019-02-03 15:23:49 -08:00
Anders Hejlsberg 0c5471ba5c Add regression test 2019-02-03 15:23:21 -08:00
Anders Hejlsberg 415c725bb9 Make exception for synthetic 'this.x' in narrowTypeByInstanceof 2019-02-03 15:23:07 -08:00
Jack Williams 25f9a1fec2 Fix lint errors 2019-02-03 22:44:15 +00:00
Jack Williams 54801cbd17 Merge branch 'master' into switch-on-unknown 2019-02-03 22:36:40 +00:00
Anders Hejlsberg dcfbe5a7a7 Merge branch 'master' into fixInstanceofTypeofControlFlow 2019-02-03 14:30:22 -08:00
Anders Hejlsberg 4d85acb387
Merge pull request #29712 from jack-williams/update-baseline-for-json-changes
Fix build break: Update baselines for types affected by JSON change
2019-02-03 14:29:00 -08:00
Jack Williams 30fa6d08cc Update baselines for types affected by JSON change 2019-02-03 16:49:52 +00:00
Anders Hejlsberg 343e0f7fd9 Fix NarrowTypeByTypeof, NarrowTypeByInstanceof, isPropertyInitializedInConstructor 2019-02-03 08:19:22 -08:00
Jack Williams 3d0c7f3156 Narrow unknown in switch 2019-02-03 16:07:21 +00:00
Ryan Cavanaugh 0a041ee536
Merge pull request #28270 from AnyhowStep/json-parse-reviver-stringify-replacer-better-declaration
JSON.parse(), JSON.stringify() more specific declarations for #6955
2019-02-02 12:10:56 -08:00
Anders Hejlsberg 118a2ccad4 Accept new baselines 2019-02-02 09:37:59 -08:00
Anders Hejlsberg 332861b4fc Add tests 2019-02-02 09:37:52 -08:00
Anders Hejlsberg be4fb30e61 Accept new baselines 2019-02-02 09:28:28 -08:00
Anders Hejlsberg e7ad76ddc8 Less restrictive constraints in Parameters and ReturnType types 2019-02-02 09:28:21 -08:00
Alan Pierce 942b020081 Merge remote-tracking branch 'origin/master' into enforce-const-enum-access-for-isolatedmodules 2019-02-01 18:52:22 -08:00
Ryan Cavanaugh efbe630a13
Use unknown for array predicates' return types 2019-02-01 17:05:04 -08:00
Ryan Cavanaugh 5bcf251f8a
Merge pull request #28125 from fullheightcoding/typos
Fixed some typos.
2019-02-01 16:48:13 -08:00
Ron Buckton 4b84f56b21 Fix type reference dts emit failure 2019-02-01 16:09:17 -08:00
Ryan Cavanaugh a856a64a5c
Merge pull request #29446 from fuafa/infer-js-doc
fix quick fix infer parameter types from usage in js file
2019-02-01 13:55:31 -08:00
Ryan Cavanaugh f81ea89564
Merge pull request #29136 from ajafff/usedbeforedeclaration-objectspread
property is used before its initialization: check more nodes
2019-02-01 13:46:37 -08:00
Ryan Cavanaugh 02b1f71612
Merge branch 'master' into typos 2019-02-01 13:43:44 -08:00
Anders Hejlsberg 607f2ea4de
Merge pull request #29478 from Microsoft/fixContextualReturnTypes
Infer contextual types from generic return types
2019-02-01 12:31:08 -08:00
Ryan Cavanaugh 9d3707d671
Merge pull request #29665 from ajafff/readonly-error-message
clarify error message for 'readonly' type operator
2019-02-01 11:24:38 -08:00
Anders Hejlsberg 8827bed0e7
Merge pull request #29647 from Microsoft/noConstraintsDuringInference
Only check constraints in final phase of type inference
2019-02-01 10:54:08 -08:00
Andy Hanson ed277b8ee9 Handle GetAccessor and SetAccessor in isThisless (#27869) 2019-02-01 10:50:04 -08:00
Anders Hejlsberg 42be36d182 Accept new baselines 2019-02-01 10:48:58 -08:00
Anders Hejlsberg c58157573e Add breaking change repros 2019-02-01 10:48:52 -08:00
Anders Hejlsberg fffd77457a Merge branch 'master' into fixContextualReturnTypes
# Conflicts:
#	src/compiler/checker.ts
2019-02-01 10:28:50 -08:00
Anders Hejlsberg 44fae8c29a
Merge pull request #29685 from Microsoft/fixSubtypeReductionEstimate
Increase accuracy of subtype reduction remaining work estimate
2019-02-01 10:25:02 -08:00
Anders Hejlsberg 84250e3888 Increase accuracy of remaining subtype reduction work estimate 2019-02-01 06:57:07 -08:00
kpreisser 97d2ea8f32 Minor improvements of code and comments. 2019-02-01 11:59:30 +01:00
kpreisser 9140cbc29e Correctly adjust the backward reference of the next entry when deleting an entry. 2019-02-01 11:59:28 +01:00
kpreisser c4960d3c11 Adjust the unit test to spot a missed bug in the delete() implementation. 2019-02-01 11:59:26 +01:00
kpreisser 472157e523 Revert a few unneeded (stylistic) changes. 2019-02-01 11:59:25 +01:00
kpreisser c8e329bcbc Rework the implementation of the shimMap to ensure iterators will behave the same as with native Maps.
This includes:
- Entries are visited in insertion order
- New entries added during iteration will be visited
- Entries that are removed during iteration (before being visited) will not be visited

Fixes #26090
2019-02-01 11:59:24 +01:00
kpreisser b502ae98e1 Add a unit test for the shimMap (currently failing).
This will test that iteration is in insertion order, new entries added during iteration will be visited by the iterator, and values can be deleted while an iterator is running.
2019-02-01 11:59:22 +01:00
kpreisser 41bef5f77c PR review: Fix typo. 2019-02-01 11:59:20 +01:00
kpreisser c0c71bf65e Fix lint issues. 2019-02-01 11:59:17 +01:00
kpreisser bff5436ac9 Follow-Up: Avoid the memory leak problem by simply not allowing existing iterators to continue once an entry has been deleted from the map.
Fixes #26090
2019-02-01 11:59:15 +01:00
kpreisser 8626b927be Adjust the iteration behavior of the shimMap (used for IE 11) to visit values that are added while forEach is running.
Fixes #26090
2019-02-01 11:59:13 +01:00
Anders Hejlsberg 51ccfb1201 Accept new baselines 2019-01-31 15:33:00 -08:00
Anders Hejlsberg 2a91e7aab2 Revert previous changes, use flag to disable fixing during constraint check 2019-01-31 15:32:52 -08:00
TypeScript Bot d2909a14aa Update user baselines (#29660) 2019-01-31 15:02:49 -08:00
Klaus Meinhardt 782622f9cd clarify error message for 'readonly' type operator 2019-01-31 19:44:49 +01:00
Ryan Cavanaugh 5d3685d041
Merge pull request #28240 from ajafff/add-to-types2
Only suggest adding to types if present in compilerOptions
2019-01-31 09:34:59 -08:00
Klaus Meinhardt d72271b800 update baseline 2019-01-31 11:29:29 +01:00