Commit Graph
11156 Commits
Author SHA1 Message Date
Nathan Shively-Sanders c798e2109c Compare merged targetInitializer to target
Instead of the unmerged one
2018-05-15 12:18:40 -07:00
Nathan Shively-Sanders 68875dc5c8 JS initializers use original valueDecl, not mutated
target's valueDeclaration is set to the source's if it is not present.
This makes it incorrect to use getJSInitializerSymbol because it relies
on the symbol's valueDeclaration.

This fix just saves the original valueDeclaration before mutating and
uses that.
2018-05-15 12:18:25 -07:00
Bill Ticehurst 850cfc59ba Bump version to 2.8.4 2018-05-10 23:05:35 -07:00
Ryan Cavanaugh e03e2aef5f Port fix #24050 from master to release-2.8
Fixes #24015
2018-05-10 22:18:38 -07:00
Andy 149803bb12 Fix bug: don't insert a semicolon when inserting a FunctionDeclaration (#23240) (#23289) 2018-04-09 16:24:50 -07:00
Sheetal Nandi 0e0ecbcef5 Merge pull request #23241 from Microsoft/skipWatchingTypeCacheInfos
[release-2.8] Skip watching script infos in the global type cache location
2018-04-09 11:31:06 -07:00
Sheetal Nandi dc3f4c377c Do not watch script infos that are part of global typings location 2018-04-06 17:10:28 -07:00
Daniel Rosenwasser 82e54fda8e Update version to '2.8.3'. 2018-04-06 15:13:07 -07:00
Wesley Wigham a94e318604 Only include unique symbols when getting index types for access checks (#23145) (#23175)
* Only include unique symbols when getting index types for access checks

* Filter all nonstrings

* Inline ternary
2018-04-05 12:12:44 -07:00
Nathan Shively-Sanders 16687e6ebf Fix crash in type resolution in JS IIFEs (#23171)
* Fix crash in type resolution in JS IIFEs

We recognise IIFEs as JS special assignment initialisers, but not as
containers otherwise. That means that IIFEs will not have a symbol
unless they have an *outside* assignment.

The permanent fix will be to make IIFEs a container, based on the
containership of the value that they return. This fix does not do that;
it just makes type resolution return undefined instead of crashing.

* Comment the IIFE-fix line
2018-04-05 09:57:56 -07:00
Anders Hejlsberg 66adcc3f7a Only look up identifiers that could actually be type parameters 2018-04-04 17:27:49 -07:00
Anders Hejlsberg 840c64a605 Less aggressive test for type parameter references in conditional types 2018-04-04 17:27:20 -07:00
Anders Hejlsberg c0986d40bf Constraint of 'T extends U ? T : F' should be 'T & U | F' 2018-04-04 17:26:54 -07:00
Anders Hejlsberg 052680d4ea Fix parent node walk termination condition in getConstrainedTypeVariable 2018-04-04 17:26:27 -07:00
Anders Hejlsberg 60a161e504 Fix formatting 2018-04-04 17:26:22 -07:00
Anders Hejlsberg 53cb993a28 Erase 'infer T' locations in conditional type constraints 2018-04-04 17:25:38 -07:00
Wesley Wigham 4189b9cfad Allow multiple class base types; intersect them, as with interfaces (#23123) (#23130) 2018-04-03 18:35:50 -07:00
Nathan Shively-Sanders ad742c9f0f No error referring to UMD symbol in CommonJS modules (#23129) 2018-04-03 16:10:42 -07:00
Wesley Wigham 1c86d01b64 Actuallt preserve nonblock for of statements in forofs with object rest (#23122) (#23124) 2018-04-03 16:08:45 -07:00
Wesley Wigham 51b895c891 Consider jscontainer aliases as referencible even if they have other local meanings (#23119) (#23121) 2018-04-03 13:31:55 -07:00
Mohamed Hegazy ae670baa59 Update version 2018-04-03 12:53:09 -07:00
Wesley Wigham a9c5025664 Move JSX props support check and make syntactic (#22970) (#22996)
* Move JSX props support check and make syntactic

* Make parameter required
2018-03-29 13:50:05 -07:00
Wesley Wigham 0b2d6f6993 Dont let an import that doesnt need helpers override one that does (#22966) (#22990) 2018-03-29 11:58:20 -07:00
Sheetal Nandi 9b69093db9 PR feedback 2018-03-29 09:22:18 -07:00
Sheetal Nandi 9285c1b168 Do not watch child directories of the sym link folders
Fixes #22668
2018-03-29 09:22:11 -07:00
Sheetal Nandi 36d0274a66 Ensure our readonly emptyArray stays non modified. 2018-03-29 09:21:31 -07:00
Sheetal Nandi 4fcf5bc225 Correct the incremental parsing when there is jsDoc node
Fixes #22924
2018-03-28 15:44:01 -07:00
Anders Hejlsberg ca3d0d37a7 Change to more conservative conditional type relationship 2018-03-28 12:06:00 -07:00
Anders Hejlsberg b4e83f5c12 Add missing type relationship for conditional types 2018-03-28 12:05:42 -07:00
Anders Hejlsberg fc37c8b89c Obtain constraint from destructured property when applicable 2018-03-28 12:05:06 -07:00
Wesley Wigham 52f826a46e Revert assertion addition (#22622) (#22920) 2018-03-27 17:49:05 -07:00
Wesley Wigham 0a1d427f63 Alternate but more general token comment emit fix + organizeImports fix (#22836) (#22840)
@amcasey: Preserve leading trivia when organizing imports

When organizing imports, we used to move the leading and trailing trivia
of each individual import with that import as it was repositioned or
deleted.  This had the unfortunate effect of repositioning or deleting
the header comment of the file.

Our new approach is to leave the leading trivia of the first import
ahead of the resulting block of imports (i.e. it no longer follows the
first import as it is repositioned or deleted).  Trailing trivia on the
first import and trivia on subsequent imports are treated as before.
2018-03-26 13:56:58 -07:00
Ryan Cavanaugh a507246ea9 Always include parent folder failed lookup locations 2018-03-23 14:59:22 -07:00
Sheetal Nandi 477ee3daf5 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 20:42:54 -07:00
Wesley Wigham 459df020dc Improve assertion violation message (#22522) 2018-03-22 12:43:49 -07:00
Sheetal Nandi 3ad21c7494 Merge pull request #22793 from Microsoft/renameNodeModulesContainingAtTypes
[release-2.8] Fix when program module resolution in watch mode when node_modules folder itself gets the rename event
2018-03-22 10:03:09 -07:00
Mohamed Hegazy 5d58dd6925 Update version 2018-03-22 09:48:56 -07:00
Sheetal Nandi 4075018079 Fix when program module resolution in watch mode when node_modules folder itself gets the rename event
Fixes #22712
2018-03-22 09:43:19 -07:00
Nathan Shively-Sanders f190842d13 Fix crash after var = require('x') type resolution (#22452)
* Harden var x=require name resolution+update chrome baseline

Chrome-devtools crashed after the new `var = require('x')` resolution
because it forgot to check whether the declaration had an initializer.

* Update chrome-devtools-frontend baseline
2018-03-22 08:53:21 -07:00
Daniel Rosenwasser e5f0385816 Merge pull request #22780 from Microsoft/fixInferDeclarationFiles-release-2.8
[release-2.8] Fix infer declaration files
2018-03-21 17:16:44 -07:00
Anders Hejlsberg 150f437372 Revise binder logic to correctly find 'infer T' containers 2018-03-21 15:53:29 -07:00
Anders Hejlsberg 12460d5b03 Revert strict containment check in checkInferType 2018-03-21 15:53:29 -07:00
Anders Hejlsberg 8efe711151 Properly generate 'infer T' declarations in typeToTypeNode 2018-03-21 15:53:28 -07:00
Anders Hejlsberg 394cf8dfe6 Implicit constraints in non-distributive '[T] extends [U] ? X : Y' types 2018-03-21 15:48:03 -07:00
Anders Hejlsberg 59252f3e66 Add constraints to indexed access types in conditional types 2018-03-21 15:48:01 -07:00
Nathan Shively-Sanders c2e22dc469 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:14:19 -07:00
Wesley Wigham 044cdbc85f 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 17:59:06 -07:00
Sheetal Nandi cdf5b419f8 Do not send first missing file event as well. 2018-03-19 11:41:49 -07:00
Nathan Shively-Sanders 0f5166535e Improve unmatched jsdoc param error (#22577)
* Improve unmatched jsdoc parameter error message

* Remove extraneous carriage return
2018-03-14 12:37:57 -07:00
Nathan Shively-Sanders ee8adaeac2 No error on unmatchable @param tags (#22510)
* No errr on unmatchable `@param` tags

Such as when the initializer is not a function, or when the function
mentions `arguments` in its body.

* Do not require dummy param for JS uses of arguments

1. JS functions that use `arguments` do not require a dummy parameter in
order to get a type for the synthetic `args` parameter if there is an
`@param` with a `...` type.
2.JS functions that use `arguments` and have an `@param` must have a
type that is a `...` type.

* Check for array type instead of syntactic `...`

* Address PR comments

* Update baselines
2018-03-14 11:06:25 -07:00