Commit graph

19273 commits

Author SHA1 Message Date
Andrew Casey 76fd4fe289 Merge pull request #18491 from amcasey/RequestCountDecr
Only decrement activeRequestCount on SetTypings responses
2017-09-15 10:50:52 -07:00
Wesley Wigham 11333a7bc2 Conditional declaration (#18506) 2017-09-15 10:45:20 -07:00
Vakhurin Sergey 95594e3ef3 Fixed formatting for multiline initialization of object and class members (#18494) 2017-09-15 09:12:35 -07:00
Wesley Wigham fd4a8d1516 Let the RWC harness iterate over files instead of building one big file (#18416)
* Let the RWC harness iterate over files instead of building one big file

* Handle duplicated-only-in-case outputs better in the type baseliner

* Always lowercase output names

* Move common code into helper function

* Always write .delete for missing files even if there were errors
2017-09-14 16:22:14 -07:00
Andrew Casey f3411d4361 Only decrement activeRequestCount on SetTypings responses
InvalidateCache responses are triggered by file watchers, rather than by
requests.
2017-09-14 15:45:26 -07:00
Wesley Wigham d1c4754b37 Better-scheduled parallel tests (#18462)
* Out with the old...

* Brave new world

* Throttle console output

* Batches test messages on large inputs initially

* Move parallel runner code into seperate files
2017-09-14 15:42:06 -07:00
Andy c522f379b2 Update assertion: symbol in union type may be a Function (#18483) 2017-09-14 15:02:32 -07:00
Wesley Wigham e1ede37ec7 Add name to amd definition in umd module if present (#18479) 2017-09-14 14:41:56 -07:00
Andy 0747b33038 Fixes to emit / format for codeFix (#18484) 2017-09-14 14:30:50 -07:00
Armando Aguirre 21bbdd33c5 Merge pull request #17415 from armanio123/FixRenameInDefaultLibrary
Excluded the default library from rename service.
2017-09-14 14:04:46 -07:00
Andy 66abcb9166 Handle undefined symbol.declarations in cloneSymbol (#18474) 2017-09-14 13:03:12 -07:00
Nathan Shively-Sanders b934c8bcbd Merge pull request #18417 from Microsoft/fail-spec-lambda-parsing-on-parameter-initialiser-missing-=
Fail speculative parsing of arrow functions when their parameter initialisers are missing a =
2017-09-14 13:01:51 -07:00
Armando Aguirre 1ab67c0f22 Fixed sourceFiles type error 2017-09-14 12:48:04 -07:00
Andy 0de1b2301e Cleanup getDiagnosticsForProject (#18151) 2017-09-14 12:38:48 -07:00
Andy 8dc66e4665 Cleanup navTo (#18150) 2017-09-14 12:38:17 -07:00
Andy 89eb06e475 For completions of union, exclude types with methods (#18124)
For completions of union, exclude arrays
2017-09-14 12:37:38 -07:00
Andy d1e2242ee4 Allow to access exports from inside a commonjs module (#17745)
* Allow to access `exports` from inside a commonjs module

* Don't contextually type `this` in `exports.f = function() { ... }`

* Update test
2017-09-14 12:36:55 -07:00
Andy 3062c6309b Simplify some code in getSymbolAtLocation (#18470) 2017-09-14 12:36:29 -07:00
Armando Aguirre b03fbaf313 Merge branch 'master' into FixRenameInDefaultLibrary 2017-09-14 12:01:31 -07:00
Andy e91af7d30d Allow template string with no substitutions to be used as a string literal type (#18452) 2017-09-14 11:19:54 -07:00
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
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
Wesley Wigham ae1752e10d Actually be able to run RWC tests in parallel (#18453) 2017-09-13 15:16:03 -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 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
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