13675 Commits

Author SHA1 Message Date
Wesley Wigham
cd09cbbd5e
Cache widened types (#31586)
* Cache widened types

* Fix lint
2019-05-28 13:13:46 -07:00
Wesley Wigham
e70f2af25d
Defer union or intersection property type normalization (#31486)
* Defer union or intersection property type normalization

* Accept moved span
2019-05-28 10:51:47 -07:00
Andrew Branch
a06ab8532c
Merge pull request #31560 from andrewbranch/bug/31485
Fix crash when creating a union signature from signatures that do and don’t have `this` types
2019-05-24 10:30:47 -07:00
Anders Hejlsberg
7ff97d1393
Merge pull request #31572 from microsoft/normalizedIntersectionLimiter
Limit size of union types resulting from intersection type normalization
2019-05-23 17:57:33 -07:00
Ron Buckton
b460d8cd26
Expose getTypeOfArrayLiteralOrObjectLiteralDestructuringAssignment with better name (#31564) 2019-05-23 17:50:44 -07:00
Ron Buckton
dfd28d2751
Fix handling of empty 'types', 'typings', etc. fields in package.json (#31539) 2019-05-23 17:19:32 -07:00
Wesley Wigham
bb4080c175
Collect _all_ symlinks a file may have witnessed when attempting to generate specifiers (#31571) 2019-05-23 17:17:24 -07:00
Anders Hejlsberg
f20a4fdfc4 Limit size of union types resulting from intersection type normalization 2019-05-23 15:39:40 -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
Andrew Branch
a2b40292fe
Merge pull request #31542 from andrewbranch/bug/31481
Error when writing to rest element range of readonly tuple
2019-05-23 13:38:09 -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
Sheetal Nandi
ae7a1b4f56
Merge pull request #31541 from microsoft/packageId
Always use resolved file to figure out subModule name in package id
2019-05-23 10:50:13 -07:00
Anders Hejlsberg
e6013335b9
Merge pull request #31537 from microsoft/fixIndexedAccessConstraint
Fix indexed access constraint
2019-05-22 18:35:15 -07:00
Andrew Branch
300cbef071
Don’t crash when creating a union signature from signatures that do and don’t have this types 2019-05-22 17:42:05 -07:00
Anders Hejlsberg
cd7a14ac21 Reuse getSimplifiedTypeOrConstraint function 2019-05-22 17:22:33 -07:00
Andrew Branch
9f6791a5ab
Error when writing to readonly tuple in rest element range 2019-05-22 15:03:17 -07:00
Sheetal Nandi
5d188a8c68 Always use resolved file to figure out subModule name in package id
Fixes #30429
2019-05-22 14:30:56 -07:00
Sheetal Nandi
85d3c5d7a1 Trace Package id at the module resolution site 2019-05-22 12:35:20 -07:00
Ron Buckton
6a559e37ee
Fix crash when checking invalid object rest (#31530) 2019-05-22 11:20:57 -07:00
Ron Buckton
3d2af9ff33
Relocate Debug namespace to reduce duplication (#31524) 2019-05-22 11:20:29 -07:00
Ron Buckton
c3055e585d
Fix compiler crash with object rest in catch binding (#31522) 2019-05-22 11:20:07 -07:00
Ron Buckton
b3dc32fec7
Reset error record in downlevel for-of (#31519) 2019-05-22 11:18:07 -07:00
Ron Buckton
7611c5b931
Fix for computed properties in instance initializers (#31517) 2019-05-22 11:17:54 -07:00
Sheetal Nandi
1e7a77cf78
Merge pull request #31503 from microsoft/casing
Ignore drive letters when comparing casings of the files with forceConsistentCasingInFileNames
2019-05-22 09:25:34 -07:00
Anders Hejlsberg
8120094c81 Simplify index and object types when obtaining indexed access constraint 2019-05-22 06:49:49 -07:00
Daniel Rosenwasser
3f5912995b Add related span to original declaration on disagreeing variable/property types. 2019-05-21 14:48:15 -07:00
Sheetal Nandi
43c7eb77e1 Switch to using File not found message instead of trace message file does not exit
Fixes #30872
2019-05-21 09:43:40 -07:00
Sheetal Nandi
db150517d7 Ignore drive letters when comparing casings of the files with forceConsistentCasingInFileNames
Fixes #31327
2019-05-21 09:32:17 -07:00
Anders Hejlsberg
374569447c
Merge pull request #31476 from microsoft/cacheUnnormalizedIntersections
Cache unnormalized intersection types
2019-05-21 06:42:51 -07:00
Wesley Wigham
07d850cf1c
Prevent type parameter printing from recuring on the same symbol (#31453) 2019-05-20 16:43:55 -07:00
Anders Hejlsberg
2c34672fe3 Merge branch 'master' into cacheUnnormalizedIntersections 2019-05-20 07:04:33 -07:00
Anders Hejlsberg
907664c31c
Merge pull request #31454 from microsoft/fixThisTypeIndexSignature
Permit assignment through index signature of 'this' type
2019-05-20 07:02:52 -07:00
Anders Hejlsberg
309ae224f0 Cache unnormalized intersection types 2019-05-20 06:23:30 -07:00
Anders Hejlsberg
d67fe13e30 Don't ignore index signatures in this type constraints 2019-05-17 13:10:09 -07:00
Nathan Shively-Sanders
eeba30afc8
Fix infinite loop: module.exports alias detection (#31436)
* Fix infinite loop: module.exports alias detection

Previously, module.exports alias detection in the binder could enter an
infinite recursion. Now it does not.

Notably, there are *two* safeguards: a counter limiter that I set at
100, and an already-seen set. I actually prefer the counter limiter code
because it's foolproof and uses less memory. But it takes 100
iterations to escape from loops.

* fix space lint

* Remove already-seen map
2019-05-17 12:50:39 -07:00
Anders Hejlsberg
922186834f
Merge pull request #31400 from microsoft/undoSubsitutionSimplification
Revert substitution type simplification
2019-05-14 22:58:14 -07:00
Wesley Wigham
3885e3fcda
Fix error message regressed by #30916 (#31276) 2019-05-14 16:58:06 -07:00
Anders Hejlsberg
4b5968eb6d Revert change to substitution type simplification 2019-05-14 07:45:29 -07:00
Anders Hejlsberg
fb6ae38ddf
Merge pull request #31354 from microsoft/deferConditionalTypes
Defer resolution of true and false branches in conditional types
2019-05-13 17:17:26 -07:00
Anders Hejlsberg
70950cb934
Merge pull request #31377 from microsoft/noThisParameterFiltering
Revert this-parameter filtering in completions
2019-05-13 17:07:05 -07:00
Anders Hejlsberg
d2923460e9 Add comment providing context on the change 2019-05-13 16:34:09 -07:00
Anders Hejlsberg
1b3589ba27 Remove simplification logic from getConditionalType + simplify substitution types 2019-05-13 16:23:51 -07:00
Wesley Wigham
f140dfc30b
Chain RHS narrowing and truthiness narrowing in assignment expression narrowing (#31348) 2019-05-13 14:41:33 -07:00
Anders Hejlsberg
90667e104d Remove this-parameter filtering in statement completion 2019-05-13 12:42:33 -07:00
Wesley Wigham
8ba53b6fd5
Simplify conditionals upon comparison, rather than instantiation 2019-05-13 11:18:28 -07:00
Wesley Wigham
b7fe99a88c
Instantiate constraint with default upon comparison (#31240) 2019-05-11 16:40:23 -07:00
Anders Hejlsberg
bb9c5c96c8 Reuse existing type instantiations 2019-05-11 11:15:37 -07:00
Anders Hejlsberg
71fe8e824e Defer resolution of the true and false branches of conditional types 2019-05-11 09:39:06 -07:00
Anders Hejlsberg
ae3d1d45c1
Merge pull request #31221 from microsoft/improveReverseMappedTypes
Improve reverse mapped types
2019-05-10 13:42:22 -07:00
Anders Hejlsberg
bca2808049
Merge pull request #31337 from microsoft/fixConditionalTypeParameterReference
Fix type parameter leakage in conditional types
2019-05-10 13:11:45 -07:00