Commit Graph
20579 Commits
Author SHA1 Message Date
Nathan Shively-Sanders eeeefcc10e Report jsdoc errors as semantic errors
This allows reporting of semantic errors as well. Semantic errors are
likely to outnumber syntactic errors, so it's valuable not to block
semantic errors on a few syntactic errors.
2017-11-17 10:38:30 -08:00
csigs cc0f923ef3 LEGO: Merge pull request 20103
LEGO: Merge pull request 20103
2017-11-17 09:10:27 -08:00
csigs 294ebaa85f LEGO: check in for master to temporary branch. 2017-11-17 17:10:08 +00:00
Andy 74a44e09a7 Support semantic classification of alias (#20012) 2017-11-17 08:04:51 -08:00
Andy 46c0edcebd In getContextualTypeForBinaryOperand, only need to look for = assignment operator, not e.g. += (#20037)
* In `getContextualTypeForBinaryOperand`, only need to look for `=` assignment operator, not e.g. `+=`

* isNonContextualBinaryExpression -> isContextSensitiveAssignment
2017-11-17 07:29:32 -08:00
Andy 36f7f307f5 lineAction: Use an enum instead of true | false | undefined (#20086) 2017-11-17 06:13:56 -08:00
csigs 12989456d1 LEGO: Merge pull request 20092
LEGO: Merge pull request 20092
2017-11-16 21:10:29 -08:00
csigs ad7149be75 LEGO: check in for master to temporary branch. 2017-11-17 05:10:10 +00:00
Armando Aguirre 464ae31776 Merge pull request #20082 from armanio123/KendoOptionalMin
Modified Kendo regex to include -ui folders and files without min
2017-11-16 17:37:24 -08:00
Andy 9992395f42 Support arbitrary prototype property assignments in navigation bar (#19923) 2017-11-16 16:51:02 -08:00
Armando Aguirre 49c169a523 Fixed unbalanced parenthesis 2017-11-16 16:16:10 -08:00
Armando Aguirre 48aa83e13a Modified Kendo regex to include -ui folders and files without min 2017-11-16 15:59:27 -08:00
csigs 2f7ff67646 LEGO: Merge pull request 20081
LEGO: Merge pull request 20081
2017-11-16 15:11:47 -08:00
csigs 25e4dc990a LEGO: check in for master to temporary branch. 2017-11-16 23:11:19 +00:00
Nathan Shively-Sanders c698a2b8e5 Merge pull request #19227 from Microsoft/infer-object-type-from-string-literal-to-keyof-T
Infer object type from string literal to keyof T
2017-11-16 15:07:12 -08:00
Ryan Cavanaugh 1ea1ad4a37 Merge pull request #20048 from RyanCavanaugh/fixSafeList
Apply the safe list to projects which didn't specify an upfront include
2017-11-16 14:18:11 -08:00
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
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 3d05952719.
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