20557 Commits

Author SHA1 Message Date
Andy
478b404f42
Detect re-exports from "export *" in completions (#20043) 2017-11-16 11:15:14 -08:00
Andy
94581c1946
Strip "/index" from import fix module specifiers (#19962)
* Strip "/index" from import fix module specifiers

* Require "node" module resolution

* More tests
2017-11-16 11:12:34 -08:00
Wesley Wigham
98112d4964
Add very error-ful test for chrome devtools js (#19992) 2017-11-16 11:02:00 -08:00
Nathan Shively-Sanders
2263a1e73b
Merge pull request #20071 from Microsoft/error-on-excess-spread-arguments
Error on excess spread arguments
2017-11-16 11:00:24 -08:00
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 Hejlsberg
b6f96052d8
Merge pull request #19976 from Microsoft/optimizeParser
Optimize parsing
2017-11-16 10:19:10 -08:00
Nathan Shively-Sanders
865f3281bc Update spread tests w/new excess arguments error 2017-11-16 09:39:31 -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
Andy
f352e46892
Revert "Change "isThisless" predicates to "mayReferenceThis" predicates (#20036)" (#20054)
This reverts commit 3d05952719a8b5023ca342ca353c04b5f552f71c.
2017-11-16 06:47:12 -08:00
Ron Buckton
b4ea7006f1
Merge pull request #15473 from Microsoft/dynamicNames
Allow dynamic names in types
2017-11-15 18:04:48 -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
062e7595fb
LEGO: Merge pull request 20059
LEGO: Merge pull request 20059
2017-11-15 15:12:06 -08:00
csigs
21f6b16156 LEGO: check in for master to temporary branch. 2017-11-15 23:11:36 +00:00
Andy
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
Andy
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
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
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
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
Anders Hejlsberg
787c323990 Accept new baselines 2017-11-14 09:32:28 -08:00
Anders Hejlsberg
dbeb68274f Merge branch 'master' into optimizeParser
# Conflicts:
#	src/compiler/parser.ts
2017-11-14 09:22:18 -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
Anders Hejlsberg
969f06462d Improve lookahead for arrow functions to reduce speculative parsing 2017-11-13 15:12:46 -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
Ron Buckton
804c7d3690 Merge branch 'master' into dynamicNames 2017-11-13 13:24:20 -08:00