Commit graph

13879 commits

Author SHA1 Message Date
Andrew Casey 34576c2521 Call getShorthandAssignmentValueSymbol rather than getSymbolAtLocation
...for shorthand property assignment names when collecting usages.
2017-09-13 13:31:42 -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 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
Andrew Casey a81fa7a801 Make permittedJumps a parameter to eliminate save-restore pattern 2017-09-07 16:13:27 -07:00
Andrew Casey 9d11fbb9b9 Correct permitted jumps check 2017-09-07 16:13:26 -07:00
Wesley Wigham 27f9cdb1ae Explicitly avoid canonicalizing paths during configuration handling (#18316)
* Explicitly avoid canonicalizing paths during configuration handling

* Extract usage of identity in commandLineParser into single function, use identity in checker
2017-09-07 15:54:24 -07:00
Andrew Casey 0e50da62c4 Handle the combination of a write and a void return
When the return type is void, there's no `returnValueProperty`, but that
doesn't mean we don't need a `return` at the call site.

Fixes #18140.
2017-09-07 14:43:02 -07:00
Andy 2e02778960 When loading a module from node_modules, get packageId even in the loadModuleFromFile case (#18185)
* When loading a module from node_modules, get packageId even in the `loadModuleFromFile` case

* Support packageId for <reference types> too
2017-09-07 14:31:20 -07:00
Andy ed4e2e6e3b Ensure that emitter calls callbacks (#18284)
* Ensure that emitter calls calbacks

* Move new parameter to end of parameters

* Fix for ConditionalExpression

* Make suggested changes to emitter

* Fix parameter ordering

* Respond to minor comments

* Remove potentially expensive assertion

* More emitter cleanup
2017-09-07 14:30:19 -07:00
Anders Hejlsberg 8c64937888 Merge pull request #18153 from Microsoft/optimizeArrays
Optimize array operations to reduce memory footprint
2017-09-07 22:26:48 +01:00
Andrew Casey 9e30642127 Merge pull request #18315 from amcasey/TIDisabledProjects
Don't get typings for projects with disabled language services
2017-09-07 14:19:25 -07:00
Nathan Shively-Sanders 2bc9ecb4fd Merge pull request #18296 from Microsoft/disable-lookahead-isStartOfParameter
Disable isStartOfType's lookahead when called from isStartOfParameter
2017-09-07 13:57:28 -07:00
Nathan Shively-Sanders 397ff84f1a Merge pull request #18317 from Microsoft/object-literal-enum-property-names
Object literals computed property names allow literal-typed expressions
2017-09-07 13:56:10 -07:00
Andy 508cde0ea1 Document assignment to aliasSymbol in getUnionTypeFromSortedList (#17434)
* Document assignment to aliasSymbol in getUnionTypeFromSortedList

* Update wording
2017-09-07 12:39:13 -07:00
Daniel Rosenwasser 448d75c08f Merge pull request #17675 from HerringtonDarkholme/master
fix #16567: better coloring on light theme terminal
2017-09-07 12:33:12 -07:00
Wesley Wigham 6695255d86 Allow trailing newline to have fake position (#18298)
* Actually support baselining pretty in the harness

* Test case from 18216

* Use host newline in formatDiagnosticsWithColorAndContext

* Merge statements
2017-09-07 12:26:23 -07:00
Stas Vilchik 727facb55c fix initialization of shouldCreateNewSourceFiles (#17686) 2017-09-07 12:15:28 -07:00