Andy
c60774b4c6
Make many 'static' variables readonly ( #17306 )
2017-07-20 08:54:47 -07:00
Nathan Shively-Sanders
759ee288f2
Merge pull request #17314 from gcnew/checkTypeGuardConstraintConformance
...
Check type guard constraint conformance
2017-07-20 07:49:39 -07:00
Andy
53e4040ceb
Remove duplicate emptyArray
s ( #17305 )
2017-07-20 06:45:22 -07:00
Nathan Shively-Sanders
25454de2a3
Merge pull request #17313 from Microsoft/fix-tslint-typeOperatingSpacingRule
...
Fix typeOperatingSpacingRule:use ReadonlyArray
2017-07-19 17:58:53 -07:00
Wesley Wigham
ed87b40902
Fix linter ( #17312 )
...
We just merged a change which makes the `.types` member of a union or intersection type a readonly array. Our lint rule's type annotation needs to reflect that.
2017-07-19 17:06:31 -07:00
gcnew
0654fa285c
Added tests
2017-07-20 02:59:33 +03:00
Nathan Shively-Sanders
ca2a8e8518
Fix typeOperatingSpacingRule:use ReadonlyArray
2017-07-19 16:59:27 -07:00
gcnew
e52ed1a23a
Check the return type of type guard functions
2017-07-20 02:49:20 +03:00
Andy
f37d9068ff
Fix configure-nightly script to match new contents of core.ts ( #17014 )
...
* Fix configureNightly script to match new contents of core.ts
* Use ts.Debug.assert
* Use a regexp for parsePackageJsonVersion
2017-07-19 14:47:25 -07:00
Andy
d99694614a
Simplify use of array helpers ( #17301 )
2017-07-19 11:23:41 -07:00
Andy
d918b8ad4e
Remove duplicate helper ( #17296 )
2017-07-19 11:23:14 -07:00
Andy
cfa94c2d34
Binder: handle JS property assignment that comes after a method declaration with the same name ( #16830 )
2017-07-19 09:11:50 -07:00
Andy
ea0bce511b
MultiStepOperation: No need to create a 'NextStep' object, just use self as the NextStep ( #17174 )
2017-07-19 07:52:18 -07:00
Wesley Wigham
8075353356
Appropriately parenthesize keyof and typeof queries in array types ( #17272 )
...
* Appropriately parenthesize keyof and typeof queries when they are array types
* Fix test and then the same bug in the symbol writer
2017-07-18 15:08:53 -07:00
Andy
08a57d82cd
Add 'clear' helper ( #17209 )
2017-07-18 11:08:44 -07:00
Andy
194c2bc2ca
Make NodeArray readonly ( #17213 )
...
* Make NodeArray readonly
* Fix bug: use emptyArray instead of undefined
* Fix bug: Don't expose MutableNodeArray
* Undo trailing whitespace changes
2017-07-18 10:38:21 -07:00
Andy
80b19a09a1
Introduce a ReadonlyMap interface and use it in core.ts ( #17161 )
2017-07-18 10:26:11 -07:00
Andy
0a8ddca775
getJSDocParameterTags: no need to handle JSDocFunctionType, just return undefined ( #16837 )
...
* getJSDocParameterTags: no need to handle JSDocFunctionType, just return undefined
* Fix type error
2017-07-18 10:22:52 -07:00
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
Andy
068b17a1b8
ParameterDeclaration: name
may be undefined ( #17074 )
2017-07-18 09:47:19 -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
Nathan Shively-Sanders
65e8da134c
Add jsdoc to getNullableType now that it's public
2017-07-18 08:48:12 -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
047ab9b0e3
Update name of getIntendedTypeFromJSDocTypeReference
2017-07-17 16:23:42 -07:00
Nathan Shively-Sanders
3b7a07c441
Fix lint
2017-07-17 16:21:54 -07:00
Nathan Shively-Sanders
1173dc104a
Improve naming and style a little
2017-07-17 16:18:09 -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
73cfa64f44
Make sure not to truncate the stringified type from typeToString
2017-07-17 14:47:10 -07:00
Andy
de9a67f2f3
Issue template: Recommend to run tsc
directly ( #17246 )
...
* Issue template: Recommand to run `tsc` directly
* List some common build tools
2017-07-17 14:45:21 -07:00
Sheetal Nandi
54dfdd77fb
Merge pull request #17210 from Microsoft/readfile
...
`readFile` may return undefined
2017-07-17 14:39:57 -07:00
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
cbe7b4dba3
Update jsdoc codefix tests; test function(...) syntax
2017-07-17 14:11:06 -07:00
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
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
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