Commit graph

18701 commits

Author SHA1 Message Date
Andy f667357aad Use ReadonlyArray in utilities.ts (#17413) 2017-07-25 15:46:29 -07:00
Wesley Wigham 2d4938d5c0 Actually let you disable colors with jake (#17414)
* Actually let you disable colors with jake

* @andy-ms revision
2017-07-25 14:35:22 -07:00
Andy 30d973bdcb Rename symbol.name to escapedName and make name unescaped (#17412) 2017-07-25 14:22:26 -07:00
Andy e515151ba4 Remove unnecessary MapLikes in commandLineParser (#17324)
* Remove unnecessary `MapLike`s in commandLineParser

* Fix typo

* Inline knownKeysCount
2017-07-25 14:19:17 -07:00
Nathan Shively-Sanders 58ad164813 Update baselines 2017-07-25 14:14:45 -07:00
Nathan Shively-Sanders c55a043767 Address PR comments from Andy
I'll take a look at Wesley's next and see if those require any changes.
2017-07-25 14:14:12 -07:00
Andy c1375d5422 generateTSConfig: Remove unnecessary variable (#17330) 2017-07-25 13:30:48 -07:00
Andy eadd084c82 Add 'name' property to Identifier (#17329)
* Add 'name' property to Identifier

* Rename to unescapedText

* Rename 'id.text' to 'id.escapedText'

* Rename 'id.unescapedText' to 'id.text'

* Make escapeIdentifier and unescapeIdentifier do nothing
2017-07-25 13:16:34 -07:00
Andy d4f8da0272 Revert #17074 (#17326)
* Revert #17074

* Also revert comment
2017-07-25 13:15:45 -07:00
Daniel Rosenwasser 109732a16a Merge pull request #17405 from Microsoft/publishParallel
Make the 'publish-nightly' target run tests in parallel.
2017-07-25 11:26:59 -07:00
Daniel Rosenwasser 1002974c92 Make the 'publish-nightly' target run tests in parallel. 2017-07-25 10:50:46 -07:00
Ron Buckton d74cb24640 Merge pull request #17354 from weswigham/fix-parameter-parsing-infinite-loop
Fix parameter parsing infinite loop
2017-07-24 18:21:10 -07:00
Andy a70b50ae7c getResolvedModule: Don't need to call hasResolvedModule (#16423)
* getResolvedModule: Don't need to call hasResolvedModule

* Don't call tryGetModuleNameFromDeclaration on a synthesized importNode

* Apply suggested changes
2017-07-24 17:51:37 -07:00
Wesley Wigham 98d5830831
Use scanner position instead of node members 2017-07-24 17:51:35 -07:00
Anders Hejlsberg 1d9c3e1c22 Add repro 2017-07-24 17:07:24 -07:00
Anders Hejlsberg a48b2229cb Accept new baselines 2017-07-24 17:07:11 -07:00
Anders Hejlsberg f6ed29df3a Add tests 2017-07-24 17:06:45 -07:00
Wesley Wigham 06beee1cc8
Much simpler fix, rolls in really old fix, removed unused comment 2017-07-24 15:16:21 -07:00
Anders Hejlsberg 47e6aef858 Given T extends Foo, make Partial<T> related to Partial<Foo> 2017-07-24 13:59:43 -07:00
Andy eee4c618e2 Indent list of open files (#17255) 2017-07-24 13:32:43 -07:00
Andy 7702d15cf3 Add current time to tsserver logs (#17268) 2017-07-24 13:32:23 -07:00
Wesley Wigham 7040df2094
Tests covering the bug 2017-07-21 17:30:01 -07:00
Wesley Wigham e7bf44e820
Fix for loop which retains jsdoc behaviors 2017-07-21 17:20:56 -07:00
Nathan Shively-Sanders 59961394cb @param parsing:const enum to improve readability 2017-07-21 15:07:20 -07:00
Nathan Shively-Sanders e942bbb6f2 Test: jsdoc @param type literals 2017-07-21 14:49:07 -07:00
Nathan Shively-Sanders 8d2d226aca Update JSDocParsing unit test baselines 2017-07-21 14:48:48 -07:00
Nathan Shively-Sanders 7ff91c1e1c Parse jsdoc type literals in params
Now Typescript supports the creation of anonymous types using successive
`@param` lines in JSDoc:

```js
/**
 * @param {object} o - has a string and a number
 * @param {string} o.s - the string
 * @param {number} o.n - the number
 */
function f(o) { return o.s.length + o.n; }
```

This is equivalent to the Typescript syntax `{ s: string, n: number }`,
but it allows per-property documentation, even for types that only need
to be used in one place. (`@typedef` can be used for reusable types.)

If the type of the initial `@param` is `{object[]}`, then the resulting
type is an array of the specified anonymous type:

```js
/**
 * @param {Object[]} os - has a string and a number
 * @param {string} os[].s - the string
 * @param {number} os[].n - the number
 */
function f(os) { return os[0].s; }
```

Finally, nested anonymous types can be created by nesting the pattern:

```js
/**
 * @param {Object[]} os - has a string and a number
 * @param {string} os[].s - the string
 * @param {object} os[].nested - it's nested because of the object type
 * @param {number} os[].nested.length - it's a number
 */
function f(os) { return os[0].nested.length; }
```

Implementation notes:

1. I refactored JSDocParameterTag and JSDocPropertyTag to
JSDocPropertyLikeTag and modified its parsing to be more succinct. These
changes make the overall change easier to read but are not strictly
required.
2. parseJSDocEntityName accepts postfix[] as in `os[].nested.length`,
but it doesn't check that usages are correct. Such checking would be
easy to add but tedious and low-value.
3. `@typedef` doesn't support nested `@property` tags, but does support
`object[]` types. This is mostly a practical decision, backed up by the
fact that usejsdoc.org doesn't document nested types for `@typedef`.
2017-07-21 14:04:14 -07:00
Mine Starks 441daa4e19 Merge pull request #17302 from minestarks/removeimportfix
Bugs in missing import codefix
2017-07-21 10:22:24 -07:00
Andy f0bd91c314 Convert Array to ReadonlyArray/Push in commandLineParser.ts (#17323) 2017-07-21 07:16:22 -07:00
Mine Starks 9f6ec635a4 Cleaner path splitting, refine file extension and case sensitivity handling 2017-07-20 16:12:07 -07:00
Mine Starks 98b14e34ca Fix quote styles to match 2017-07-20 15:10:29 -07:00
Armando Aguirre fe86d2fc06 Merge pull request #17257 from armanio123/FixNodeModulesTodos
Added node_modules path check on getTodoComments method.
2017-07-20 14:58:36 -07:00
Ron Buckton 8fa1d2e3e6 Merge pull request #17141 from Microsoft/master-17060
Fix 17060 : incorrect emit for dynamic import inside elements of  export class declaration
2017-07-20 12:11:10 -07:00
Wesley Wigham 7cb8ce4346 Fix exceptions on empty tuple errors (#17311)
* Fix exceptions on empty tuple errors

* Remove bonus semicolon

* Invert condition
2017-07-20 10:09:55 -07:00
Andy 1f09af9ab6 simplify isFileSystemCaseSensitive test (#17169) 2017-07-20 10:02:59 -07:00
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 emptyArrays (#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
Armando Aguirre 9bdd17e842 Added explanation comment for excluding files. 2017-07-19 15:42:01 -07: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
Mine Starks 15d294d350 Bugs in missing import codefix
- We didn't locate the package.json correctly in cases where the module to be imported is in a subdirectory of the package
- We didn't look at the types element in package.json (just typings)
- We didn't remove /index.js from the path if the main module was in a subdirectory

Fixes #16963
2017-07-19 11:02:49 -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