10637 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
16a8003011 push/popTypeResolution for circular base constraints
Instead of a custom cache `typeStack`.
2018-01-11 10:07:59 -08:00
Nathan Shively-Sanders
7f8ec15edd Merge branch 'master' into fix-recursive-mapped-type-infinite-recursion 2018-01-10 15:44:42 -08:00
Nathan Shively-Sanders
f0ef9a08d8 getConstraintOfTypeParameter:check circularity in base constraint 2018-01-10 15:40:25 -08:00
Nathan Shively-Sanders
40b896a73c
Merge pull request #17912 from Microsoft/fix2-getConstraintOfIndexedAccess
Fix2 get constraint of indexed access
2018-01-10 15:17:02 -08:00
Nathan Shively-Sanders
8f45373e44 Rename simplifyIndexedAccessType->getSimplifiedIndexedAccessType 2018-01-10 14:43:55 -08:00
Nathan Shively-Sanders
0b23811a56 Handle indexed mapped types in transformIndexedAccessType
Also rename transformIndexedAccessType to simplifyIndexedAccessType
2018-01-10 14:00:52 -08:00
Andy
7a1deae6aa
AsteriskToken should always have length 1 (#21126) 2018-01-10 12:52:35 -08:00
Nathan Shively-Sanders
7dbea0e82d Merge branch 'master' into fix2-getConstraintOfIndexedAccess 2018-01-10 12:40:35 -08:00
Wesley Wigham
ee87cf409b
Print the correct type in the top level chain as the message indicates (#21127) 2018-01-10 11:41:14 -08:00
Andy
102368332e
Use 'append' helper more (#21125) 2018-01-10 11:31:13 -08:00
Andy
ddd8e759c1
Use 'append' helper (#21101) 2018-01-10 11:13:47 -08:00
Wesley Wigham
c9ef52b9d8
Do not always instantiate jsx signatures (#21108) 2018-01-09 17:22:19 -08:00
Sharon Rolel
c0bdd12c4c add fixAwaitInSyncFunction code fix (#21069)
* add fixAwaitInSyncFunction code fix

* Just insert the keyword

* only one codefix

* remove comment

* Change explicit return type T to Promise<T>

* Review changes

* Change codefix message
2018-01-09 17:15:08 -08:00
Stanislav Iliev
03fd77657d Issue implicit any errors for mapped types without annotations (#21104)
* Fixed #21011

* Updated code of merged message

* Reversed message code change and moved error to it's appropriate position

* Applied suggested improvements

* Fixed wrong diagnostics message in checker

* Reverted diagnostic message change
2018-01-09 17:11:57 -08:00
Andy
8bce69e6bd
Add refactoring to convert CommonJS module to ES6 module (#19916)
* Add refactoring to convert CommonJS module to ES6 module

* Code review

* includeGlobals -> excludeGlobals

* Improve handling of `module.exports = require("...")`

* Allow NoSubstitutionTemplateLiteral as argument to createLiteral
2018-01-09 13:15:47 -08:00
Andy
191b9750c3
Clear jsDocCache for reused nodes (#21099) 2018-01-09 11:22:15 -08:00
Wesley Wigham
fdd8a52240
Offer per-member diagnostics for incorrectly implemented inherited members (#21036)
* Offer per-member diagnostics for incorrectly implemented inherited members on classes

* Revise error message, make containingChain a thunk

* Fix typo in comment
2018-01-09 10:20:07 -08:00
Andy
5ab5694a5b
Don't count self-reference in more cases (skip more nodes when setting lastNonBlockLocation) (#21095) 2018-01-09 09:53:39 -08:00
Wenlu Wang
062f97a6fa allow const enum in type query (#21083) 2018-01-09 09:24:00 -08:00
Remo H. Jansen
73e3e8d790 Fixes #20026 (#20157)
* Added test case for #20026

* Implemented #20026

* Addresed comments at Microsoft/TypeScript/pull/20157#discussion_r152086287

* Fixed merge issues

* Fixed baseline issue

* Merged upstream
2018-01-08 17:25:56 -08:00
Andy
c4d76292f1
Ensure visitor visits the awaitModifier of a ForOfStatement (#21078) 2018-01-08 17:22:32 -08:00
Andy
37d4f6a69d Mark references to dynamically-named properties as used (#21010)
* Mark references to dynamically-named properties as used

* Avoid showing the symbol ID

* Use symbolToString instead of showSymbol
2018-01-08 16:44:58 -08:00
Wesley Wigham
7e6315075d
Synthesize namespace records for proper esm interop (#19675)
* Integrate importStar and importDefault helpers

* Accept baselines

* Support dynamic imports, write helpers for umd module (and amd is possible) kinds

* Accept baselines

* Support AMD, use same helper initialization as is normal

* update typechecker to have errors on called imported namespaces and good error recovery with a quickfix

* Overhaul allowSyntheticDefaultExports to be safer

* Put the new behavior behind a flag

* Rename strictESM to ESMInterop

* ESMInterop -> ESModuleInterop, make default for tsc --init

* Rename ESMInterop -> ESModuleInterop in module.ts, add emit test (since fourslash doesnt do that)

* Remove erroneous semicolons from helper

* Reword diagnostic

* Change style

* Edit followup diagnostic

* Add secondary quickfix for call sites, tests forthcoming

* Add synth default to namespace import type, enhance quickfix

* Pair of spare tests for good measure

* Fix typos in diagnostic message

* Improve comment clarity

* Actually accept the updated changes to the esmodule interop description

* ESModule -> esModule

* Use find and not forEach

* Use guard

* Rely on implicit falsiness of Result.False

* These should have been emit flags
2018-01-08 16:36:23 -08:00
Mohamed Hegazy
24114d8c05 Merge branch 'master' of https://github.com/Microsoft/TypeScript 2018-01-08 14:57:26 -08:00
Andy
a23bbe65e6
Use substring instead of substr (#20578)
* Use substring instead of substr

* Remove unused scanning of SyntaxKind.DotDotDotToken in jsdoc

* Remove other unnecessary jsdoc syntax kinds

* Move all pos++ together
2018-01-08 14:54:18 -08:00
Mohamed Hegazy
1235f78232 Merge branch 'issue20410' of https://github.com/benbraou/TypeScript into benbraou-issue20410 2018-01-08 14:42:51 -08:00
Wesley Wigham
b1a0261575
If declaration emit input is a module, output should be a module (#20626) 2018-01-08 13:58:34 -08:00
Wesley Wigham
b2f2610b85
Use getInternalName not getLocalName (#20168) 2018-01-08 13:55:50 -08:00
Mohamed Hegazy
c632e44350
Merge branch 'master' into issue20410 2018-01-08 13:28:59 -08:00
Daniel Rosenwasser
6d596c058e
Merge pull request #20726 from kujon/indexable_types
Improved error messaging for index signature parameters
2018-01-08 13:23:39 -08:00
Wenlu Wang
0ecdc876f3 imporve conditional operator if missing colon token (#20498)
f2
2018-01-08 13:16:17 -08:00
Wenlu Wang
a82d1f8580 ignore Initial check if left of DestructuringAsignment (#20906) 2018-01-08 13:13:23 -08:00
Wenlu Wang
06c9a28b36 fix narrowType check with template literals (#21024) 2018-01-08 13:06:58 -08:00
Andy
6d361f89e3
Move isObjectLiteralElement to public utilities (#20605) 2018-01-08 12:29:21 -08:00
Wesley Wigham
b5fda4970d
Use emptyObjectType for omitted members instead of unknownType (#20940)
* Use emptyObjectType for omitted members instead of unknownType

* Use similar logic as is used for empty arrays for missing elements
2018-01-08 12:27:11 -08:00
Andy
20c846d671
Add helper functions to simplify getCompletionEntryDisplayNameForSymbol (#20552) 2018-01-08 11:48:25 -08:00
Andy
50fa0f61f5
Fix bug: Resolve module symbol before checking whether module export is a re-export (#20989)
* Fix bug: Resolve module symbol before checking whether module export is a re-export

* Remove unnecessary @nolib
2018-01-08 11:33:57 -08:00
Andy
fef7ad4986
Remove unncessary existence check (#21029) 2018-01-08 11:30:36 -08:00
Andy
fc18f08e63
Remove 'indexOf' helper, use 'arr.indexOf()' (#20194) 2018-01-08 10:39:52 -08:00
Andy
f83283c068
Improve parse error for double comma somewhere inside a call expression (#20399) 2018-01-08 10:38:55 -08:00
Andy
7e150a914e
Remove mutually-recursive functions (#20425) 2018-01-08 10:38:11 -08:00
Andy
76eafe0e75
Fix invalid cast (#20426) 2018-01-08 10:37:48 -08:00
Andy
6f2ba15446
Start linting for double spaces (#20820)
* Start linting for double spaces

* Code review

* Fix cases that were excluded by countDoubleSpaces

* Remove extraneous closing parenthesis
2018-01-08 08:52:13 -08:00
Daniel Rosenwasser
1041f09c27
Merge pull request #20941 from mariusschulz/stringCompletionsForIndexedAccessTypes
Return string completions for indexed access types
2018-01-06 21:07:00 -08:00
Klaus Meinhardt
bc2983def9 API: fix types to undefined union (#20909) 2018-01-05 17:36:33 -08:00
Nathan Shively-Sanders
e78ac47208
Merge pull request #20711 from Microsoft/defer-inference-for-recursive-mapped-types
Defer inference for homomorphic mapped types
2018-01-05 16:01:26 -08:00
Nathan Shively-Sanders
f8c86552bc Better name for deferred mapped type:ReverseMapped 2018-01-05 15:44:38 -08:00
Andy
c6e4373403
In checkAndAggregateReturnExpressionTypes, treat MethodDeclaration in an object literal same as a FunctionExpression (#20052)
* In checkAndAggregateReturnExpressionTypes, treat MethodDeclaration in an object literal same as a FunctionExpression

* Add original test case
2018-01-05 12:34:01 -08:00
Marius Schulz
25c5e57091 Return string completions for indexed access types 2018-01-05 18:14:06 +01:00
Andy
f6dc0ad707
Check for unused getter/setter in classes (#21013)
* Check for unused getter/setter in classes

* Write-only use of setter is still a reference; and don't error on setter if getter exists
2018-01-05 09:10:58 -08:00