Commit Graph
26450 Commits
Author SHA1 Message Date
AndyandGitHub b6b51a4d38 convertFunctionToEs6Class: Combine deletes and deletedNodes (#22742) 2018-03-22 08:22:00 -07:00
AndyandGitHub f2f2393f4b convertFunctionToEs6Class: Copy comments from constructor to class (#22738) 2018-03-22 08:12:02 -07:00
AndyandGitHub effcf2ac56 Fix test for overlapping changes (#22741) 2018-03-22 08:11:27 -07:00
AndyandGitHub 3a3f57acfd Remove unnecessary exports (#22739) 2018-03-22 08:10:52 -07:00
Andrew CaseyandGitHub 16697f6c7d Merge pull request #22591 from amcasey/SessionOptions
Delete IoSessionOptions
2018-03-21 17:18:32 -07:00
Anders HejlsbergandGitHub e5f6ed0b60 Merge pull request #22707 from Microsoft/fixIndexedAccessInConditionalType
Fix indexed access in conditional type
2018-03-21 15:18:39 -07:00
Andrew Casey 564183f9ed Fix lint errors 2018-03-21 15:18:06 -07:00
Andrew Casey 9352a8bc11 Delete IoSessionOptions
Many of the operations were unused because the values were being
accessed directly from the enclosing scope.
2018-03-21 14:56:06 -07:00
Nathan Shively-SandersandGitHub de4a69cb72 In source files and blocks, bind function declarations before other statements (#22766)
* Add test case and temporarily disable inference

(Inference of class members from this-assignments inside a
prototype-assigned function.)

* Update baselines

* In blocks and source files, bind functions first

* Add tests from other bugs

* Remove temporary failsafe

* Update tests to restore intent and clean up errors

* Restore intent even better

* Restore intent even better x2

* Add missed baselines
2018-03-21 14:22:09 -07:00
Anders HejlsbergandGitHub ee546fb30f Merge pull request #22764 from Microsoft/fixInferTypeDeclarationFiles
Fix missing 'infer T' in declaration files
2018-03-21 14:17:51 -07:00
falsandtru 4c4f0e8e65 Fix Promise interfaces 2018-03-22 06:02:18 +09:00
Anders Hejlsberg 9083f6cf18 Revise binder logic to correctly find 'infer T' containers 2018-03-21 13:23:58 -07:00
Anders Hejlsberg a75449cabc Revert strict containment check in checkInferType 2018-03-21 13:22:58 -07:00
Nathan Shively-SandersandGitHub c930895d80 Undo 'any' inference propagation (#22736)
* Undo 'any' inference propagation

Removing this only changes one test slightly, and fixes JQuery types,
which rely on the old method of inference.

* Add jquery regression test and update baselines

* Restore any inference propagation to wildcard only
2018-03-21 11:13:39 -07:00
Anders Hejlsberg fbd50487a5 Properly generate 'infer T' declarations in typeToTypeNode 2018-03-21 10:01:30 -07:00
csigs cda4b13d3f LEGO: check in for master to temporary branch. 2018-03-21 04:10:22 +00:00
csigs b1c9a8e9dd LEGO: check in for master to temporary branch. 2018-03-20 22:10:51 +00:00
Anders Hejlsberg 420e58c444 Implicit constraints in non-distributive '[T] extends [U] ? X : Y' types 2018-03-20 14:08:05 -07:00
AndyandGitHub cc3921323c Support services settings (#22236)
* Support services settings

* Code review

* More review

* Use different names for Options and GetCompletionsAtPositionOptions (todo: come up with better names)

* More renames

* More renaming

* Support quote style in importFixes

* Add `importModuleSpecifierPreference` option

* Support quote style for `throw new Error('Method not implemented.')` (#18169)

* options -> preferences
2018-03-20 13:07:59 -07:00
AndyandGitHub 9ee5167030 Evaluate isPrototypePropertyAssignment lazily (#22728) 2018-03-20 12:33:30 -07:00
Sheetal Nandi 020f046696 Fix when program module resolution in watch mode when node_modules folder itself gets the rename event
Fixes #22712
2018-03-20 12:10:13 -07:00
Nathan Shively-SandersandGitHub 1074819be3 Js constructor function fixes (#22721)
* Do not add undefined for this assignments in functions

* Test:constructor functions with --strict

* First draft -- works, but needs a stricter check added

* Update baselines

* Make undefined-skip stricter and more efficient

Symbol-based now instead of syntactic

* Exclude prototype function assignments

* Add explanatory comment
2018-03-20 11:24:09 -07:00
Nathan Shively-SandersandGitHub ab8233c5d3 Two JSdoc parsing fixes (#22705)
* Correctly parse JSDoc type *=

* Allow `markdown` quoted param names in JSDoc

* Add tests and update baselines

* Get correct span for the type '*'

* Fix whitespace lint

* Add unbracketed type test
2018-03-20 09:23:08 -07:00
csigs bc3d6a4b3c LEGO: check in for master to temporary branch. 2018-03-20 16:10:28 +00:00
csigs d39d21ec1b LEGO: check in for master to temporary branch. 2018-03-20 10:10:29 +00:00
csigs 7141522368 LEGO: check in for master to temporary branch. 2018-03-20 04:10:21 +00:00
Wesley WighamandGitHub eaabf920eb Combine keyof T inferences (#22525)
* Combine keyof T inferences

* Extract covariant inference derivation into function

* Test:keyof inference lower priority than return inference

for #22376

* Update 'expected' comment in keyofInferenceLowerPriorityThanReturn

* Update comment in test too, not just baselines

* Fix typo

* Move tests
2018-03-19 16:56:51 -07:00
Anders Hejlsberg de1ebb4a84 Add constraints to indexed access types in conditional types 2018-03-19 16:11:36 -07:00
Nathan Shively-SandersandGitHub b56093f3ac Fix type when annotated with a JSDoc function type (#22692)
* Fix type when annotated with a JSDoc function type

Previously,
1. A variable annotated with a JSDoc function type would not require all
its parameters to be provided. This should only apply to functions
without a type annotation.
2. A parameter in a function with a JSDoc function type annotation would
still have the type 'any'.
3. Two `var` declarations in a Typescript and Javascript file,
respectively, would error even when they had identical function types.

* Update baselines and add constructor test

* Handle ConstructorType too

* Add test:method sig inside literal type

* Contextually type parameters by parent sig's JSDoc

Instead of a syntactic check in getJSDocTag

* Remove redundant check:isUntypedSignatureInJSFile

* Positive check for value signatures

Instead of excluding type signatures piecemeal.
2018-03-19 16:00:45 -07:00
csigs 995c7db8cd LEGO: check in for master to temporary branch. 2018-03-19 22:11:42 +00:00
AndyandGitHub 737859e3c1 Put simpler condition in front of more complex one (#22696) 2018-03-19 13:35:19 -07:00
AndyandGitHub 096b2b0712 Use isFunctionLike instead of switch (#22698) 2018-03-19 13:35:01 -07:00
AndyandGitHub 0df92a1ba1 Simplify isImplementation (#22660) 2018-03-19 11:59:22 -07:00
AndyandGitHub c7215a181c findAllRefs: give entry for union its own definition (#22694) 2018-03-19 11:58:20 -07:00
AdityaDaflapurkarandAndy 76fefddcaa Remove type assertion in sum function (#22670) 2018-03-19 08:19:24 -07:00
Anders Hejlsberg 20c008ecab Mark implied object destructuring patterns as object literal types 2018-03-17 12:02:19 -07:00
Nathan Shively-SandersandGitHub bb23e9601f Parse JSDoc ...T and T= only at top-level JSDoc (#22661)
* Parse JSDoc ...T and T= only at top-level JSDoc

...T and T= should only be legal at the top level of a type, and only in
JSDoc, since at least T= is ambiguous elsewhere. This PR changes parsing
to make that happen. The resulting parse tree is now simpler, allowing
me to get rid of some code I had to add in the checker.

* Extract JSDoc type parsing into its own function

* PR comments:return from parseJSDocType
2018-03-16 16:08:42 -07:00
AndyandGitHub 5fd3ed2c10 Fix indent (#22662) 2018-03-16 15:54:52 -07:00
AndyandGitHub 42c7aa85ce Clean up isNameOfExternalModuleImportOrDeclaration (#22659) 2018-03-16 14:54:41 -07:00
Sheetal Nandi b4e0062b41 Merge branch 'master' into requireJson 2018-03-16 14:46:34 -07:00
AndyandGitHub 92ec1149ac getAllJSDocTagsOfKind always returns a defined result (#22652) 2018-03-16 14:01:28 -07:00
AndyandGitHub 28ff6b6ef3 Store import nodes in SourceFile.imports instead of StringLiteral nodes (#22495)
* Store import nodes in SourceFile.imports instead of StringLiteral nodes

* Change SourceFile#imports storage back

* Code review

* StringLiteral -> StringLiteralLike
2018-03-16 14:01:00 -07:00
AndyandGitHub adf3635a1f For import fix, for "foo/index" module, use "foo" as default export name, not "index" (#22651) 2018-03-16 14:00:33 -07:00
Nathan Shively-SandersandGitHub 3b6ae8536f JSDoc ?Type adds optionality to parameters (#22646)
* jsdoc ?Type adds optionality to parameters

Chrome devtools expects that parameters with type `?T` (or `T?`) add
null to `T` and optionality to the parameter. Previously it only added
null to the type.

Currently the PR does *not* add undefined to the type of
`T`, which is expected by chrome-devtools-frontend, but is inconsistent
with typescript's rules. The implementation achieves this inconsistency by
exploiting the fact that checking the signature adds optionality and
checking the parameter adds `undefined`.

* Update chrome-devtools-frontend baseline

* Add optionality only for jsdoc postfix=

* Skip jsdoc prefix types in isJSDocOptionalParameter

Previously isJSDocOptionalParameter was incorrect for types like
`?number=`, which are optional but have JSDocNullableType as their root
type node.
2018-03-16 13:28:24 -07:00
AndyandGitHub 99d5058568 Add 'isPrototypeAccess' helper (#22648)
* Add 'isPrototypeAccess' helper

* Fix type error
2018-03-16 13:27:47 -07:00
Wesley WighamandGitHub 2d01d76ee5 Change es2015 transform to retain comments on for of loop bodies (#22396) 2018-03-16 12:57:38 -07:00
Matt BiernerandAndy 9774cd5eb5 Fix await code action crashes when await is not in a function (#22623)
Fixes #22614
2018-03-16 11:53:17 -07:00
AndyandGitHub b9f60566d0 For f.prototype.m = function() { this.x = 0; } make x a member of f, not of the function expression (#22643) 2018-03-16 11:35:51 -07:00
Sheetal NandiandGitHub d4788f5d41 Merge pull request #22520 from Microsoft/betterDelete
Do not send first missing file event as well, Do not close typing installers watches just to recreate them
2018-03-16 11:17:23 -07:00
Matt BiernerandAndy 984aaa3ee9 Fix completions and brace in empty file (#22620)
Fixes #22618
2018-03-16 11:05:33 -07:00