Commit graph

19389 commits

Author SHA1 Message Date
Wesley Wigham
76eab54ab7 Add error for using generalized expressions with export assignments in ambient contexts (#18444) 2017-09-14 11:11:54 -07:00
Anders Hejlsberg
2077835ff7 Merge pull request #18438 from Microsoft/unionIntersectionUnit
Remove empty intersection types in unit types
2017-09-14 18:44:02 +01:00
Nathan Shively-Sanders
274faa4e9c Merge branch 'master' into allow-booleans-in-spreads 2017-09-14 10:30:58 -07:00
Andy
d96dfeb708 Don't normalize whitespace in fourslash tests (#18447)
* Don't normalize whitespace in fourslash tests

* Only render whitespace when the diff is text-only
2017-09-14 08:23:50 -07:00
Andy
cf53743bd6 In isInPropertyInitializer, don't bail out at a PropertyAssignment (#18449) 2017-09-14 07:59:53 -07:00
Andrew Casey
be5c00f4c9 Merge pull request #18427 from amcasey/GH17869
Forbid extraction of empty spans
2017-09-13 16:43:14 -07:00
Andrew Casey
288a57c16d Merge pull request #18448 from amcasey/NestedReturn
Only introduce return properties at the top level
2017-09-13 16:42:55 -07:00
Andrew Casey
7b64229f65 Merge pull request #18424 from amcasey/ExtractTypeParameter
Stop preventing extraction when a type parameter wouldn't bind correctly in a containing scope
2017-09-13 16:42:42 -07:00
Andrew Casey
aade97111a Merge pull request #18423 from amcasey/GH18188
Call getShorthandAssignmentValueSymbol rather than getSymbolAtLocation
2017-09-13 16:25:19 -07:00
Ryan Cavanaugh
9046fcb658 Add files as one batch to preserve errors 2017-09-13 16:09:18 -07:00
Anders Hejlsberg
f28d80d7d4 Support '// @ts-ignore' comments in .ts files 2017-09-13 15:40:10 -07:00
Ryan Cavanaugh
3bd4c4f847 Properly report external filenames 2017-09-13 15:19:07 -07:00
Wesley Wigham
ae1752e10d Actually be able to run RWC tests in parallel (#18453) 2017-09-13 15:16:03 -07:00
Nathan Shively-Sanders
d2e2faad5c Update tests and baselines 2017-09-13 15:13:34 -07:00
Nathan Shively-Sanders
fbdb14833a Improve naming of getPartialTypeFromFalsyUnion 2017-09-13 14:58:35 -07:00
Nathan Shively-Sanders
d951c14052 Allow all possibly falsy types in spreads
And update tests to reflect that
2017-09-13 14:56:15 -07:00
Nathan Shively-Sanders
9cddd1aca2 Update spread tests for booleans in spread types 2017-09-13 14:06:15 -07:00
Nathan Shively-Sanders
60f1d4573d Allow booleans in spread types
Special-case types produced by `bool && expr` with the type `false | T`.
This spreads `Partial<T>` instead of `false | T`.
2017-09-13 14:04:14 -07:00
Andrew Casey
e2d94a2922 Only introduce return properties at the top level
...not in nested functions.
2017-09-13 13:36:25 -07:00
Andrew Casey
255951c270 Stop preventing extraction when a type parameter wouldn't bind
...correctly in a containing scope.  It's not an issue because we'll
just declare a corresponding type parameter on the extracted function
and pass the original as a type argument.

Fixes #18142
2017-09-13 13:35:05 -07:00
Andrew Casey
34576c2521 Call getShorthandAssignmentValueSymbol rather than getSymbolAtLocation
...for shorthand property assignment names when collecting usages.
2017-09-13 13:31:42 -07:00
Anders Hejlsberg
b20d631ba2 Accept new baselines 2017-09-13 11:52:51 -07:00
Anders Hejlsberg
0ac942f7ab Update test 2017-09-13 11:52:21 -07:00
Anders Hejlsberg
c64beb90df Remove intersections of object and nullable types from union types 2017-09-13 11:52:10 -07:00
Nathan Shively-Sanders
a1d1a2219b Make isJavascript parameters required
This is a bit wordy, but will probably prevent bugs similar to #18254 in
the future.
2017-09-13 10:44:11 -07:00
Nathan Shively-Sanders
5d51a42030 Use createMissingNode for sentinel node 2017-09-13 10:26:11 -07:00
Nathan Shively-Sanders
d1efefec9c Merge branch 'master' into fail-spec-lambda-parsing-on-parameter-initialiser-missing-= 2017-09-13 09:30:57 -07:00
Nathan Shively-Sanders
014f7ba828 Test:javascript signature instantiation w/insufficient type args 2017-09-13 09:26:20 -07:00
Nathan Shively-Sanders
d762f55199 Fix:Instantiate javascript constructor signatures
getSignatureInstantation takes a parameter that tells whether the
signature comes from Javascript and therefore is allowed to pass fewer
than the required number of type arguments. (Defaults are chosen if this
is the case.)

Previously, getInstantiatedConstructorsForTypeArguments forgot to
provide this argument, and constructors with insufficient type arguments
would cause a crash because getSignatureInstantiation would not know to
fill in the missing type arguments.
2017-09-13 09:23:57 -07:00
Andy
2a70bf5158 Don't count a write-only reference as a use (#17752)
* Don't count a write-only reference as a use

* Split isWriteAccess to isWriteOnlyAccess and isReadOnlyAccess

* Update "unusedParameterUsedInTypeOf" to use "b"

* Update diagnostic messages: "is never used" -> "its value is never read"

* Use a WriteKind enum

* Rename enum and move documentation to enum members
2017-09-13 09:02:33 -07:00
Andy
c3199c7772 extractMethod: Support renameLocation (#18050)
* extractMethod: Support renameLocation

* Add tslint disable

* Properly analyze list of changes to always get a correct rename location

* Update test

* Ensure name is really unique

* Improvements to test code

* Respond to PR comments
2017-09-13 09:02:10 -07:00
Anders Hejlsberg
78f4cbe53c Add tests 2017-09-13 06:37:59 -07:00
Andrew Casey
f2c81cc4f4 Merge pull request #18426 from amcasey/FixBaselines
Fix fourslash baselines
2017-09-12 18:33:26 -07:00
Andrew Casey
a02aaf2625 Forbid extraction of empty spans 2017-09-12 18:17:15 -07:00
Andrew Casey
ece4e4f701 Fix fourslash baselines
40e459117a was out of date in a way that
didn't register as a conflict.
2017-09-12 18:11:12 -07:00
Andrew Casey
40e459117a Merge pull request #18343 from amcasey/InsertionPosition
Improve insertion position of extracted methods
2017-09-12 16:48:45 -07:00
Nathan Shively-Sanders
74ecef418d Add missed baselines 2017-09-12 14:43:56 -07:00
Nathan Shively-Sanders
d8ace9ddfb Don't parse param init when = is required but missing
Makes another test case pass that was taking exponential time to parse,
because now it notices that the = is not present and doesn't even try to
parse the initialiser expression.
2017-09-12 14:41:51 -07:00
Nathan Shively-Sanders
4c4316da72 Fail spec parsing lambdas on parameter missing a =
Fail speculative parsing of arrow function expressions whenever it has a
parameter with an initialiser that is missing '='. Ordinarily this is
allowed for better error recovery in the language service, but for
speculative parsing, the errors can compound. When the initialiser is an
error, and when the '=>' is missing (which is also allowed), what is
putatively an arrow function may actually be something else.

For example, `(a / 8) + function ()
{ }` is currently parsed as if someone had intended to write

`(a = /8)+function()/) => { }` but they forgot the `=` of the
initialiser, the `=>` of the lambda, forgot to close the regular
expression, and mistakenly inserted a newline right after the regular
expression.
2017-09-12 14:01:49 -07:00
Wesley Wigham
403f585622 enclosingDeclaration can be undefined within getAccessibleSymbolChain (#18400) 2017-09-12 10:43:24 -07:00
Nathan Shively-Sanders
2fbc2259a1 Merge pull request #18392 from Microsoft/fix-contextually-typing-arguments-object
Fix contextually typing arguments object
2017-09-11 16:22:17 -07:00
Ryan Cavanaugh
1f0e7b02ea Merge pull request #18093 from RyanCavanaugh/detectBadPlugins
Detect bad plugins and work around them
2017-09-11 12:49:10 -07:00
Anders Hejlsberg
d90814bc57 Merge pull request #18391 from Microsoft/fixMappedTypeInference
Inference for higher order mapped, index and lookup types
2017-09-11 20:47:38 +01:00
Anders Hejlsberg
d65a3e1c67 Merge pull request #18363 from Microsoft/fixIntersectionInference
Fix intersection inference
2017-09-11 20:46:43 +01:00
Anders Hejlsberg
1b49c8f0a8 Merge pull request #18246 from Microsoft/fixControlFlowStackOverflow
Error on excessively large control flow graphs
2017-09-11 20:45:22 +01:00
Thomas den Hollander
1ee3b65141 Change typed array signatures (#18367) 2017-09-11 11:22:45 -07:00
Herrington Darkholme
29d5e4dadd fix #18225, fix error message on abstract class instance (#18368)
* fix #18225, fix error message on abstract class instance

abstract class check should be inside constructor call

* add new test and accept baseline
2017-09-11 11:21:35 -07:00
Nathan Shively-Sanders
4e04a740f8 Test:contextual typing of arguments obj in JS files 2017-09-11 11:17:14 -07:00
Nathan Shively-Sanders
2fdb5b8659 assignContextualParameterTypes handles arguments object
Previously, it would crash &mdash; the arguments object is a transient
symbol with no declaration, and `getEffectiveTypeAnnotationNode`
does not accept `undefined`.
2017-09-11 11:16:01 -07:00
Anders Hejlsberg
6c2fe29a72 Accept new baselines 2017-09-11 11:02:11 -07:00