Commit Graph
20471 Commits
Author SHA1 Message Date
Nathan Shively-Sanders 8657dc10a7 Error on excess spread arguments
Make the *technically* correct construction illegal:

```ts
declare function f(n: number): void;
declare var ns: number[];
f(1, ...ns);
```

This call only makes sense if `ns = []`, but in that case, why pass
`ns` at all? Allowing this call masks other errors when functions are
refactored to have fewer parameters, or to stop using rest parameters:

```ts
declare function old(...ns: number[]): void;
declare function new(ns: number | number[]): void;
old(1, ...ns); // Fine!
new(1, ...ns); // Should error!
```

This change the error for excess spread arguments to be more
understandable:

"Expected 3 arguments, but got least 4".

Previously the error would have been
"Expected 3 argument, but got at least 3", which is, again, technically
correct, but not understandable.
2017-11-16 09:31:50 -08:00
Andy d49491b3a7 smartIndenter: Don't indent after control-flow ending statements like break; (#20016)
* smartIndenter: Don't indent after control-flow ending statements like `break;`

* Fix bug

* Fix bug for function after `return`
2017-11-15 11:08:51 -08:00
Nathan Shively-Sanders 09d0a671ee Merge pull request #19993 from weswigham/mark-submodules-dirty
Mark submodule changes as ignored
2017-11-15 10:47:09 -08:00
csigs 337e810d3e LEGO: Merge pull request 20041
LEGO: Merge pull request 20041
2017-11-15 09:10:29 -08:00
csigs b8c34a5b62 LEGO: check in for master to temporary branch. 2017-11-15 17:10:09 +00:00
csigs 1201bfd2fd LEGO: Merge pull request 20029
LEGO: Merge pull request 20029
2017-11-15 03:10:46 -08:00
csigs fe75696e9d LEGO: check in for master to temporary branch. 2017-11-15 11:10:25 +00:00
Nathan Shively-Sanders 8a7b8445de Merge pull request #19655 from Microsoft/instantiate-this-in-type-parameter-constraints
Instantiate this when used only in type parameter constraints
2017-11-14 16:22:37 -08:00
Nathan Shively-Sanders 0c77b776ce Rename and inline functions 2017-11-14 16:06:48 -08:00
Andy 592ee00906 Have CompletionEntryDetails source use a relative path (#19917)
* Have CompletionEntryDetails source use a relative path

* Use getCanonicalFileName from services Instead of creating a new one
2017-11-14 14:26:49 -08:00
Wesley Wigham 9c51a8534e Synchronize getEntityNameForDecoratorMetadata and serializeUnionOrIntersectionType (#19879) 2017-11-14 14:20:18 -08:00
meyer 36ce7eac5a Update JSX intrinsic element test to match babel’s (#19946)
* Update JSX intrinsic element test to match babel’s

* Update baseline

* Move regex out of isIntrinsicJsxName

* Switch to non-regex intrinsic name test
2017-11-14 09:40:32 -08:00
csigs 9c771958ab LEGO: Merge pull request 20014
LEGO: Merge pull request 20014
2017-11-14 09:10:29 -08:00
csigs 96dcf398bf LEGO: check in for master to temporary branch. 2017-11-14 17:10:10 +00:00
Andy 7e8851e65b Always require '=' before parsing an initializer (#19979)
* Always require '=' before parsing an initializer

* Fix fourslash tests
2017-11-14 07:15:59 -08:00
csigs bee12e6eac LEGO: Merge pull request 20004
LEGO: Merge pull request 20004
2017-11-13 21:10:30 -08:00
csigs 492cd15e61 LEGO: check in for master to temporary branch. 2017-11-14 05:10:09 +00:00
Wesley Wigham 9be4d601b2 react starter needs node ref, accept fixed leveldown (#19994) 2017-11-13 16:44:09 -08:00
Wesley Wigham 7d93434f2c Fix crash on non-dts-require (#19980) 2017-11-13 16:41:29 -08:00
Wesley Wigham 3d602936e0 Handle binding elements while looking for invalid await and yield (#19972)
* Handle omitting a node in addCustomPrologue, account for binding elemnts in isInParameterInitializerBeforeContainingFunction

* Use append

* Fix lint
2017-11-13 16:40:08 -08:00
Ron Buckton 26ef7e5533 Merge pull request #19991 from Microsoft/fix-bom
Use UTF8 BOM in emit
2017-11-13 16:38:22 -08:00
Ron Buckton 2f941f33e2 Make BOM a constant 2017-11-13 16:36:13 -08:00
Nathan Shively-Sanders 5d5da4c1b7 Merge pull request #18925 from Microsoft/fix-spread-contextually-typed-by-binding-pattern
Fix object spread that is contextually typed by a binding pattern
2017-11-13 16:06:19 -08:00
Wesley Wigham b3d3b781ab Treat {} in T = {} as any in JS files (#19977) 2017-11-13 15:39:08 -08:00
Wesley Wigham babd3e7f0e Also make clones/updates shallow 2017-11-13 15:04:11 -08:00
Wesley Wigham c8b77ae83a mark all submodule changes as ignored 2017-11-13 15:02:28 -08:00
Ron Buckton ce29b4c36d Use UTF8 BOM in emit 2017-11-13 14:38:14 -08:00
Andy 9d8a854ea2 Revert "Break out of speculative parsing on bad parameter initializer (#19158)" (#19975)
This reverts commit e7df83263d.
2017-11-13 13:22:09 -08:00
Nathan Shively-Sanders 80d1a42179 Merge branch 'master' into instantiate-this-in-type-parameter-constraints 2017-11-13 13:13:38 -08:00
Nathan Shively-Sanders 39fd0bf2d1 Merge branch 'master' into fix-spread-contextually-typed-by-binding-pattern 2017-11-13 13:11:05 -08:00
Benjamin Lichtman 6b90119370 Merge pull request #19968 from uniqueiniquity/jsxFragmentFix
Check children of JSXFragment
2017-11-13 13:10:59 -08:00
uniqueiniquity 4c26426a69 Update baseline 2017-11-13 11:06:05 -08:00
uniqueiniquity 0fe0ff7943 Add test 2017-11-13 10:55:33 -08:00
Wilson Hobbs c2f0c580db add types for escape and unescape methods #18813 (#19015)
* add types for escape and unescape methods #18813
although the issue is marked working as expected, it is important to mention that most major browsers maintain support for escape and unescape, and some javascript codebases moving to typescript may have escape and unescape in them. They are valid JavaScript, and thus they should be included in the global definition.

* add escape and unescape types to lib in tests

* update tests to turn CI green
2017-11-13 10:37:54 -08:00
uniqueiniquity 52e8e47cfb Extract JSXChildren checking 2017-11-13 10:17:35 -08:00
Andy e7df83263d Break out of speculative parsing on bad parameter initializer (#19158)
* Break out of speculative parsing on bad parameter initializer

* Remove uses of 'finally'

* give up -> stop

* Do without exceptions

* Remove `resetAfterSpeculation`

* Use Fail and FailList objects

* Remove `inSpeculation` parameter to parseDelimitedList

* Don't use `createNodeArray`, it's not always in scope

* Move Fail and FailList inside initializeState

* More code review

* More code review
2017-11-13 09:18:36 -08:00
csigs 120fb6fc95 LEGO: Merge pull request 19964
LEGO: Merge pull request 19964
2017-11-13 09:10:35 -08:00
csigs 74fe5c5b74 LEGO: check in for master to temporary branch. 2017-11-13 17:10:16 +00:00
Nathan Shively-Sanders 7771d0c1fc Merge pull request #19934 from Microsoft/add-starter-kit-to-user-tests
Add starter kit to user tests
2017-11-13 08:54:52 -08:00
Anders Hejlsberg b8fbf884d0 Merge pull request #19926 from Microsoft/improvePrimitiveComparable
Bidirectional comparable relation for primitive types
2017-11-11 09:15:24 -08:00
csigs d2eb8ba640 LEGO: Merge pull request 19940
LEGO: Merge pull request 19940
2017-11-10 21:10:23 -08:00
csigs cba2e966a3 LEGO: check in for master to temporary branch. 2017-11-11 05:10:06 +00:00
Ron Buckton 137950b406 Merge pull request #19935 from Microsoft/fixDiagnostics
Fix crash when running tsc with -diagnostics
2017-11-10 16:29:52 -08:00
Ron Buckton 59fca7fc30 Fix crash when running tsc with -diagnostics 2017-11-10 16:26:16 -08:00
Nathan Shively-Sanders 4d01390845 Improve assert message 2017-11-10 15:55:29 -08:00
Ryan Cavanaugh de7fbc041a Merge pull request #19542 from RyanCavanaugh/fix19533
Exclude legacy safelist files in external projects
2017-11-10 15:28:35 -08:00
csigs 93f50d025d LEGO: Merge pull request 19932
LEGO: Merge pull request 19932
2017-11-10 15:11:04 -08:00
csigs 19b26c564c LEGO: check in for master to temporary branch. 2017-11-10 23:10:42 +00:00
Sheetal Nandi 8777962373 Merge pull request #19930 from Microsoft/constEnumWithWatch
Ensure that enum member value is computed before using it
2017-11-10 14:57:47 -08:00
Daniel Rosenwasser f28d236200 Merge pull request #19925 from Microsoft/fixUpSpecGenScript
Add 'scripthost' to 'lib' for the 'generate-spec' target.
2017-11-10 14:43:36 -08:00