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
c64beb90df
Remove intersections of object and nullable types from union types
2017-09-13 11:52:10 -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
Andrew Casey
a02aaf2625
Forbid extraction of empty spans
2017-09-12 18:17:15 -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
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
2fdb5b8659
assignContextualParameterTypes handles arguments object
...
Previously, it would crash — 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
63d746bc4c
Higher order inference for mapped, index and lookup types
2017-09-11 10:24:27 -07:00
Wesley Wigham
eb80799ef0
Care about esnext where we look for es2015 ( #18331 )
...
* Care about esnext where we look for es2015
* Update diagnostic message to be more agnostic
2017-09-09 16:30:06 -07:00
Anders Hejlsberg
f40f0db676
Preserve intersections on the source side in type inference
2017-09-09 12:43:39 -07:00
Andy
e51e91dd2c
Change wording of scope description ( #18342 )
2017-09-09 05:52:52 -07:00
Andy
018c645913
In import code fix, don't treat a re-export as an import ( #18341 )
2017-09-09 05:52:08 -07:00
Andrew Casey
62899d10cd
Add simple baseline tests for insertion positions
2017-09-08 16:45:47 -07:00
Anders Hejlsberg
c671c3ac06
Only track flow analysis stack depth
2017-09-08 15:51:11 -07:00
Andrew Casey
e77425f984
Delete staticAssertNever in favor of assertTypeIsNever
2017-09-08 14:36:21 -07:00
Anders Hejlsberg
ecea2871bd
Merge branch 'master' into fixControlFlowStackOverflow
2017-09-08 14:26:13 -07:00
Anders Hejlsberg
25268ce368
Separate counters for stack depth and visited flow nodes
2017-09-08 14:24:32 -07:00
Andy
409d6597eb
Add never helper function ( #18287 )
...
* Add `never` helper function
* Move to Debug.assertNever, keep old messages
2017-09-08 14:22:44 -07:00
Andrew Casey
26903552fe
Improve insertion position of extracted methods
...
Old: End of target scope
New: Before the first non-constructor function following the extracted
range in the target scope
2017-09-08 14:19:28 -07:00
Anders Hejlsberg
37d320d0c8
Rename visitedFlowXXX to sharedFlowXXX
2017-09-08 14:19:18 -07:00
Andrew Casey
deefb01c9d
Merge pull request #18165 from amcasey/GH18144
...
Simplify and correct PermittedJumps computation
2017-09-08 10:50:05 -07:00
Nathan Shively-Sanders
d4e3e19763
Merge pull request #18333 from Microsoft/fix-forEachChild-JSDocTypedefTag
...
Fix forEachChild jsdoc `@typedef` tag
2017-09-08 08:52:46 -07:00
Nathan Shively-Sanders
cab05ddd3f
Inline variable to aid control flow
2017-09-08 08:33:17 -07:00
Andy
4ee7d3aeb2
Remove unnecessary check in emitNodeList ( #18327 )
2017-09-08 07:18:37 -07:00
Anders Hejlsberg
9eecf8ca56
Report error on first token of excessively large function or module body
2017-09-08 06:35:14 -07:00
Nathan Shively-Sanders
fb5e8c6110
Fix forEachChild's visit of JSDocTypedefTag
...
Also remove JSDocTypeLiteral.jsdocTypeTag, which made no sense since it
was only useful when storing information for its parent `@typedef` tag.
2017-09-07 16:37:13 -07:00
Andrew Casey
02cfb81ac0
Merge pull request #18164 from amcasey/GH18140
...
Handle the combination of a write and a void return
2017-09-07 16:32:55 -07:00
Andrew Casey
baefdd2ccb
Revert "Make permittedJumps a parameter to eliminate save-restore pattern"
...
This reverts commit 57906fe90e8efd2fb285fcb67f018c0438ba06dd.
2017-09-07 16:22:12 -07:00
Andrew Casey
73bc0c9796
Correct copied comment
2017-09-07 16:22:09 -07:00
Andrew Casey
e3808b65d4
Simplify and correct PermittedJumps computation
...
1. It was looking at the parent which wasn't guaranteed to be in the
extracted range.
2. It was checking direct, rather than indirect containment - apparently
to avoid applying the rules to certain expressions (which can't contain
jumps anyway, unless they're in anonymous functions, in which case
they're fine).
Fixes #18144
2017-09-07 16:21:20 -07:00