Commit Graph

20961 Commits

Author SHA1 Message Date
Andy 6e512a495f extractMethod: Don't try to extract an ExpressionStatement consisting of a single token (#18450)
* extractMethod: Don't try to extract an ExpressionStatement consisting of a single token

* Move to unit test
2017-09-14 11:16:21 -07:00
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
Sheetal Nandi cf72f2aaf0 Merge branch 'master' into watchImprovements 2017-09-13 17:35:21 -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
Sheetal Nandi 4f7c0e5e1c Simplify event sent on background project update since its anyways just to update the error list 2017-09-12 18:16:31 -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
Sheetal Nandi b536f9dade Should not remove the reused resolutions in the file when file contents have not changed. 2017-09-12 12:09:06 -07:00
Wesley Wigham 403f585622 enclosingDeclaration can be undefined within getAccessibleSymbolChain (#18400) 2017-09-12 10:43:24 -07:00
Sheetal Nandi aea8630ace Merge branch 'master' into watchImprovements 2017-09-12 10:33:58 -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
Sheetal Nandi fdb104b242 Merge branch 'master' into watchImprovements 2017-09-11 13:49:36 -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