Commit Graph

5241 Commits

Author SHA1 Message Date
Anders Hejlsberg
c10a5520e2 Eagerly evaluate S extends T when S is definitely or definitely not assignable to T 2018-01-14 14:38:48 -08:00
Anders Hejlsberg
bb23bb2a92 Propagate both TypeFlags and ObjectFlags in getSpreadType 2018-01-03 11:29:21 -08:00
Anders Hejlsberg
abc8110e9b Merge branch 'master' into conditionalTypes
# Conflicts:
#	src/compiler/checker.ts
2018-01-03 10:56:45 -08:00
Nathan Shively-Sanders
5539e11b76 Merge pull request #20609 from Microsoft/getRootSymbols
Ensure getRootSymbols always works recursively
2018-01-03 09:44:27 -08:00
Wesley Wigham
29378b2ce2 Call back into getTypeOfFuncClassEnumModule in getTypeOfVariableOrParameterOrProperty if valueDeclaration is irregular kind (#20939) 2018-01-02 17:19:42 -08:00
Daniel Rosenwasser
0477f91dba Merge pull request #20928 from Microsoft/initializerWithPropertyAccessUseBeforeDeclaration
Check whether we have a class before testing whether we have a super-class
2017-12-29 14:47:13 -08:00
Daniel Rosenwasser
ea94a3430d Check whether we have a class before testing whether we have a super-class. 2017-12-29 12:30:27 -08:00
Wesley Wigham
ae211983eb Add method signature handler to getTypeOfVariableOrParameterOrProperty (#20825) 2017-12-28 19:00:54 -08:00
Anders Hejlsberg
ff4f03c51d Merge pull request #20882 from Microsoft/fixNarrowTypeBySwitch
Fix narrowing of type variable in switch statement
2017-12-28 09:22:26 -08:00
Anders Hejlsberg
5d3ecaebad Fix narrowTypeBySwitchOnDiscriminant function 2017-12-23 19:12:49 -08:00
Nathan Shively-Sanders
2df7a89e61 Merge branch 'master' into limit-recursive-structured-type-resolution 2017-12-22 14:41:58 -08:00
Nathan Shively-Sanders
fb3042c3f7 Move recursion limiter to individual resolve* functions 2017-12-22 14:39:25 -08:00
Wesley Wigham
cedcba9285 Reset partial memberlist on defered circularity to calculate the correct members (#20179)
* Reset partial memberlist on defered circularity to calculate the correct members

* Remove return type
2017-12-22 11:41:39 -08:00
Wesley Wigham
7ad0d7b9fd Fix higher order inference on indexed access types (#20165) 2017-12-21 14:47:03 -08:00
Wesley Wigham
00450f029c Not all extended types have symbols (#20827) 2017-12-21 13:07:29 -08:00
Anders Hejlsberg
c78a6a5cad Fix 'this' parameter handling in getUnionSignatures 2017-12-19 19:48:30 -08:00
Daniel Rosenwasser
69e091b40d Merge pull request #19797 from charlespierce/implements_class_error_message
Add new error message when class implements class
2017-12-19 11:39:05 -08:00
Wesley Wigham
6c15fc6634 Fix devtools test (#20731)
* Fix devtools test

* Add small test case mimicing the issue from the user test
2017-12-18 14:47:45 -08:00
Andy
1562a278f8 Don't add completion for method if the this parameter doesn't match (#20616) 2017-12-18 11:28:04 -08:00
Anders Hejlsberg
14590f1884 Move JsxAttributes and MarkerType from TypeFlags to ObjectFlags 2017-12-17 20:27:04 -08:00
Anders Hejlsberg
27b945b898 Handle constraints for distributive conditional types 2017-12-16 09:51:18 -08:00
Andrew Casey
5e2dec7727 Merge pull request #20729 from amcasey/GH19839
Refine Extract Local
2017-12-15 16:51:25 -08:00
Wesley Wigham
ae73a9141d Allow JSXAttributes types to be shortcut-spread into the spread type like normal objects (#19047)
* Bring jsx type resolution inline with normal objects, move jsx attribute property ignorign into relationship check

* Improved errors and reordered members

* Always use inferrential mode for jsx pass

* Add some missing skipLibChecks

* New check mode instead of odd type mapper

* Do not enable object literal freshness checks on jsx spreads

* Fix minor style nits

* Update order of type for test

* Accept corrected baseline
2017-12-15 16:13:28 -08:00
Wesley Wigham
dd933f4413 Fix get symbol at location to behave correctly for parameter assignments and jsx attributes (#20706)
* Fix get symbol at location to behave correctly got parameter assignments and jsx attributes

* Handle all those edge cases that weren;t explicitly handled

* Fix part of bug WRT getTypeAtLocation and for loops

* Baseline corrections pursuant to #20710

* Restore jsdoc tag interpretation

* Clean up some code, revert fourslash tests

* Cleanup types used by PR feedback
2017-12-15 15:50:22 -08:00
Andrew Casey
9efab94dfd Annotate fewer extracted constants with types
Expose `isContextSensitive` from the checker and omit type annotations
for expressions for which it returns false.
2017-12-15 15:11:17 -08:00
Wesley Wigham
d89d68f426 make jsx attributes mutable locations (#20710) 2017-12-15 10:02:56 -08:00
Anders Hejlsberg
000f121d34 Improve conditional type constraint checking 2017-12-13 15:07:16 -08:00
Wesley Wigham
e1278f091c Get resolved module exports in symbol chain and not raw exports (#20661)
* Actually get module exports and not module exports sans export stars

* style update

* Trim test a bit
2017-12-13 14:01:23 -08:00
Anders Hejlsberg
ddc631c5d4 Fix typo 2017-12-13 13:41:17 -08:00
Ryan Cavanaugh
f6603cd9f2 Merge pull request #20545 from RyanCavanaugh/codefixOmnibus
Omnibus fixes for telemetry-sourced crashes
2017-12-13 12:49:58 -08:00
Andy Hanson
ceb0502914 Code review 2017-12-13 12:28:13 -08:00
Andy Hanson
9533c0093d Merge branch 'master' into getRootSymbols 2017-12-13 12:26:57 -08:00
Anders Hejlsberg
20434fabe6 Inference for conditional and extends type operators 2017-12-13 09:48:51 -08:00
Anders Hejlsberg
9f74a7a228 Rename TypeVariable to InstantiableType 2017-12-13 09:24:14 -08:00
Anders Hejlsberg
61225cc57c Introduce TypeFlags.Instatiable 2017-12-13 09:14:57 -08:00
Wesley Wigham
40029a0523 Use TypeFlags.UnionOrIntersection not TypeFlags.Union (#20662) 2017-12-12 16:32:55 -08:00
Anders Hejlsberg
43e195d966 Clean up isGenericXXXType functions 2017-12-12 10:44:43 -08:00
Anders Hejlsberg
ec2bdfdb8b Add 'T extends U' type operator 2017-12-12 09:52:14 -08:00
Nathan Shively-Sanders
43a5a271ee object spreads to {}
Specifically, when spreading `object` on the right, spread now returns the
left of the spread; previously it returned `object`, which loses
everything to the left.
2017-12-12 08:34:36 -08:00
Andy
d53af092c7 Always check a return expression in a generator (#20621) 2017-12-12 07:50:11 -08:00
Charles Pierce
c489dd96f6 Resolve merge conflicts in codeFix 2017-12-11 22:27:56 -08:00
Wesley Wigham
eba15b5990 Preserve literal types in contextual unions (#19966)
* Cherrypick non-comparability related changes from prolific literals PR

* Renames and other style changes

* Accept changes to new tests

* Exclude the domain root from contextual typing literals except for type variables

* Readd simple preservation fix

* Add huge map test

* Revert changes to widening on destructuring initalizers

* Use tristate for subtype-reduction type

* Rename type and argument

* Move longer-running test to user suite
2017-12-11 18:03:38 -05:00
Wesley Wigham
d01f4d140a Reimplement #20320 differently to handle multiple check orders better (#20588)
* Reimplement #20320 less elegantly but handle odd check orders better

* Consolidate 2 of 3 conditions
2017-12-11 13:32:16 -05:00
andy-ms
b554a3691d Ensure getRootSymbols always works recursively 2017-12-10 17:07:38 -08:00
Anders Hejlsberg
063eed1a47 Add type relationships and distribute over union types 2017-12-08 10:19:23 -08:00
Ryan Cavanaugh
5c99c67b4b Fixes #20542 2017-12-07 12:39:17 -08:00
Nathan Shively-Sanders
d75ebd6a33 Narrowing of in handles string index signatures 2017-12-07 10:57:15 -08:00
Ryan Cavanaugh
c2fc5eafb5 Merge pull request #15256 from IdeaHunter/in-typeguard
Add type guard for `in` keyword
2017-12-06 10:32:07 -08:00
Andy
8dca431733 Use InternalSymbolName.Default more (#20480) 2017-12-06 07:02:27 -08:00
Charles Pierce
472f087e69 Add new error message when class implements class #19793 2017-12-05 21:18:31 -08:00