13352 Commits

Author SHA1 Message Date
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
Nathan Shively-Sanders
ac478a9720 Add missing word in error message 2017-07-13 13:37:35 -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
Andy
dbbf051886 Add assertion to computePositionOfLineAndCharacter (#17121) 2017-07-13 06:49:28 -07:00
Yui
1c93531f0f Merge pull request #17025 from Microsoft/master-16763
[Master] Fix 16763
2017-07-12 16:36:04 -07:00
Andy
2368847f6b Indent filesToString (#17130) 2017-07-12 10:42:05 -07:00
Andy
a0c672ac02 Add assertion that module / type reference names are defined (#17124) 2017-07-12 10:13:33 -07:00
Andy
38db79d666 buildTreeFromBottom: Really simplify loop (#17105) 2017-07-12 09:59:29 -07:00
Andy
815af7da17 getSwitchClauseTypes: exit early if getTypeOfSwitchClause is undefined (#16865) 2017-07-12 07:45:02 -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
Daniel Rosenwasser
38f6db52ac Merge pull request #17079 from Microsoft/noTypeArgsSum
Declare 'sum' so that it doesn't require type arguments.
2017-07-12 00:09:58 -07:00
Andy
08030c7d02 Convert most of core.ts to accept ReadonlyArray (#17092)
* Convert most of core.ts to accept ReadonlyArray

* Fix lint

* Fix isArray
2017-07-11 17:39:33 -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
0694a38728 Use platform agnostic newline 2017-07-11 16:05:10 -07:00
Daniel Rosenwasser
325f4b84cf Addressed feedback. 2017-07-11 15:32:31 -07:00
Mine Starks
3915d46913 Fix case where we can return [undefined] 2017-07-11 15:10:04 -07:00
Mine Starks
80b64de1e4 Fix comment behavior in remove unused named bindings 2017-07-11 14:53:08 -07:00
Mine Starks
bb063f1b5c Remove incorrect comment 2017-07-11 14:52:48 -07:00
Mine Starks
5fd16cae18 format error message with newlines 2017-07-11 14:52:47 -07:00
Mine Starks
003c28f1ef Fix caret update logic in fourslash tests 2017-07-11 14:52:41 -07:00
Nathan Shively-Sanders
1b1f257dbf Rename SignatureFlags enum and improve its usage
As requested in the PR comments
2017-07-11 14:49:47 -07:00
Nathan Shively-Sanders
8856ddfd15 Make enum private and fix fillSignature predicate 2017-07-11 10:45:25 -07:00
Andrew Casey
6ed94b1d43 Merge pull request #17083 from amcasey/Vsts461481
Correct FileWatcherEventKind in server polling method
2017-07-11 10:16:09 -07:00
Nathan Shively-Sanders
b6ad43d4a5 Better error for wrong return (: vs =>) in types
It's very ambiguous in expression position, so impossible to give a
better message from the parser. For example:

let f = (x: number) => number => x + 1;
                    ~~
                    Should be ':'

But the parser doesn't know that 'number' isn't an expression now.
2017-07-11 10:08:42 -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
Nathan Shively-Sanders
fcc9823ac7 Switch fillSignature boolean params to single enum 2017-07-11 09:51:18 -07:00
Andy
1408109487 buildTreeFromBottom: simplify loop (#17091) 2017-07-11 09:40:02 -07:00
Andy
23da0ab501 Use array helpers in more places (#17055) 2017-07-11 09:00:34 -07:00
Andy
2561ced1e3 Consistently use isInJavaScriptFile helper (#17075) 2017-07-11 07:26:45 -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
Andrew Casey
911f1f88ee Correct FileWatcherEventKind in server polling method
Was sending Changed on Creation.

Caveat: the tests will probably still fail intermittently with a race -
this just fixes the deterministic failure.
2017-07-10 19:30:03 -07:00
Nathan Shively-Sanders
a94e0c36b0 Merge pull request #16969 from ikatyang/fix-16941
Add missing docs for module: 'none' in tsc --init
2017-07-10 16:54:54 -07:00
Kanchalai Tanglertsampan
e5f482d339 Treat both object and Object the same 2017-07-10 15:16:34 -07:00
Andy
b8b1fb305a Minor cleanups in scriptVersionCache (#17021) 2017-07-10 15:10:45 -07:00
Andy
e29b2106e9 Improvements to LineIndex.edit (#17056) 2017-07-10 15:08:57 -07:00
Daniel Rosenwasser
d25fd23e04 Declare 'sum' so that it doesn't require type arguments. 2017-07-10 14:35:09 -07:00
Mine Starks
39e4b1f9e3 Code fix to remove unused import should preserve default import 2017-07-10 14:23:18 -07:00
Andy
dab682767c Fix call to getCodeFixesAtPosition (#17063) 2017-07-10 13:25:48 -07:00