22243 Commits

Author SHA1 Message Date
Sheetal Nandi
306ed1291b Invalidate resolutions from typeRoots watch event as a fallback mechanism
There are times when the directory watcher for failed lookup locations isnt invoked and is not very determinitstic
So as a fallback, when we receive typeRoots watch event, handle failed lookup locations as well
2018-03-22 13:54:41 -07:00
Andy
67670d8726
Revert change to canUseEvents in IoSessionOptions (#22791) 2018-03-22 10:29:32 -07:00
Nathan Shively-Sanders
4462c159b1
Correctly track thisContainer for this-property-assignments in JS nested containers (#22779)
* Track thisContainer for this-property-assignments in JS

Previously it would update on every block, not just those that could
bind `this`.

In addition, if the constructor symbol still can't be found, then no
binding happens. This is usually OK because people don't add new
properties in methods too often.

* Update additional baselines

* Add lib:dom to new test

* Address PR comments

* Correct new name for saveThisParentContainer
2018-03-22 09:54:43 -07:00
Sheetal Nandi
f3a1f165c2
Merge pull request #22729 from Microsoft/renameNodeModulesContainingAtTypes
Fix when program module resolution in watch mode when node_modules folder itself gets the rename event
2018-03-22 09:40:53 -07:00
Andy
6d82a20109
Combine getLastChild helpers (#22418) 2018-03-22 09:32:05 -07:00
Andy
b6b51a4d38
convertFunctionToEs6Class: Combine deletes and deletedNodes (#22742) 2018-03-22 08:22:00 -07:00
Andy
f2f2393f4b
convertFunctionToEs6Class: Copy comments from constructor to class (#22738) 2018-03-22 08:12:02 -07:00
Andy
effcf2ac56
Fix test for overlapping changes (#22741) 2018-03-22 08:11:27 -07:00
Andy
3a3f57acfd
Remove unnecessary exports (#22739) 2018-03-22 08:10:52 -07:00
Andrew Casey
16697f6c7d
Merge pull request #22591 from amcasey/SessionOptions
Delete IoSessionOptions
2018-03-21 17:18:32 -07:00
Anders Hejlsberg
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-Sanders
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 Hejlsberg
ee546fb30f
Merge pull request #22764 from Microsoft/fixInferTypeDeclarationFiles
Fix missing 'infer T' in declaration files
2018-03-21 14:17:51 -07:00
Anders Hejlsberg
275311edd3 Accept new baselines 2018-03-21 13:35:26 -07:00
Anders Hejlsberg
eb3fd150a7 Add regression test 2018-03-21 13:35:15 -07:00
Anders Hejlsberg
174f400d8d Accept new baselines 2018-03-21 13:31:40 -07: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-Sanders
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
09da98b185 Accept new baselines 2018-03-21 10:03:57 -07:00
Anders Hejlsberg
4fef35cdd0 Add regression test 2018-03-21 10:03:48 -07:00
Anders Hejlsberg
b2a517e314 Accept new baselines 2018-03-21 10:03:34 -07:00
Anders Hejlsberg
fa8564fa9e Add test to verify errors on nested 'infer T' declarations 2018-03-21 10:03:07 -07:00
Anders Hejlsberg
fbd50487a5 Properly generate 'infer T' declarations in typeToTypeNode 2018-03-21 10:01:30 -07:00
Anders Hejlsberg
be4f2d9b08 Accept new baselines 2018-03-21 06:48:22 -07:00
Anders Hejlsberg
c94d28dbc8 Add test 2018-03-21 06:47:57 -07:00
csigs
6a86534d81
LEGO: Merge pull request 22754
LEGO: Merge pull request 22754
2018-03-20 21:10:44 -07:00
csigs
cda4b13d3f LEGO: check in for master to temporary branch. 2018-03-21 04:10:22 +00:00
csigs
f526340d73
LEGO: Merge pull request 22745
LEGO: Merge pull request 22745
2018-03-20 15:11:10 -07: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
Andy
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
Andy
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-Sanders
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-Sanders
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
d3b55f40e5
LEGO: Merge pull request 22719
LEGO: Merge pull request 22719
2018-03-20 09:10:48 -07:00
csigs
bc3d6a4b3c LEGO: check in for master to temporary branch. 2018-03-20 16:10:28 +00:00
csigs
8b9d6dff52
LEGO: Merge pull request 22714
LEGO: Merge pull request 22714
2018-03-20 03:10:51 -07:00
csigs
d39d21ec1b LEGO: check in for master to temporary branch. 2018-03-20 10:10:29 +00:00
csigs
6aa0afb87d
LEGO: Merge pull request 22711
LEGO: Merge pull request 22711
2018-03-19 21:10:41 -07:00
csigs
7141522368 LEGO: check in for master to temporary branch. 2018-03-20 04:10:21 +00:00
Wesley Wigham
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
56710dd537 Accept new baselines 2018-03-19 16:29:11 -07:00
Anders Hejlsberg
16f571b026 Add tests 2018-03-19 16:29:00 -07:00
Anders Hejlsberg
8cb9ac9ab0 Accept new baselines 2018-03-19 16:28:50 -07:00
Anders Hejlsberg
de1ebb4a84 Add constraints to indexed access types in conditional types 2018-03-19 16:11:36 -07:00
Nathan Shively-Sanders
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