Commit Graph

24468 Commits

Author SHA1 Message Date
Andy
bcd565287c Remove bad import completions tests (#25816) 2018-07-20 11:11:03 -07:00
Andy
b21c1fd595 errorCodes in CodeFixRequestArgs is non-optional (#25815) 2018-07-20 11:10:33 -07:00
Nathan Shively-Sanders
31d599abaf Check module.exports (#25732)
* Revert "Revert "Explicitly typed special assignments are context sensitive (#25619)""

This reverts commit 16676f2707.

* Revert "Revert "Explicitly typed prototype assignments are context sensitive (#25688)""

This reverts commit ff8c30d636.

* Initial, wasteful, solution

It burns a check flags. Probably necessary, but perhaps not.

I haven't accepted baselines, but they are a bit questionable. I'm not
sure the synthetic type is right, because I expected to see
{ "exports": typeof import("x") } but instead see { "x": typeof
import("x") }.

* Update some baselines

* module.exports= always uses lhs type

Conflicts between exports property assignments and exports assignments
should get a union type instead of an error.

* Fix lint and accept good user baselines

* Add tests based on user tests.

These currently fail.

* Fix all but 1 of user test bugs found by typing module.exports

Still quite messy and full of notes

* Follow merged symbols+allow any object type

This allows exports like `module.exports = new EE` to have properties
added to them.

Still messy, but I'm going to run user tests and look for regressions.

* Update improved user baselines

* Fix infinite recursion when checking module.exports

* Fix bogus use-before-def error

getExportSymbolOfValueSymbolIfExported should always merge its returned
symbol, whether it's symbol.exportSymbol or just symbol.

* Update user test baselines

* Cleanup

* More small cleanup

* Bind `module` of `module.exports` as a special symbol

Previously it was also special, but created during name resolution in
the checker. It made sense when there was only one special symbol for
all files, but now there is one `module` symbol per file.
2018-07-20 10:59:26 -07:00
Wenlu Wang
fedcd3a1b4 improve completions keyword for function like body (#25824) 2018-07-20 08:25:16 -07:00
csigs
98915693bc LEGO: Merge pull request 25818
LEGO: Merge pull request 25818
2018-07-19 21:10:53 -07:00
csigs
2c6f265ae0 LEGO: check in for master to temporary branch. 2018-07-20 04:10:29 +00:00
Mohamed Hegazy
feca91c67b Merge pull request #25809 from ajafff/verify-strict-options
correctly detect if strictNullChecks is enabled
2018-07-19 15:56:45 -07:00
Mohamed Hegazy
555ead611b Merge pull request #25806 from ajafff/expose-stripInternal
API: expose CompilerOptions.stripInternal
2018-07-19 15:54:58 -07:00
Klaus Meinhardt
99d123a72d add correct test 2018-07-20 00:30:11 +02:00
Klaus Meinhardt
7031c43978 correctly detect if strictNullChecks is enabled
Fixes: #25808
2018-07-20 00:16:59 +02:00
Klaus Meinhardt
d5b3a28608 API: expose CompilerOptions.stripInternal 2018-07-19 23:13:53 +02:00
Nathan Shively-Sanders
1cedab18be Fix parsing of parenthesized JSDoc parameters (#25799)
* Fix parsing of parenthesized JSDoc parameters

Parenthesis can start a jsdoc function parameter since it is just a
type, and parenthesis can start a type:

```js
/** @type {function(((string))): void} */
```

However, this is not legal in other parameter lists:

```ts
function x((((a))): string) { }
```

This change makes jsdoc function parameter lists parse differently than
normal parameter lists by allowing parenthesis as a start character of
jsdoc parameters.

* Parse nested uses of jsdoc function types

* Fix test
2018-07-19 12:50:36 -07:00
Andy
46827f4a76 Handle completions at name of namespace declaration (#25661)
* Handle completions at name of namespace declaration

* Handle namespace merging
2018-07-19 10:26:18 -07:00
Daniel Rosenwasser
37277e86e6 Merge pull request #25752 from Microsoft/objectsAgainstArrays
Avoid elaborating object literals against array-likes
2018-07-18 15:29:47 -07:00
csigs
ac3f5b689c LEGO: Merge pull request 25780
LEGO: Merge pull request 25780
2018-07-18 15:10:53 -07:00
csigs
8a1ff48218 LEGO: check in for master to temporary branch. 2018-07-18 22:10:28 +00:00
Wenlu Wang
ed8b76424e add grammar check for labeled declaration (#25317)
* add grammar check for labeled function declaration

* fix debug failed on labeled class declaration

* move labeled statement check to binder and add more pattern for check

* update diagnostic message

* update baseline
2018-07-18 15:37:27 -06:00
Andy
2701f785ed Consistently use ScriptInfo for converting positions to Locations (#25623)
* Consistently use ScriptInfo for converting positions to Locations

* Code review
2018-07-18 13:02:38 -07:00
Andy
751f20e8bc Don't bother trying to get the name of a default export (#25773)
* Don't bother trying to get the name of a default export

* Fix lint
2018-07-18 11:43:13 -07:00
Daniel Rosenwasser
806a5385cc Accepted baselines. 2018-07-17 21:58:02 -07:00
Daniel Rosenwasser
649f294413 Elaborate on the first non-array type when object literals are compared against 'T | T[]'. 2018-07-17 21:54:33 -07:00
Daniel Rosenwasser
36e26c1a35 Accepted baselines. 2018-07-17 21:52:36 -07:00
Daniel Rosenwasser
bda32aeee2 Added test. 2018-07-17 21:52:24 -07:00
Andy
d92c26db69 Add test that getEditsForFileRename respects UserPreferences (#25745)
* Add test that getEditsForFileRename respects UserPreferences

* Test quotePreference
2018-07-17 17:05:35 -07:00
Andy
854462d383 Fix formatting at trailing comma (#25706) 2018-07-17 15:21:35 -07:00
Andy
6d8a5f6288 Fix invalid cast: JSDocSignature is not a SignatureDeclaration (#25734) 2018-07-17 13:35:55 -07:00
Andy
d28fb65a1f Fix type of TypeParameterDeclaration#parent (#25737) 2018-07-17 13:35:34 -07:00
Andy
89f2af17f0 Avoid using old node in import fix to use namespace import (#25729) 2018-07-17 13:34:56 -07:00
Mohamed Hegazy
a87ed5335b Merge pull request #25735 from j-oliveras/Fix_25657
Fixes 25657. Jakefile: make concatenateFiles third parameter optional.
2018-07-17 13:12:14 -07:00
Mohamed Hegazy
57a72f507d Merge pull request #25733 from mattmccutchen/issue-25683
Check for optional type parameters before issuing a "wrong number of type arguments" error on a function call.
2018-07-17 12:51:19 -07:00
Jordi Oliveras Rovira
7880a0736f Fixes 25657. Jakefile: make concatenateFiles third parameter optional. 2018-07-17 20:28:57 +02:00
Matt McCutchen
bd84179d82 Check for optional type parameters before issuing a "wrong number of
type arguments" error on a function call.

Fixes #25683.
2018-07-17 13:25:46 -04:00
Nathan Shively-Sanders
1edc975f15 Revert the revert of explicitly typed special assignments (#25727)
* Revert "Revert "Explicitly typed special assignments are context sensitive (#25619)""

This reverts commit 16676f2707.

* Revert "Revert "Explicitly typed prototype assignments are context sensitive (#25688)""

This reverts commit ff8c30d636.
2018-07-17 10:02:51 -07:00
TypeScript Bot
d9ed9177fe Update user baselines (#25718) 2018-07-17 08:37:44 -07:00
Mohamed Hegazy
204ce175dd Merge pull request #25612 from Microsoft/updateVersionTo3.1
Update version
2018-07-16 14:33:25 -07:00
Mohamed Hegazy
75930f87fe Merge pull request #25699 from Microsoft/revert-explicitly-typed-special-assignments
Revert explicitly typed special assignments
2018-07-16 13:15:06 -07:00
Mohamed Hegazy
d690835cb9 Merge pull request #25698 from Microsoft/navigationBarUnrelatedGrandchildren
navigationBar: Don't merge unrelated grandchildren
2018-07-16 13:02:35 -07:00
Nathan Shively-Sanders
16676f2707 Revert "Explicitly typed special assignments are context sensitive (#25619)"
This reverts commit 32e60a9647.
2018-07-16 12:39:08 -07:00
Andy Hanson
1038c76f88 navigationBar: Don't merge unrelated grandchildren 2018-07-16 12:38:38 -07:00
Nathan Shively-Sanders
ff8c30d636 Revert "Explicitly typed prototype assignments are context sensitive (#25688)"
This reverts commit 5b21cbc0c9.
2018-07-16 12:38:27 -07:00
Daniel Rosenwasser
93ab352189 Merge pull request #25565 from Microsoft/popFirst
Make 'pop' the first method that uses 'T' in 'Array'
2018-07-16 11:41:44 -07:00
Andy
afdd47c9ce Simplify rules for isControlFlowEndingStatement (#25693) 2018-07-16 11:17:46 -07:00
Mohamed Hegazy
8ef146e658 Merge pull request #25656 from j-oliveras/Fix_25653
Change jsDocTagNames to lower case.
2018-07-16 10:18:12 -07:00
Nathan Shively-Sanders
5b21cbc0c9 Explicitly typed prototype assignments are context sensitive (#25688)
* Explicitly typed prototype assignments:ctx sensitive

Follow up to #25619: Add the necessary code to type `prototype`
correctly in prototype assignments so that code like
`F.prototype = { ... }` properly makes the object literal context
sensitive.

* Fix lint
2018-07-16 10:03:39 -07:00
Daniel Rosenwasser
60986adee5 Merge pull request #25507 from ajafff/leftmost-expr-tagged-template
getLeftmostExpression: handle TaggedTemplateExpression
2018-07-13 23:56:32 -07:00
Andy
e25a23bb3c Fix Buffer.from uses to handle node 5.4.1 bug (#25659) 2018-07-13 17:08:25 -07:00
Sheetal Nandi
7ad4fcf121 Merge pull request #25649 from Microsoft/jsonFilesOnCommandLine
Support resolveJsonModule option when files contain the json file
2018-07-13 16:24:42 -07:00
Jordi Oliveras Rovira
4f411a8cce Change jsDocTagNames to lower case. 2018-07-14 01:02:20 +02:00
Sheetal Nandi
49ac60f286 Support resolveJsonModule option when files contain the json file
Fixes #25636
2018-07-13 12:21:51 -07:00
Sheetal Nandi
47e513e151 Merge pull request #25627 from Microsoft/preserveOutputInConfig
Fix incorrect handling of preserveWatchOutput flag is in config file
2018-07-13 10:56:53 -07:00