Nathan Shively-Sanders
b13de0547e
JSDoc codefix:getTypeFromTypeNode >>> typeToString
...
Instead of trying to walk the type structure in the codefix, I changed
to call getTypeFromTypeNode in the checker and then calling
typeToString. Together, these two functions normalise out JSDoc.
Note that you only get `T | null` for `?T` if you have --strict on. This
is technically correct -- adding a null union does nothing without
strict -- but it would still serve as documentation.
2017-07-17 14:11:35 -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
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
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
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
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
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
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
a0c672ac02
Add assertion that module / type reference names are defined ( #17124 )
2017-07-12 10:13:33 -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
Daniel Rosenwasser
325f4b84cf
Addressed feedback.
2017-07-11 15:32:31 -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
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
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
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
Daniel Rosenwasser
d25fd23e04
Declare 'sum' so that it doesn't require type arguments.
2017-07-10 14:35:09 -07:00
Kanchalai Tanglertsampan
f15909bfe0
Merge branch 'master' into master-16763
2017-07-10 13:13:35 -07:00
Ron Buckton
bb3253e544
Merge pull request #17044 from filipesilva/patch-1
...
Allow visitors to return undefined
2017-07-10 11:47:48 -07:00
Andy
48876731b8
Type-check sum ( #16823 )
2017-07-10 11:44:56 -07:00
Andy
bffde588cc
Improve performance of JSDoc tag utilities ( #16836 )
...
* Improve performance of JSDoc tag utilities
* Use emptyArray instead of null, and address PR comments
2017-07-10 11:26:59 -07:00
Andy
8c3f5e2208
Remove createFileMap ( #16810 )
...
* Make `createFileMap` an internal detail of `program.ts`
* Remove createFileMap
* Clean up calls to `toPath`
2017-07-10 11:24:17 -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
Filipe Silva
ae533551c2
Allow visitors to return undefined
...
While implementing `ts.Visitor`, it is possible to return `undefined` in order to drop a node. However, the typings do not reflect this and only allow to return `Node | Node []`.
This PR extends the typings to allow `undefined` as well.
2017-07-09 18:50:45 +01:00
Anders Hejlsberg
ff5d245dcb
Merge pull request #16954 from Microsoft/optimizeTypeRelations
...
Optimize structured type relations
2017-07-07 16:18:35 -10:00
Anders Hejlsberg
b866cd4969
Merge pull request #16952 from Microsoft/optimizeForEachChild
...
Optimize forEachChild function
2017-07-07 16:18:00 -10:00
Kanchalai Tanglertsampan
7e395c2f88
import keyword a left-hand-side expression
2017-07-07 15:53:24 -07:00
Andy
e6256d43c4
Inline getDestructuringParameterName ( #16973 )
2017-07-07 10:34:50 -07:00
Andy
17578e8a5d
Use Map<true> for sets ( #16972 )
2017-07-07 10:34:36 -07:00
Andy
81f8151e3a
Use 'push' and 'pop' methods instead of using array.length ( #16979 )
2017-07-07 10:22:59 -07:00
Andy
ba8e5a7e24
Never return undefined from getExportsOfModule ( #17013 )
2017-07-07 10:06:12 -07:00
Andy
e7dc2a67ca
Enable "object-literal-shorthand" lint rule ( #16987 )
2017-07-07 07:26:58 -07:00
ikatyang
a79240fbc6
Add missing docs for module: 'none' in tsc --init
2017-07-07 18:25:22 +08:00