Commit Graph

14968 Commits

Author SHA1 Message Date
Ryan Cavanaugh
a416826b64 Apply safelist exclusions even when include is not specified; recompute project contexts when installer reqs finish 2017-11-16 12:52:30 -08:00
Charles Pierce
1da35d9dca Treat exhaustive switch as last statement in function #18882 (#20063) 2017-11-16 12:17:26 -08:00
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
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
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 3d05952719.
2017-11-16 06:47:12 -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
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
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
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
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
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
492cd15e61 LEGO: check in for master to temporary branch. 2017-11-14 05:10:09 +00: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
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
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
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 Lichtman
6b90119370 Merge pull request #19968 from uniqueiniquity/jsxFragmentFix
Check children of JSXFragment
2017-11-13 13:10:59 -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
Anders Hejlsberg
3411318e6b Use TokenFlags.PrecedingJSDocComment to guide JSDoc comment processing 2017-11-13 09:51:56 -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
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