Commit Graph
26450 Commits
Author SHA1 Message Date
Nathan Shively-Sanders 6a08820fe7 Improve spread arity mismatch error messages
Thanks @weswigham for the improved wording.
2017-11-16 10:28:17 -08:00
Anders HejlsbergandGitHub b6f96052d8 Merge pull request #19976 from Microsoft/optimizeParser
Optimize parsing
2017-11-16 10:19:10 -08:00
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
AndyandGitHub f352e46892 Revert "Change "isThisless" predicates to "mayReferenceThis" predicates (#20036)" (#20054)
This reverts commit 3d05952719.
2017-11-16 06:47:12 -08:00
Arthur Ozga 5c2fea4d4e make eventSender required for TypingsInstaller 2017-11-15 19:49:34 -08:00
Arthur Ozga a7822c550d expose just eventSender 2017-11-15 19:39:02 -08:00
Arthur Ozga d6c3a15ea6 Move event into IoSession 2017-11-15 18:51:25 -08:00
Ron Buckton ccba1280dc Use correct base primitive type 2017-11-15 17:31:52 -08:00
Ron Buckton 0b24f02aae Use correct base primitive type 2017-11-15 17:12:05 -08:00
Ron Buckton 86b0759b09 PR feedback 2017-11-15 16:47:01 -08:00
Ron Buckton a21a129abb Merge branch 'master' into dynamicNames 2017-11-15 15:24:05 -08:00
csigs 21f6b16156 LEGO: check in for master to temporary branch. 2017-11-15 23:11:36 +00:00
Arthur Ozga 005c86340f move socketSender to IOSession 2017-11-15 13:12:48 -08:00
AndyandGitHub 4b96edf72f Treat ... in jsdoc type as creating a synthetic rest parameter -- not as an array type (#19483)
* Treat `...` in jsdoc type as creating a synthetic rest parameter -- not as an array type

* Change type parsing so `...T[]` parses as `...(T[])` and not `(...T)[]`

* Replace the last parameter with ...args, and make access to it potentially undefined

* Code review
2017-11-15 13:04:08 -08:00
AndyandGitHub 3d05952719 Change "isThisless" predicates to "mayReferenceThis" predicates (#20036)
* Change "isThisless" predicates to "mayReferenceThis" predicates

* Fix name

* Code review
2017-11-15 12:43:16 -08:00
AndyandGitHub 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
csigs b8c34a5b62 LEGO: check in for master to temporary branch. 2017-11-15 17:10:09 +00:00
csigs fe75696e9d LEGO: check in for master to temporary branch. 2017-11-15 11:10:25 +00:00
Arthur Ozga 93ff7ba2c5 lint more 2017-11-14 22:27:01 -08:00
Arthur Ozga 930be75e0c lint 2017-11-14 18:14:15 -08:00
Arthur Ozga 6a910919ac use arrow to capture this 2017-11-14 18:09:32 -08:00
Arthur Ozga e341e52174 Merge branch 'master' into dev/aozgaa/eventPortTelemetry-IOSessionSocket 2017-11-14 16:50:54 -08:00
Arthur Ozga bf8f9be677 expose event to overwrite in SessionOptions
* need to retain eventPort and canUseEvents arguments and functionality for backwards
compatibility.
2017-11-14 16:42:18 -08:00
Nathan Shively-SandersandGitHub 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
Arthur Ozga 1746f4b3d3 factor out socket-event-sending 2017-11-14 15:10:44 -08:00
AndyandGitHub 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 WighamandGitHub 9c51a8534e Synchronize getEntityNameForDecoratorMetadata and serializeUnionOrIntersectionType (#19879) 2017-11-14 14:20:18 -08:00
Anders Hejlsberg ee851784a6 Remove dead code that didn't get removed in #19979 2017-11-14 14:03:56 -08:00
Anders Hejlsberg 0bda420a73 Merge branch 'master' into optimizeParser 2017-11-14 10:09:31 -08:00
meyerandMohamed Hegazy 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
Anders Hejlsberg dbeb68274f Merge branch 'master' into optimizeParser
# Conflicts:
#	src/compiler/parser.ts
2017-11-14 09:22:18 -08:00
csigs 96dcf398bf LEGO: check in for master to temporary branch. 2017-11-14 17:10:10 +00:00
AndyandGitHub 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 492cd15e61 LEGO: check in for master to temporary branch. 2017-11-14 05:10:09 +00:00
Wesley WighamandGitHub 7d93434f2c Fix crash on non-dts-require (#19980) 2017-11-13 16:41:29 -08:00
Wesley WighamandGitHub 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 BucktonandGitHub 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-SandersandGitHub 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 WighamandGitHub b3d3b781ab Treat {} in T = {} as any in JS files (#19977) 2017-11-13 15:39:08 -08:00
Anders Hejlsberg 969f06462d Improve lookahead for arrow functions to reduce speculative parsing 2017-11-13 15:12:46 -08:00
Ron Buckton ce29b4c36d Use UTF8 BOM in emit 2017-11-13 14:38:14 -08:00
Ron Buckton 804c7d3690 Merge branch 'master' into dynamicNames 2017-11-13 13:24:20 -08:00
AndyandGitHub 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
Ron Buckton ae11ae55c5 Fix getReturnTypeFromBody widening 2017-11-13 13:19:49 -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 LichtmanandGitHub 6b90119370 Merge pull request #19968 from uniqueiniquity/jsxFragmentFix
Check children of JSXFragment
2017-11-13 13:10:59 -08:00
Wilson HobbsandMohamed Hegazy 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