22167 Commits

Author SHA1 Message Date
Matt Bierner
984aaa3ee9 Fix completions and brace in empty file (#22620)
Fixes #22618
2018-03-16 11:05:33 -07:00
Wesley Wigham
bfe755c6ce
Revert assertion addition (#22622) 2018-03-16 09:04:55 -07:00
Wesley Wigham
19ec83fcdf
Refactor declaration emitter into declaration transformer (#21930)
* Refactor declaration emitter into declaration transformer

* Slight cleanup from code review feedback

* Incorporate fix for new test

* Swaths of PR feedback

* Merge public methods

* Per-file output

* Preserve input import ordering more often

* Unify jsdoc comment start detection under more lenient rule

* Move to per-file transformations to reduce the memory that msut be retained

* Fix typo
2018-03-15 22:23:10 -07:00
Andy
162a273e43
Simplify some code in parseTestData (#22587) 2018-03-15 13:05:01 -07:00
Andy
eb4dba7ad4
Disable assertion for deferredUnusedIdentifierNodes (#22604) 2018-03-15 10:49:39 -07:00
Andy
85e9cce3c7
Don't add external module completions in a pure commonjs file (#22583) 2018-03-15 08:13:16 -07:00
csigs
0666b281b0
LEGO: Merge pull request 22586
LEGO: Merge pull request 22586
2018-03-14 15:10:57 -07:00
csigs
77e529bf7e LEGO: check in for master to temporary branch. 2018-03-14 22:10:37 +00:00
Nathan Shively-Sanders
0d684b5681
Update user tests for new jsdoc fixes (#22582)
From #22510 and #22514, which remove lots of bogus `@param` errors and
add lots of `Object is possibly undefined` errors, respectively.

There are quite a few effects of the correct addition of undefined to
types based on postfix= in jsdoc, actually.
2018-03-14 14:40:35 -07:00
Klaus Meinhardt
7715b5139b Signature#declaration can be undefined (#22515) 2018-03-14 13:24:41 -07:00
Andy
1736741e54
Simplify implementation of firstOrUndefined and lastOrUndefined (#22572) 2018-03-14 12:40:48 -07:00
Andy
5f1668e53d
Use type predicate for getFirstJSDocTag (#22573)
* Use type predicate for getFirstJSDocTag

* Restore API
2018-03-14 12:40:30 -07:00
Nathan Shively-Sanders
3728ec353a
Improve unmatched jsdoc param error (#22577)
* Improve unmatched jsdoc parameter error message

* Remove extraneous carriage return
2018-03-14 12:36:01 -07:00
Andy
e7ce3f9457
useNonAdjustedEndPosition when replacing import node (#22517)
* useNonAdjustedEndPosition when replacing import node

* Never adjust positions, and add trivia test
2018-03-14 11:46:45 -07:00
Wesley Wigham
6efc679b9e
Update circle config to build all branches
And move submodule update into run, since in checkout it doesn't seem to run
2018-03-14 11:23:03 -07:00
Andy
6ef2db5c48
inferFromUsage: Handle being at an unexpected location (#22569)
* inferFromUsage: Handle being at an unexpected location

* add comment
2018-03-14 10:57:38 -07:00
Nathan Shively-Sanders
677d860b44
No error on unmatchable @param tags (#22510)
* No errr on unmatchable `@param` tags

Such as when the initializer is not a function, or when the function
mentions `arguments` in its body.

* Do not require dummy param for JS uses of arguments

1. JS functions that use `arguments` do not require a dummy parameter in
order to get a type for the synthetic `args` parameter if there is an
`@param` with a `...` type.
2.JS functions that use `arguments` and have an `@param` must have a
type that is a `...` type.

* Check for array type instead of syntactic `...`

* Address PR comments

* Update baselines
2018-03-14 10:17:54 -07:00
Nathan Shively-Sanders
24fdb5201d
Pass stack trace limit to parallel workers, and always convert to number (#22527)
* Pass stackTraceLimit to parallel workers

Specifying it breaks some output, both in parallel and normal runners.
I'll look at that in another commit, probably another PR, depending on
how simple the problem is.

* Always convert stackTraceLimit to a number

Sometimes it's not a number, even though the type claims it is.
2018-03-14 07:05:32 -07:00
csigs
8d172aa353
LEGO: Merge pull request 22561
LEGO: Merge pull request 22561
2018-03-13 21:10:47 -07:00
csigs
e8ee4b02b4 LEGO: check in for master to temporary branch. 2018-03-14 04:10:27 +00:00
Andy
d1d69602ae
getJSDocParameterTags: Always return defined result (#22523)
* getJSDocParameterTags: Always return defined result

* Make line shorter

* Simplify remaining use
2018-03-13 17:56:00 -07:00
Sheetal Nandi
60501c8b49
Merge pull request #22526 from Microsoft/testModifiedTime
Instead of using current time, use predefined time for modification to ensure we can detect changes correctly and arent timing dependent
2018-03-13 17:06:22 -07:00
Sheetal Nandi
d8fe6ed01a Instead of using current time, use predefined time for modification to ensure we can detect changes correctly and arent timing dependent
Fixes #22455
2018-03-13 17:05:16 -07:00
Nathan Shively-Sanders
0fa838a3ef
Brackets and postfix= in @param add undefined (#22514)
* Brackets and postfix= in `@param` add undefined

Previously they only added optionality.
Note that, unlike Typescript, when a parameter initializer is specified
in jsdoc, it does not remove undefined in the *body* of the function.
That's because TS will generate initialisation code, but JS won't, so
the author will have to manually write code to remove undefined from the
type.

```js
/** @param {number} [a=101] */
function f(a) {
  // a: number | undefined here
  if (!a) {
    a = 101
  }
  // a: number here
}
```

Note that we don't check that
1. the initializer value is actually assigned to the parameter.
2. the initializer's type matches the declared type of the parameter.

Pretty much we just parse it and leave it alone.

* Address PR comments
2018-03-13 15:56:38 -07:00
Andy
23a64fe804
Remove redundant call to checkNodeDeferred (#22516)
* Remove redundant call to `checkNodeDeferred`

* Use a set to speed up `contains` checks
2018-03-13 15:46:25 -07:00
csigs
e41feab3bd
LEGO: Merge pull request 22521
LEGO: Merge pull request 22521
2018-03-13 15:11:08 -07:00
csigs
472a7f4d5b LEGO: check in for master to temporary branch. 2018-03-13 22:10:47 +00:00
Andy
0c6ef348ce
Simplify parseJsxChildren (#22511) 2018-03-13 12:28:21 -07:00
Mohamed Hegazy
85df31cde4
Merge pull request #22512 from Microsoft/fixUseOfProcess
Do not use unguarded process in tsc.ts
2018-03-13 11:24:31 -07:00
Sheetal Nandi
32018f66bb
Merge pull request #22496 from Microsoft/suppressMultipleDelete
Do not send delete event every poll for missing folder
2018-03-13 11:11:51 -07:00
Mohamed Hegazy
708caf9a72 Do not use unguarded process in tsc.ts 2018-03-13 11:03:12 -07:00
Nathan Shively-Sanders
25f7e0b735
Fix crash after var = require('x') type resolution (#22452)
* Harden var x=require name resolution+update chrome baseline

Chrome-devtools crashed after the new `var = require('x')` resolution
because it forgot to check whether the declaration had an initializer.

* Update chrome-devtools-frontend baseline
2018-03-13 10:44:02 -07:00
csigs
58bb30a64b
LEGO: Merge pull request 22505
LEGO: Merge pull request 22505
2018-03-13 09:10:40 -07:00
csigs
b01da6d65e LEGO: check in for master to temporary branch. 2018-03-13 16:10:20 +00:00
csigs
8e8e879fc2
LEGO: Merge pull request 22502
LEGO: Merge pull request 22502
2018-03-13 03:10:39 -07:00
csigs
6c85649fa4 LEGO: check in for master to temporary branch. 2018-03-13 10:10:20 +00:00
csigs
8d5aa2452e
LEGO: Merge pull request 22501
LEGO: Merge pull request 22501
2018-03-12 21:10:41 -07:00
csigs
f13db055ce LEGO: check in for master to temporary branch. 2018-03-13 04:10:21 +00:00
Andy
83b438ffa6
fixUnusedIdentifier: Don't remove setter parameter (#22488) 2018-03-12 16:07:20 -07:00
csigs
d3ede7b907
LEGO: Merge pull request 22498
LEGO: Merge pull request 22498
2018-03-12 15:11:50 -07:00
csigs
a7e8c3868b LEGO: check in for master to temporary branch. 2018-03-12 22:11:32 +00:00
Sheetal Nandi
3f2ff0125a
Merge pull request #22450 from Microsoft/reenableTest
Enable the commented out test and convert folder entries to sorted list
2018-03-12 14:47:02 -07:00
Andy
ac5a39c709
Fix bug: Don't skip emitting JSX attributes (#21777) 2018-03-12 14:03:25 -07:00
Sheetal Nandi
88c5e2295b Do not send delete event every poll for missing folder
Fixes #22494
2018-03-12 13:52:15 -07:00
csigs
9d6386c248
LEGO: Merge pull request 22489
LEGO: Merge pull request 22489
2018-03-12 09:10:45 -07:00
csigs
f80d0a064a LEGO: check in for master to temporary branch. 2018-03-12 16:10:20 +00:00
Sheetal Nandi
a0cd8d3f7d Ensure our readonly emptyArray stays non modified. 2018-03-09 16:56:14 -08:00
Nathan Shively-Sanders
be1c11581e
Add js user tests (#22449)
* Add some new user tests to test salsa

* Use current latest, not "latest"

* Add other js user tests

* Add new baselines

* Fix new user tests' typeroot. Move github to octokit/rest
2018-03-09 15:59:46 -08:00
Wesley Wigham
2204fb3fe7
Add submodule update step to circle (#22451)
* Add submodule update step to circle

* Move to post checkout

* Consolidate repetitive settings
2018-03-09 14:50:34 -08:00
Mohamed Hegazy
3dc754aa7d
Merge pull request #22448 from Microsoft/portGeneratedLibFiles3-9-2
Port generated lib files
2018-03-09 14:42:37 -08:00