Wesley Wigham
a93298665c
Add heuristic for extracting irreducible null and undefined types from intersections of unions ( #33150 )
2019-09-06 11:32:22 -07:00
Anders Hejlsberg
c5e6d95e93
Merge pull request #33252 from microsoft/fix33131
...
Make lower priority inference when source is completely matched in target
2019-09-05 06:27:23 -07:00
Wesley Wigham
72bb4c2bdc
Mark deep indexed access comparisons as expanding ( #33144 )
...
* mark deep indexed accesses as deeply nested in comparisons
* Add test derived from lodash example
2019-09-04 17:00:55 -07:00
Anders Hejlsberg
5de180e878
Merge branch 'master' into fix33131
...
# Conflicts:
# src/compiler/checker.ts
2019-09-04 16:54:11 -07:00
Anders Hejlsberg
228b727ff1
Add regression test
2019-09-04 16:49:59 -07:00
Wesley Wigham
3109b646a6
Elevate mapped types over type parameters in the same way as naked type parameters in intersection inference prioritization ( #33223 )
2019-09-04 16:23:08 -07:00
Nathan Shively-Sanders
8ca36f3516
someTypeRelatedToType now passes isIntersectionConstituent ( #33213 )
...
* someTypeRelatedToType now passes isIntersectionConstituent
* Fix [][] lint
2019-09-04 13:36:50 -07:00
Wesley Wigham
a34ac8084c
Walk up parenthesized type nodes when looking for the type alias hosting a node ( #32924 )
2019-08-20 16:43:06 -07:00
Wesley Wigham
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
rChaser53
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 Wigham
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
Brendan Kenny
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
阿卡琳
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 Hau
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
Orta
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
Kagami Sascha Rosylight
f304b81fa5
Point es2020 in esnext.d.ts ( #32776 )
2019-08-15 10:06:46 -07:00
Klaus Meinhardt
8eeb763cdd
report invalid modifiers on class expression properties
...
Fixes : #32532
2019-08-14 21:00:19 +02:00
Sheetal Nandi
0e93cf61fc
Disallow incremental with noEmit
...
Fixes #32882
2019-08-14 09:47:49 -07:00
Wesley Wigham
602966ba4e
Fix references to path-mapped ambient modules in declaration files ( #32878 )
...
* Fix references to path-mapped ambient modules in declaration files
* Fix lint
2019-08-13 16:34:03 -07:00
Wesley Wigham
f2719f95b4
Allow functions and ambient classes to merge ( #32584 )
2019-08-09 16:10:10 -07:00
Ron Buckton
05af8faac6
Support tree-shakable imports for --target es2015 ( #32742 )
...
* Support tree-shakable imports for --target es2015
* Alias external helper imports for --module es2015
2019-08-09 14:02:18 -07:00
Nathan Shively-Sanders
b24050aefd
Excess discriminated types match all discriminable properties ( #32755 )
...
* Target types in excess property checking must match all discriminable properties
This allows fewer types to be discriminated in excess properties, which
fixes some examples.
* Add excess property test
* Fix semicolon lint
* Remove extra semicolon!
* Improve EPC for unions with multiple discriminants
2019-08-08 15:34:52 -07:00
Wesley Wigham
abd127f308
Only check import = reference when target is Value ( #32747 )
2019-08-06 16:44:42 -07:00
Wesley Wigham
f333684179
Fix unicode escapes in jsx identifiers and extended unicode characters in jsdoc ( #32716 )
...
* Fix unicode escapes in jsx identifiers and extended unicode characters in jsdoc
* Support unicode escapes in JSDoc
* Add tests for extended escapes
2019-08-06 15:14:32 -07:00
Nathan Shively-Sanders
480b73915f
Improve excess property checking for intersections ( #32582 )
...
* Improve excess property checking for intersections
Still a draft, the implementation needs improvement
* Use mutable isIntersection in checkTypeRelatedTo
This makes parameter lists a lot shorter. Seems like a slight
improvement, although I can revert if I change my mind.
* Fix semicolon lint
* Remove TODOOOO
* Revert "Use mutable isIntersection in checkTypeRelatedTo"
This reverts commit b8dccff2a25495867cff070b94601015e689b8ff.
2019-08-06 15:03:24 -07:00
Wesley Wigham
d00056f096
Support extended unicode escapes in identifiers, per es6 spec ( #32725 )
2019-08-06 14:43:41 -07:00
Wesley Wigham
7adc175dfc
Adjust isIdentifierText to skip multiple characters when a code point is multiple chars long ( #32720 )
...
* Adjust isIdentifierText to skip multiple characters when a code point is multiple chars long
* Add a few examples with mixed unicode characters
* for posterity, add some unicode cursive script characters
* Test some more planes more explicitly
2019-08-05 23:37:26 -07:00
Ron Buckton
e3f4979736
Fix emit for object rest on a module export ( #32699 )
...
* Fix emit for object rest on a module export
* Add tests for exports of empty object/array binding patterns
* Add delay for exec to ensure diff tool has enough time to start
2019-08-05 16:53:21 -07:00
Wesley Wigham
3b54ffcf0e
Preserve const enums should keep import refs ( #28498 )
...
* Preserve const enums should keep import refs
for exported const enums exported via export default
Move some functionality around, small cleanup
Remove unneeded const enum check
* Only mark const enums as references with preserveConstEnums on in export assignments
* Limit change to declarations and preserveConstEnums mode
2019-08-05 16:47:29 -07:00
Wesley Wigham
6b4f730535
Fix binding of jsdoc typedefs with no in-comment name attached to an expression statement ( #32610 )
...
* Fix binding of jsdoc typedefs with no in-comment name attached to an expression statement
* Check toplevel flag before bind
* Small renames
2019-08-02 16:14:19 -07:00
Wesley Wigham
acdbd10626
Amend scanner to support astral characters in identifiers when parsing es6+ ( #32096 )
...
* Amend scanner to support astral characters in identifiers when parsing es6+
* Use charSize helper rather than one-off maybe advance helper
* Update script to emit informative comment, run in unicode 12.1 environment
* Add suggested change
2019-08-02 13:15:51 -07:00
Andrew Branch
33f362abaf
Don’t issue used-before-initialization errors in declaration files ( #32579 )
2019-08-01 11:24:04 -07:00
Andrew Branch
b377e99958
Prevent infinite recursion resolving nested conditional types with import types in them ( #32097 )
...
* Prevent infinite recursion resolving conditional types
* Use push/popTypeResolution and issue error
* Add failing test
* Fix the actual problem
* Revert unnecessary changes
2019-08-01 08:37:43 -07:00
Sheetal Nandi
1d18b4941e
Store already known not parenthesized arrow expression positions for faster exit in case of deep parsing
...
Fixes #31987
2019-07-31 11:12:01 -07:00
Anders Hejlsberg
a717d3ab44
Add regression test
2019-07-28 09:05:57 -07:00
Anders Hejlsberg
742cabaac4
Merge branch 'master' into fix32349
2019-07-23 10:31:46 -07:00
Sheetal Nandi
607c9c5e26
Fix missing tokenToString for the backtick
...
Fixes #32073
2019-07-16 13:30:38 -07:00
Anders Hejlsberg
044d70fc24
Add regression tests
2019-07-12 17:57:05 -10:00
Anders Hejlsberg
303297aa27
Merge pull request #32362 from microsoft/fix32230
...
Fix type parameter inference cache invalidation logic
2019-07-12 16:57:34 -07:00
Wesley Wigham
37f2e5972f
Cache & widen assigned js prototype type ( #32381 )
2019-07-12 12:49:34 -07:00
Anders Hejlsberg
c53246fa35
Add regression test
2019-07-11 10:47:27 -10:00
Wesley Wigham
6839973bf7
Generate a unique type parameter name for each nested type parameter ( #31544 )
...
* Generate a unique type parameter name for each nested type parameter
* Add testcase from 31605
* Fix typo
* Liiiiiine eeeendingggggss
2019-07-10 17:12:20 -07:00
Wesley Wigham
daf0a73346
Fix lookup of optional methods in declaration emit ( #32094 )
2019-07-10 16:39:07 -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
Wesley Wigham
0bea4bd3c9
Widen object literal this types ( #32240 )
2019-07-03 15:58:21 -07:00
Anders Hejlsberg
340f81035f
Merge pull request #32178 from microsoft/improveTupleDestructuring
...
Simplify tuple destructuring logic
2019-07-02 17:25:12 -07:00
Anders Hejlsberg
440ed83f29
Merge pull request #32079 from microsoft/instantiationCountLimiter
...
Add type instantiation count limiter
2019-07-02 17:19:39 -07:00