Commit Graph

21651 Commits

Author SHA1 Message Date
Andy 5d46ca7118 Reuse stored types for any[] and Promise<any> instead of creating new ones (#17179)
* Reuse stored types for any[] and Promise<any> instead of creating new ones

* Don't store anyPromiseType
2017-07-17 12:56:58 -07:00
Andy 2a219af308 convertFunctionToEs6Class: Bail if this is not a JavaScript file (#17149) 2017-07-17 12:56:16 -07:00
Andy Hanson 2ce23909b2 Fix error message 2017-07-17 12:39:01 -07:00
Sheetal Nandi 62ef6b1cda Added another todo as now we are watching too many files 2017-07-17 12:37:36 -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
Andy 555776eb3c Minor cleanups in builder (#17208)
* Minor cleanups in builder

* Use enumerateInsertsAndDeletes
2017-07-17 12:24:56 -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 dba552d071 Transform trees rather than produce strings
1. Still pretty janky.
2. Type Reference code doesn't work yet.
3. Other transforms just aren't done.
4. Always replaces, even when there isn't any transformation of JSDoc
types. (This probably isn't an issue since we wouldn't issue an error unless there were
some JSDoc to change.)
2017-07-17 10:02:29 -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 240f1f1be4 Merge pull request #17176 from Microsoft/parse-jsdoc-with-ts-type-parser
Parse jsdoc with normal TS type parser
2017-07-17 08:41:06 -07:00
Nathan Shively-Sanders 3f60364a64 Improve test of jsdoc literal type parsing 2017-07-17 08:29:40 -07:00
Sheetal Nandi dcbd7b10f1 Combine the logic to find config file as well as the watch.
This should speed up the file open scenarios where the file belongs to same configured project as we would use cache to answer those fileExists answers
2017-07-15 22:26:10 -07:00
Sheetal Nandi 62663a10ba Use map for configured project instead of the array 2017-07-15 20:12:50 -07:00
Sheetal Nandi 0572b15adc Instead of watching directories, watch tsconfig files of inferred project root 2017-07-15 19:11:27 -07:00
Sheetal Nandi 00011a52af Refactor root files addition/update for non inferred project 2017-07-15 15:21:14 -07:00
Sheetal Nandi f12980dd20 Remove the duplcate error about no input files found 2017-07-15 13:37:22 -07:00
Sheetal Nandi 71d79c62d0 Some refactoring to combine files removal from inferred project 2017-07-15 11:37:32 -07:00
Sheetal Nandi 404aa8f0be Logging of the watch add/remove/event 2017-07-14 17:39:42 -07:00
Nathan Shively-Sanders efdba54deb Add codefix for jsdoc types in Typescript
It only handles a few simple types right now, but the skeleton is there.
2017-07-14 16:27:36 -07:00
Nathan Shively-Sanders a3a6862d43 Add simple jsdoc code fix changes 2017-07-14 16:27:09 -07:00
Andy Hanson 96d537bc54 readFile may return undefined 2017-07-14 15:57:23 -07:00
Nathan Shively-Sanders 61c9f98eef Merge branch 'master' into parse-jsdoc-with-ts-type-parser 2017-07-14 15:04:06 -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
Daniel Rosenwasser e8421827e0 Merge pull request #16600 from alexeagle/pretty2
Add missing newline in --pretty diagnostics formatter
2017-07-14 12:22:05 -07:00
Nathan Shively-Sanders b2e892f0b9 Update baselines 2017-07-14 11:08:06 -07:00
Nathan Shively-Sanders 40ae42221e Better JSDoc generic errors and faster isInJSDoc 2017-07-14 11:07:20 -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 6e861fd3e6 Remove JSDocConstructor/ThisType and just use named parameters 2017-07-14 09:36:12 -07:00
Nathan Shively-Sanders da5285e979 Update baselines 2017-07-14 09:34:35 -07:00
Sheetal Nandi 0365901381 use single instance of getCanonicalFileName 2017-07-13 15:32:11 -07:00
Nathan Shively-Sanders d24b3a3cba Add fourslash tests for function(new/this:T) syntax 2017-07-13 14:49:50 -07:00
Sheetal Nandi 048e67c021 Merge branch 'master' into watchImprovements 2017-07-13 14:13:14 -07:00
Andy 680bfbb705 Combine moduleHasNonRelativeName with isExternalModuleNameRelative (#16564) 2017-07-13 13:46:04 -07:00
Nathan Shively-Sanders ac478a9720 Add missing word in error message 2017-07-13 13:37:35 -07:00
Andy d2ec45f354 Remove unnecessary 'ts.' qualifications (#17163) 2017-07-13 13:08:59 -07:00
Nathan Shively-Sanders 48d9012989 Update baselines 2017-07-13 11:34:56 -07:00
Nathan Shively-Sanders 91633cde5f Test JSDoc parsing using TS parser 2017-07-13 11:33:12 -07:00
Sheetal Nandi e568976239 Allows the delayed update graph and project structure which helps in batching the updates when there are multiple files added/removed/changed 2017-07-13 11:32:40 -07:00
Nathan Shively-Sanders bc69c7e6d1 Parse JSDoc types using the normal TS parser
This means that JSDoc types can include the full range of Typescript
types now. It also means that Typescript annotations can include JSDoc
types. This is disallowed with a new error, however. But Typescript can
still give the correct types to JSDoc that shows up in .ts files by
mistake. This can easily happen, for example with types like

```ts
var x: number? = null;
var y: ?string = null;
var z: function(string,string): string = (s,t) => s + t;

// less likely to show up, but still understood.
var ka: ? = 1;
```

In the future, I will add a quick fix to convert these into the correct
types.

Fixes #16550
2017-07-13 11:27:50 -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 7b5e1e9c49 Use array helpers instead of 'reduce' (#17172) 2017-07-13 10:43:01 -07:00
Andy c6a6467073 Remove unneeded ExportType and ExportNamespace flags (#16766) 2017-07-13 09:21:13 -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
Andy 6880ee33a3 displayPartWriter: Use try-finally to clear (#16807) 2017-07-13 08:14:02 -07:00
Andy 9a3847feac getSingleLineStringWriter: Use try-finally, and only one stringWriter (#16751)
* getSingleLineStringWriter: Use try-finally, and only one stringWriter

* Use a `usingSingleLineStringWriter` helper function

* Add assert
2017-07-13 08:13:49 -07:00
Andy 79b10081a9 getApplicableRefactors: Don't return undefined response (#16773) 2017-07-13 07:32:41 -07:00
Andy efc861c76d Add logging to discoverTypings (#16652) 2017-07-13 07:10:35 -07:00
Andy 33836f891c Clean up getJavaScriptCompletionEntries (#16750)
* Clean up getJavaScriptCompletionEntries

* Move each parameter to its own line
2017-07-13 06:54:04 -07:00