Commit Graph

3584 Commits

Author SHA1 Message Date
Anders Hejlsberg 9065b50172 getRegularTypeOfLiteralType before exhaustive switch check 2016-11-28 10:53:25 -08:00
Anders Hejlsberg 3e1b443d77 Deduplicate intersection types before distributing over union types 2016-11-28 09:34:50 -08:00
Anders Hejlsberg 88b7d53978 Merge pull request #12515 from Microsoft/fixMappedTypeInference
Include mapped types in type inference infinite recursion check
2016-11-26 18:14:18 -08:00
Anders Hejlsberg f2c32d251f Include mapped types in type inference infinite recursion check 2016-11-26 12:17:19 -08:00
Anders Hejlsberg 46ca0ba41e Fix multiple 'keyof' issues with 'for-in' and 'in' operator 2016-11-26 09:58:44 -08:00
Anders Hejlsberg cdda5dfd61 keyof T is a literal contextual type 2016-11-23 18:22:57 -08:00
Anders Hejlsberg e128add54e Merge pull request #12447 from Microsoft/mappedTypesAndUnions
Isomorphic mapped types and unions
2016-11-23 17:36:44 -08:00
Daniel Rosenwasser 4701eb70e2 Merge pull request #12357 from mylesmegyesi/12075-incorrectErrorMessageForUseOfTypeAsNamespace
Fixes error message when Type is used as a Namespace
2016-11-23 11:08:38 -05:00
Anders Hejlsberg 864e1797d9 Merge pull request #12396 from Microsoft/getTypeOfExpression
Introduce 'getTypeOfExpression' function
2016-11-22 15:33:37 -08:00
Anders Hejlsberg d7dd0289d5 Distribute isomorphic mapped types over union types 2016-11-22 14:27:39 -08:00
Ryan Cavanaugh 86583d495c Merge pull request #12441 from RyanCavanaugh/jsDocAugments
Support JSDoc @augments tag
2016-11-22 11:23:45 -08:00
Ryan Cavanaugh 6a5682c4a3 Support JSDoc @augments tag
Fixes #12428
2016-11-22 10:52:47 -08:00
Anders Hejlsberg 77c0540433 Merge pull request #12425 from Microsoft/keyofOnlyStrings
Change 'keyof T' to always be string-like
2016-11-21 15:51:00 -08:00
Anders Hejlsberg 1710df5f28 Type of for-in variable is keyof T when object type is a type parameter 2016-11-21 12:56:32 -08:00
Anders Hejlsberg 76ceab97dd Make keyof T a string-like type 2016-11-21 11:41:51 -08:00
Nathan Shively-Sanders 409253145e Merge pull request #12335 from Microsoft/getJSDoc-cleanup
getJSDocs cleanup
2016-11-21 11:30:27 -08:00
Anders Hejlsberg 998246af9c Merge pull request #12389 from Microsoft/keyofRelations
Minor fixes for 'keyof T' and indexed acces types
2016-11-20 15:54:41 -08:00
Anders Hejlsberg 4ed3225c06 Add optimized getTypeOfExpression function 2016-11-20 08:13:39 -08:00
Anders Hejlsberg dcd225a892 Fix comparable relation for keyof T
Treat keyof T as string | number for purposes of indexing
Allow indexed access types with for-in and in operator
2016-11-19 09:03:23 -08:00
Nathan Shively-Sanders 71b28a024a Merge pull request #12310 from Microsoft/check-object-rest-destructuring-assignment
Check object rest destructuring assignment
2016-11-18 16:01:25 -08:00
Nathan Shively-Sanders b514d7c91c Merge pull request #12362 from Microsoft/disable-evolving-types-with-implicit-any
Disable evolving types with implicit any
2016-11-18 15:39:02 -08:00
Nathan Shively-Sanders ab84cd0647 Improve readability of types and names 2016-11-18 15:03:40 -08:00
Nathan Shively-Sanders 7750fe1a7c Always enable evolving types in Javascript files 2016-11-18 14:13:56 -08:00
Nathan Shively-Sanders 8674d92bdb Disable evolving types with implicit any
That is, without --noImplicitAny
2016-11-18 13:51:44 -08:00
Anders Hejlsberg 2376e30410 Support apparent types for T[K] indexed access types 2016-11-18 13:30:56 -08:00
Myles Megyesi d8b0f239f1 Fixes error message when Type is used as a Namespace
Fixes #12075
2016-11-18 11:38:24 -06:00
Anders Hejlsberg 63387bb5e0 Error on circular constraints in mapped types 2016-11-18 06:13:04 -08:00
Anders Hejlsberg 2646828198 Type relations for generic mapped types 2016-11-17 20:18:00 -08:00
Nathan Shively-Sanders ddffe209f9 Clean up getJSDocParameterTag
And delete its near-duplicate which was much less correct. The callers
that had to switch are slightly more complex and more correct now.
2016-11-17 14:26:38 -08:00
Nathan Shively-Sanders 5a05b94fb5 Clean up getJSDocs
1. Get rid of parent check.
2. Use a couple of nested functions, one of them a recursive worker.
2016-11-17 13:27:57 -08:00
Nathan Shively-Sanders ad9ad8f948 Clean up getJSDocTypeForVariableLikeDeclarationFromJSDocComment
Yeah, that name is way too long.
2016-11-17 11:08:11 -08:00
Paul van Brenk 52ec508e27 Code fix for missing imports (#11768)
* Add codefix for missing imports + tests

* Re-order and cleanup

* refactor

* make tests pass

* Make import specifier for new imports more comprehensive

* Fix existing import cases

* refactor

* Fix multiple import statement case

* add multiple code fixes and code action filtering and polishing

* not using the generic verify method for import fixes.

* Correct insert position for new imports

* improve the code action filtering logic

* Fix line ending issue

* cache where we can
2016-11-16 16:01:16 -08:00
Nathan Shively-Sanders 5dbe5f4fbd Widen literal types of parameter properties 2016-11-16 15:24:42 -08:00
Nathan Shively-Sanders 074014e039 Check assignability: rest destructuring assignment 2016-11-16 13:41:25 -08:00
Ron Buckton 3a95f9244b Merge pull request #11874 from Microsoft/emitHelper
Move emit helpers into related transformers
2016-11-16 10:37:35 -08:00
Anders Hejlsberg a5d9e9624d Merge pull request #12301 from Microsoft/recursiveMappedTypes
Fix recursive mapped types
2016-11-16 10:23:14 -08:00
Anders Hejlsberg c5ab4735ac Resolve upfront so recursive mapped types appear empty 2016-11-16 06:48:51 -08:00
Ron Buckton ec95f4f0f7 Merge branch 'streamlineDestructuring' into emitHelper 2016-11-15 18:13:52 -08:00
Ron Buckton 3a67174314 Merge branch 'master' into streamlineDestructuring 2016-11-15 18:10:02 -08:00
Ron Buckton 346d488c62 Merge branch 'master' into emitHelper 2016-11-15 17:13:57 -08:00
Ron Buckton 0dd96f52e8 Merge branch 'master' into streamlineDestructuring 2016-11-15 13:38:56 -08:00
Anders Hejlsberg 73ada7a78d Merge pull request #12251 from Microsoft/fixTypePredicateStructuralMatch
Fix type predicates with structurally identical types
2016-11-15 13:20:35 -08:00
Anders Hejlsberg 0ba23483e8 Merge pull request #12276 from Microsoft/libMappedTypes
Predefined mapped types in lib.d.ts
2016-11-15 13:19:58 -08:00
Anders Hejlsberg fe3f88cd08 Properly handle identity relation for mapped types 2016-11-15 12:14:02 -08:00
Nathan Shively-Sanders 2496756aed Merge branch 'master' into object-spread-rest-fixes 2016-11-15 11:19:01 -08:00
Nathan Shively-Sanders b9fa06f90b Address PR commennts
Update baselines with smaller emit as part of that.
2016-11-15 09:10:55 -08:00
Nathan Shively-Sanders a74e9d8ccf Merge pull request #12158 from Microsoft/fix-literal-comparability-in-relational-comparison-operators
Fix literal comparability in relational comparison operators
2016-11-15 08:24:06 -08:00
Anders Hejlsberg d2c0952801 Revert type predicates to not have instanceof special casing 2016-11-14 17:13:49 -08:00
Ron Buckton 60d5195112 Update baselines, fix assignment check for object rest. 2016-11-14 16:56:59 -08:00
Nathan Shively-Sanders 6f274eaabe Spread+rest fixes
1. Rename finds identifiers in spread assignment expressions.
2. Spreads with computed properties of type number or any no longer
crash the compiler.
3. Rest emit uses indexOf === -1 instead of !indexOf to filter properties.
4. Rest emit correctly refers to computed properties' generated temps.
2016-11-14 16:20:43 -08:00