Commit Graph
18662 Commits
Author SHA1 Message Date
Anders HejlsbergandGitHub 6a9055ca0b Merge pull request #27612 from Microsoft/fixSwitchCaseControlFlow
Fix switch case control flow
2018-10-08 11:12:24 -07:00
Nathan Shively-Sanders b185784708 Only functions can be constructor functions (#27369)
`@constructor` put on anything incorrectly makes it a JS constructor. This
is a problem for actual constructors, because getJSClassType doesn't
work on actual classes. The fix is to make isJSConstructor require that
its declaration is a function.
2018-10-08 10:14:31 -07:00
Anders Hejlsberg cb47351851 Remove duplicate code 2018-10-08 10:00:04 -07:00
Anders Hejlsberg c80f532e01 Add missing check in getTypeAtSwitchClause 2018-10-08 09:59:47 -07:00
Nathan Shively-Sanders a4a5b3806e Report circular JSDoc type references (#27404)
JSDoc types references can often be to values, which can often be
circular in ways that types tied to declarations cannot. I decided to
create a separate property on SymbolLinks rather than reusing
declaredType, although I'm not sure that's strictly required.
2018-10-08 08:56:29 -07:00
Benjamin LichtmanandGitHub 6afa880aa3 Merge pull request #27573 from uniqueiniquity/alwaysAwait
Always await expression of promise type in return position
2018-10-08 08:47:44 -07:00
Daniel RosenwasserandGitHub 8474949336 Merge pull request #27203 from sbaidon/signatureHelpInAdjacentBlockBody
Fix signature help not showing in block body bug
2018-10-07 23:07:59 -07:00
Ron BucktonandGitHub 85a3475df8 Merge pull request #26707 from mprobst/async-super-rename-safe
Per-property super accessors in async functions.
2018-10-05 17:20:21 -07:00
Wesley WighamandGitHub 6175e60fec Formatting a union should not create a 1-element union type node (#27582) 2018-10-05 16:11:47 -07:00
Wesley WighamandGitHub 07dbd8be21 Discriminate jsx contextual types same as object contextual types (#27408)
* Discriminate jsx contextual types same as object contextual types

* Extract core discrimination algorithm to getDiscriminationResultForProperty

* Merge all discrimination implementations

* Fix lints
2018-10-05 15:11:12 -07:00
Wesley WighamandGitHub a7b4635446 Add object check to justify cast (#27576) 2018-10-05 14:40:23 -07:00
Wesley WighamandGitHub 4ad6541646 Store and check deferred nodes by containing file (#27378) 2018-10-05 14:40:09 -07:00
Nathan Shively-SandersandGitHub c080324974 Elt access assignment uses declared, not narrowed type (#27574)
I forgot to do this in #26424.

Fixes #27557
Fixes #27412
2018-10-05 11:30:10 -07:00
Benjamin Lichtman 2ebd986d99 Always await expression of promise type in return position 2018-10-05 09:59:22 -07:00
Wesley WighamandGitHub e1d346ea53 Infer tuples for jsx children if contextually typed by a tuple (#27409) 2018-10-04 17:56:38 -07:00
AndyandGitHub deeb40129d Remove duplicate case in parseJsDocCommentWorker (#27164) 2018-10-04 15:44:01 -07:00
Wesley WighamandGitHub 10edf6fa58 Widen export assignment types so they arent accidentally fresh (#27397) 2018-10-04 14:27:19 -07:00
Nathan Shively-SandersandGitHub 04266aa617 narrowTypeByInstanceof understands ctor funcs (#27551)
* narrowTypeByInstanceof understands ctor funcs

* Rename test filename

* Fix whitespace lint
2018-10-04 13:52:38 -07:00
Wesley WighamandGitHub f07404938f Replace subtype check in derivedness check with flags and structure checks (#27403)
* Replace subtype check in derivedness check with flags and structure checks

* Remove now extraneous clause
2018-10-04 12:55:39 -07:00
AndyandGitHub 62306bc3f9 Fix git submodule update syntax (#27549) 2018-10-04 09:03:20 -07:00
Ron BucktonandGitHub a36e6e3976 Merge pull request #27410 from Microsoft/freeUpTransformFlags
Free up space in the TransformFlags enum
2018-10-03 12:39:09 -07:00
AndyandGitHub 9bdd6a3b55 Support loading "index.d.ts" using "typesVersions" without "types", "typings", or "main" (#27514)
* Support loading "index.d.ts" using "typesVersions" without "types", "typings", or "main"

* Update baseline
2018-10-03 11:44:16 -07:00
Anders HejlsbergandGitHub 81f8b47e5f Merge pull request #27370 from Microsoft/fixInstanceOfFunction
Fix instanceof with type Function for right argument
2018-10-03 10:59:50 -07:00
Anders HejlsbergandGitHub 9851d6f457 Merge pull request #27490 from Microsoft/indexedAccessConstraint
Limit unsound indexed access type relations
2018-10-03 10:58:45 -07:00
Ryan CavanaughandGitHub f53a27eac0 Merge pull request #27515 from basarat/master
📝 Better description of Pick mapped type
2018-10-03 09:56:20 -07:00
Ryan CavanaughandGitHub 5666be682c Merge pull request #27517 from brandonmbanks/typo-comments
fix typo in performance mark name
2018-10-03 09:41:11 -07:00
Martin Probst e58ffcf509 fix comments 2018-10-03 15:46:04 +02:00
Martin Probst e618d752b6 Fixes for review comments.
* rename _super to _superIndex and _superProps to _super.
* reinstate early exit for transformers by marking super accesses as
  esnext/es2017 in `binder.ts`.
* adjust comment in `checker.ts` to new emit.
2018-10-03 15:46:04 +02:00
Martin Probst f0826cfeaa Per-property super accessors in async functions.
TypeScript must hoist accessors for super properties when converting
async method bodies to the `__awaiter` pattern for targets before
ES2016.

Previously, TypeScript would reify all property accesses into element
accesses, i.e. convert the property name into a string parameter and
pass it to `super[...]`. That breaks optimizers like Closure Compiler or
Uglify in advanced mode, when property renaming is enabled, as it mixes
quoted and un-quoted property access (`super['x']` vs just `x` at the
declaration site).

This change creates a variable `_superProps` that contains accessors for
each property accessed on super within the async method. This allows
accessing the properties by name (instead of quoted string), which fixes
the quoted/unquoted confusion. The change keeps the generic accessor for
element access statements to match quoting behaviour.

Fixes #21088.
2018-10-03 15:46:04 +02:00
Nathan Shively-SandersandGitHub 9aeb6e2ac4 Also --init git submodules when running user tests (#27508) 2018-10-03 06:31:26 -07:00
Brandon Banks 804a2fd66a fix typo in performance mark name 2018-10-02 22:52:17 -04:00
Basarat Ali SyedandGitHub c86b9ca660 📝 Better description of Pick mapped type
closes https://github.com/Microsoft/TypeScript/issues/25976
2018-10-03 10:57:43 +10:00
AndyandGitHub 16766b196c textChanges: Reuse some methods (#27492) 2018-10-02 17:34:17 -07:00
Ryan CavanaughandGitHub 5f96fb13b2 Merge pull request #27313 from spratmannc/spratmannc/fixing-extends-helper
adding missing semi-colon to extendsHelper
2018-10-02 12:06:04 -07:00
Ryan CavanaughandGitHub c04faa1e5b Merge pull request #27485 from IllusionMH/fix-completionInfo-exception-27338
Use safe some function to handle undefined declarations (fixes #27338)
2018-10-02 11:28:38 -07:00
Wesley WighamandGitHub 1e55d650f3 Exclude the overlap between Type and Value when checking for parameter visibility (#27444) 2018-10-02 09:41:06 -07:00
Valera RozuvanandAndy b15d6a48cb Fix GH#18217 issue for FileLog. (#27430)
* Fix GH#18217 issue for FileLog.

* Refactor FileLog class to not use isEnabled property.
2018-10-02 09:09:51 -07:00
Alessandro VerganiandGitHub bbf77538c4 Remove unneeded check from getTransformationBody
Remove unneeded `argName` check, because it always evaluates to `true` (the `false` case is handled just before the modified line)
2018-10-02 16:02:04 +02:00
Benjamin LichtmanandAndy f356cd6c89 Insert async keyword as last modifier (#27491) 2018-10-01 17:43:17 -07:00
Anders Hejlsberg c0c215fb66 No unsound assignments to T[K] when T and K are both generic 2018-10-01 16:20:15 -07:00
Ryan CavanaughandGitHub 70e26fc701 Merge pull request #27447 from mattmccutchen/issue-27117
Don't complain about `modules` and `outFile` options when `emitDeclarationOnly` is set.
2018-10-01 15:50:08 -07:00
Sheetal NandiandGitHub 29dd67ec40 Merge pull request #27443 from Microsoft/errorMessageLogger
Default logger for projectService has assert on exceptions being logged in tsserver
2018-10-01 15:04:03 -07:00
Sheetal NandiandGitHub 6e8027e95e Merge pull request #27395 from Microsoft/noFilesError
Refactoring to unify updating no input files error
2018-10-01 15:03:44 -07:00
Ryan CavanaughandGitHub 3331d073c4 Merge pull request #26070 from ajafff/tuple-rest
Infer array rest as tuple if possible
2018-10-01 13:56:28 -07:00
IllusionMH d0abd399af Use safe some function to handle undefined declarations (fixes #27338) 2018-10-01 23:11:32 +03:00
Sheetal NandiandGitHub d2647a1dda Merge pull request #27483 from Microsoft/redirects
Fix issue of program not being reused when host implements getSourceFileByPath
2018-10-01 12:46:59 -07:00
AndyandGitHub 8feddcd16d Clean up amalgamatedDuplicates (#27285)
* Clean up amalgamatedDuplicates

* Code review
2018-10-01 12:16:49 -07:00
AndyandGitHub 115636bb93 Minor cleanup in bindNamespaceExportDeclaration (#27367)
* Minor cleanup in bindNamespaceExportDeclaration

* Change formatting
2018-10-01 12:15:10 -07:00
Sheetal Nandi dd3277c219 PR feedback 2018-10-01 12:12:22 -07:00
Sheetal NandiandGitHub bc23037e14 Merge pull request #27438 from Microsoft/failedLookupNotMatchingPath
Handle the case of failed lookup location being not normalized in resolutionCache to watch the path
2018-10-01 11:57:34 -07:00