6206 Commits

Author SHA1 Message Date
Nathan Shively-Sanders
fb89d47508 Merge pull request #17252 from Microsoft/contextually-type-this-in-object-literals-in-javascript
Contextually type this in object literals in JS
2017-07-18 10:18:10 -07:00
Nathan Shively-Sanders
95f5bc1ee0 Add unknown property to test of contextual this type 2017-07-18 10:01:22 -07:00
Wesley Wigham
695514290f Fix #17023 (#17180)
* Fix #17023

* Be more general when handling matching references through binding elements

* Better cache key, PR feedback

* Deeper tests, better cache key handling
2017-07-18 09:12:25 -07:00
Nathan Shively-Sanders
7d7a06dbc2 Merge pull request #17250 from Microsoft/quickfix-jsdoc-in-ts
Quickfix jsdoc in Typescript files
2017-07-18 08:59:19 -07:00
Nathan Shively-Sanders
1b7faf10ac Merge pull request #17254 from Microsoft/generic-Object-jsdoc-creates-index-signature
JSDoc:Object<string, T> creates index signature
2017-07-18 08:48:56 -07:00
Wesley Wigham
8a1cd33451 Use jsdoc casts (#17251)
* Allow jsdoc casts of parenthesized expressions

* Feedback from #17211
2017-07-17 23:39:20 -07:00
Nathan Shively-Sanders
10a91c5426 JSDoc:Object<string, T> creates index signature
And `Object<number, T>` creates a numeric index signature. Other uses
still create `any` as before.
2017-07-17 16:14:42 -07:00
Nathan Shively-Sanders
08ae02263a Contextually type this in object literals in JS
Previously, `this` would only get a contextual type inside object
literals with `--noImplicitThis` turned on in Typescript files.
2017-07-17 15:59:18 -07:00
Nathan Shively-Sanders
cbe7b4dba3 Update jsdoc codefix tests; test function(...) syntax 2017-07-17 14:11:06 -07:00
Andy
6cf30fbccf Fix bug in importTracker: getExportNode must verify that we are on the LHS of a VariableDeclaration (#17205) 2017-07-17 12:29:29 -07:00
Nathan Shively-Sanders
f9e5576d58 Codefix for ?! pre/postfix JSDoc types
For ?, provide two code fixes, one for jsdoc/closure semantics
(`?t -> t | null)` and one for flow semantics
(`?t -> t | null | undefined`).

The current way of doing this is the hackiest thing you can imagine, but
it was easier than lifting everything into the list monad for a code fix
that I might not actually keep.
2017-07-17 11:06:20 -07:00
Nathan Shively-Sanders
3776b0b58b Codefix for Array.<number> -> Array<number> 2017-07-17 10:33:04 -07:00
Nathan Shively-Sanders
e98ac8d970 Merge branch 'parse-jsdoc-with-ts-type-parser' into quickfix-jsdoc-in-ts 2017-07-17 08:42:00 -07:00
Nathan Shively-Sanders
3f60364a64 Improve test of jsdoc literal type parsing 2017-07-17 08:29:40 -07:00
Nathan Shively-Sanders
a3a6862d43 Add simple jsdoc code fix changes 2017-07-14 16:27:09 -07:00
Nathan Shively-Sanders
172db13306 Parse more types in JSDoc function() syntax
Also some cleanup from PR comments
2017-07-14 14:34:32 -07:00
Nathan Shively-Sanders
bdc3f1f3f7 Address more PR comments 2017-07-14 13:29:44 -07:00
Nathan Shively-Sanders
f1145c35ca Improve JSDoc function checking
1. Remove checkJSDocFunctionType in favour of checkSignature.
2. Check that 'new', in addition to 'this', must be the first parameter.
3. Remove prematurely added JSDoc-quickfix test.
2017-07-14 10:15:30 -07:00
Nathan Shively-Sanders
da5285e979 Update baselines 2017-07-14 09:34:35 -07:00
Nathan Shively-Sanders
d24b3a3cba Add fourslash tests for function(new/this:T) syntax 2017-07-13 14:49:50 -07:00
Nathan Shively-Sanders
91633cde5f Test JSDoc parsing using TS parser 2017-07-13 11:33:12 -07:00
Mine Starks
fd2dd2edc0 Merge pull request #17078 from minestarks/removeimportfix
Code fix to remove unused named import should preserve default import
2017-07-13 10:53:35 -07:00
Andy
69d3ca774a When adding completions for a module, don't get the type of the module if not necessary. (#16768)
* When adding completions for a module, don't get the type of the module if not necessary.

* Use SymbolFlags.Module alias
2017-07-13 09:20:40 -07:00
Yui
1c93531f0f Merge pull request #17025 from Microsoft/master-16763
[Master] Fix 16763
2017-07-12 16:36:04 -07:00
Mine Starks
abb229e91b Add a bit more validation around comments 2017-07-12 11:14:48 -07:00
Nathan Shively-Sanders
50f39102aa Merge pull request #17096 from Microsoft/improve-return-type-parse-error
Improve return type parse error
2017-07-12 07:18:23 -07:00
Yui
25f4e46638 Merge pull request #17082 from Microsoft/master-16201
[Master] Fix 16201: fix cannot find "object"
2017-07-11 17:13:01 -07:00
Mine Starks
80b64de1e4 Fix comment behavior in remove unused named bindings 2017-07-11 14:53:08 -07:00
Mine Starks
003c28f1ef Fix caret update logic in fourslash tests 2017-07-11 14:52:41 -07:00
Nathan Shively-Sanders
3638ff19b3 Test:better error for wrong return token (: vs =>) 2017-07-11 10:16:35 -07:00
Andy
f45ccf541d In getDeclarationSpaces, treat a type alias as a SymbolFlags.Type, not a SymbolFlags.Value (#16624) 2017-07-11 09:54:42 -07:00
Andy
af147d15d6 Fix typo (#17064) 2017-07-11 07:24:40 -07:00
Andy
aa2d1008bf Completion for default export should be '.default' (#16742)
* Completion for default export should be '.default'

* Don't include empty string in name table

* getSymbolsInScope() should return local symbols, not exported symbols

* Fix bug: getSymbolAtLocation should work for local symbol too
2017-07-11 07:23:32 -07:00
Kanchalai Tanglertsampan
7ae4ff3b3d Add tests and update baselines 2017-07-10 15:24:03 -07:00
Mine Starks
39e4b1f9e3 Code fix to remove unused import should preserve default import 2017-07-10 14:23:18 -07:00
Kanchalai Tanglertsampan
f15909bfe0 Merge branch 'master' into master-16763 2017-07-10 13:13:35 -07:00
Andy
12163cc02e Allow to narrow the type of an import (#16658)
* Allow to narrow the type of an import

* Assume alias is initialized
2017-07-10 09:18:35 -07:00
Kanchalai Tanglertsampan
1ac95c29e4 Add tests and update baselines 2017-07-07 15:53:55 -07:00
Andy
ba8e5a7e24 Never return undefined from getExportsOfModule (#17013) 2017-07-07 10:06:12 -07:00
Wesley Wigham
4e6b2f3c93 Created a branded type for identifier-escaped strings (#16915)
* Created a branded type for escaped strings

Then flowed it throughout the compiler, finding and fixing a handful of
bugs relating to underscore-prefixed identifiers in the process.
Includes a test for two cases noticed - diagnostics from conflicting
symbols from export *'s, and enum with underscore prefixed member emit.

* Correctly double underscores WRT mapped types

* Add fourslash tests for other fixed issues

* use function call over cast

* Update forEachEntry type accuracy

* Just use escaped names for ActiveLabel

* Remove casts from getPropertyNameForPropertyNameNode

* This pattern has occurred a few times, could use a helper function.

* Remove duplicated helper

* Remove unneeded check, use helper

* Identifiers list is no longer escaped strings

* Extract repeated string-getting code into helper

* Rename type and associated functions

* Make getName() return UnderscoreEscapedString, add getUnescapedName()

* Add list of internal symbol names to escaped string type to cut back on casting

* Remove outdated comments

* Reassign interned values to nodes, just in case

* Swap to string enum

* Add deprecated aliases to escapeIdentifier and unescapeIdentifier

* Add temp var

* Remove unsafe casts

* Rename escaped string type as per @sandersn's suggestion, fix string enum usages

* Reorganize double underscore tests

* Remove jfreeman from TODO

* Remove unneeded parenthesis
2017-07-06 14:45:50 -07:00
Arthur Ozga
ad291d924d Merge pull request #16748 from aozgaa/implementOptionCrash
visit question token
2017-07-06 13:51:15 -07:00
Arthur Ozga
dc08c5f241 Merge branch 'master' into caretPositionInFourslash 2017-07-06 10:44:59 -07:00
Arthur Ozga
d661622e19 update tests 2017-06-30 19:41:09 -07:00
Nathan Shively-Sanders
9048c0ae47 Merge pull request #16844 from Microsoft/codefix-spelling-correction-for-typeparameters
Spelling code fix: suggestions from apparent type
2017-06-30 12:56:18 -07:00
Nathan Shively-Sanders
abec46ce48 Test:spelling suggestions for more types
Test spelling suggestions for primitives, unions/intersections and type
parameters with constraints.
2017-06-30 10:12:02 -07:00
Nathan Shively-Sanders
e0bf267029 spelling:getPropertiesOfType instead of objectType
This provides suggestions for more types based on their apparent type:
unions, type parameters with constraints, primitives.
2017-06-30 10:11:00 -07:00
Arthur Ozga
4e6e1d1b8b Merge pull request #16657 from aozgaa/formatOnOpenCurly
Format on open curly
2017-06-30 10:04:57 -07:00
Nathan Shively-Sanders
f45df8fb69 Spelling code fix:suggestions from apparent type
The code fix for spelling correction needs to provide suggestions based
on the apparent type since sometimes the type at a location will be a type
parameter. One such example is `this`.

Fixes #16744
2017-06-29 16:21:00 -07:00
Ryan Cavanaugh
ec00bb9b72 Merge pull request #16697 from RyanCavanaugh/preserveMethodComments
Preserve method comments in JS->ES6 conversion.
2017-06-29 15:40:16 -07:00
Ryan Cavanaugh
277f4592c1 Add tests 2017-06-29 15:14:09 -07:00