Commit Graph

4154 Commits

Author SHA1 Message Date
Andy
87c3cca3f0 Make convertFunctionToEs6Class a codefix (#22241)
* Make convertFunctionToEs6Class a codefix

* Change diagnostic message
2018-03-02 12:57:29 -08:00
Andy
ba8879d005 Prefer 'return Debug.fail()' over 'throw Debug.fail()' (#22092) 2018-03-02 10:44:06 -08:00
Andy
dd27288e5a Don't rename static 'this' when renaming class (#22235) 2018-03-02 10:23:08 -08:00
Andy
16fc256823 Convert 'installTypesForPackge' refactor to a suggestion (#22267)
* Convert 'installTypesForPackge' refactor to a suggestion

* Have checker collect a list of suggestion diagnostics instead of redoing work in calculateSuggestionDiagnostics

* Add comment

* Add diagnostic even with `--allowJs`
2018-03-01 14:41:55 -08:00
Andy
a564912d9a Apply 'no-unnecessary-qualifier' lint rule (#22009) 2018-03-01 14:20:18 -08:00
Andy
c12369b354 Fix bug where findAllReferences included a node outside of sourceFilesToSearch (#22062) 2018-03-01 13:44:53 -08:00
Andy
6c63dd25e6 breakpoints: Fix invalid cast (#22153) 2018-03-01 13:13:27 -08:00
Andy
0701ed5d4b isControlFlowEndingStatement: don't try to enumerate all possible parent kinds (#22131) 2018-03-01 13:12:53 -08:00
Andy
7b929e090d Remove unnecessary length check in getSyntacticDocumentHighlights (#22064) 2018-03-01 13:11:45 -08:00
Andy
0a72568e59 findAllReferences: Make definition info independent of search location (#21748) 2018-03-01 12:46:00 -08:00
Wesley Wigham
1a43ad01a7 Lookup JSX namespace within factory function (#22207)
* Lookup JSX namespace within factory function

* Rename functions
2018-02-28 15:48:33 -08:00
Andy
fa4619c5c1 Add 'info' diagnostics (#22204)
* Add 'info' diagnostics

* Code review
2018-02-28 11:16:32 -08:00
Andy
f4af74aae1 Simplify TextChanges#getChanges (#22157)
* Simplify TextChanges#getChanges

* Rename function and improve assert
2018-02-27 12:26:05 -08:00
Wesley Wigham
32c63a2628 Add support for transpiling per-file jsx pragmas (#21218)
* Add support for per-file jsx pragmas

* Add error for using jsx factory pragma with fragments

* More tests, use different regex class for pragma capture

* Unify all pragma parsing machinery
2018-02-26 16:10:00 -08:00
Andy
0b1e21794d fourslash diagnostics tests: use objects instead of strings (#22193) 2018-02-26 14:55:26 -08:00
Andrew Casey
b31aa4e012 Merge pull request #22087 from amcasey/AmbientModuleImports
Organize imports in ambient modules
2018-02-23 17:43:28 -08:00
Wenlu Wang
30a96ba335 add support of codefix for Strict Class Initialization (#21528)
* add support of add undefined type to propertyDeclaration

* add support of add Definite Assignment Assertions to propertyDeclaration

* add support of add Initializer to propertyDeclaration

* remove useless parameter

* fix PropertyDeclaration emit missing exclamationToken

* merge fixes and fix

* fix unnecessary type assert
2018-02-23 07:25:50 -08:00
Andrew Casey
8ead7ab29c Organize imports within ambient module declarations 2018-02-22 16:30:57 -08:00
Andrew Casey
189eb505b9 Factor worker method out of ts.OrganizeImports.organizeImports 2018-02-22 16:30:56 -08:00
Andy
e8fb587097 organizeImports: Avoid using full FindAllReferences (#22102)
* organizeImports: Avoid using full FindAllReferences

* Add parentheses
2018-02-22 16:26:37 -08:00
Andy
75fa945f00 Simplify findContainingList (#22128) 2018-02-22 15:52:43 -08:00
Andy
73947b6ca7 Minor cleanup in getRenameInfoForNode (#22130) 2018-02-22 15:52:10 -08:00
Andy
bb2c58b977 Simplify uses of getPossibleSymbolReferencePositions (#22099) 2018-02-22 13:22:52 -08:00
Andy
790f65d15b Simplify isJumpStatementTarget and isLabelOfLabeledStatement users using type predicates (#22100) 2018-02-22 13:22:34 -08:00
Andy
8463b1e028 Fix bug: don't call addIndirectUser if we're not tracking indirect users (#22121) 2018-02-22 09:20:59 -08:00
Andrew Casey
72a7194b6c Merge pull request #22007 from amcasey/UnusedImports
Implement ts.OrganizeImports.removeUnusedImports
2018-02-21 13:35:43 -08:00
Andy
4f309702c1 Separate isGlobalCompletion from CompletionKind (#22074)
* Separate isGlobalCompletion from CompletionKind

* Fix comments
2018-02-21 13:12:13 -08:00
Andy
8a52eade2e Make getTextOfIdentifierOrLiteral and getEscapedTextOfIdentifierOrLiteral only accept Identifier | StringLiteralLike | NumericLiteral (#22002) 2018-02-21 11:05:43 -08:00
Andy
dda4bd0d0b fixClassDoesnotImplementInheritedAbstractMember: Don't perform fix for same class twice (#22073) 2018-02-21 10:03:02 -08:00
Andy
dd47f2492b getSemanticDocumentHighlights: Use toMultiMap helper (#22059)
* getSemanticDocumentHighlights: Use `toMultiMap` helper

* Rename to arrayToMultiMap and follow pattern of arrayToMap and arrayToNumericMap
2018-02-21 10:02:34 -08:00
Andrew Casey
cc386d25a4 Filter FAR results to initial SourceFile 2018-02-20 14:35:01 -08:00
Andy
b00c13b716 Fix bug: Handle QualifiedName in getMeaningFromRightHandSideOfImportEquals (#21779)
* Fix bug: Handle QualifiedName in getMeaningFromRightHandSideOfImportEquals

* Fix lint
2018-02-20 14:32:51 -08:00
Andrew Casey
fee1df34ce Implement ts.OrganizeImports.removeUnusedImports
TODO: Still need to add support for organizing imports in ambient
modules
2018-02-20 10:21:25 -08:00
Andy
b3edc8f9f4 Apply 'no-unnecessary-type-assertion' lint rule (#22005)
* Apply 'no-unnecessary-type-assertion' lint rule

* Fix type error

* Fix tsconfig.json

* Add --format back
2018-02-16 18:38:00 -08:00
Andy
8e078b9fde Add comment to isGlobalCompletion (#21973) 2018-02-16 16:48:42 -08:00
Andy
69abe49930 Supports more locations for completions contextual types (#21946) 2018-02-16 16:48:03 -08:00
Sergii Bezliudnyi
b6f82adfed add template to jsdoc completion (#21978) 2018-02-16 16:27:57 -08:00
Andrew Casey
8341b1369d Merge pull request #22004 from amcasey/FARBadImport
Make FAR handle non-existent imported symbols
2018-02-16 16:17:04 -08:00
Andrew Casey
b64eefdb20 Remove redundant null check 2018-02-16 15:50:12 -08:00
Andrew Casey
9c2b95dae3 Make FAR handle non-existent imported symbols 2018-02-16 14:49:23 -08:00
Andrew Casey
7a31394788 Group imports before sorting and coalescing 2018-02-16 13:15:07 -08:00
Andrew Casey
5c278cee17 Address PR feedback
Eliminate cancellation token

Add organizeImports.ts to tsconfig.json

Simplify ts.OrganizeImports.organizeImports

Simplify sortImports

Semantic change: all invalid module specifiers are now considered to be
equal.

Simplify comparisons using ||

Pull out imports with invalid modules specifiers

...for separate processing.  They are tacked on to the end of the
organized imports in their original order.

Bonus: downstream functions can now assume imports have valid module
specifiers.

Rename baseline folder with leading lowercase

Simplify coalesceImports

Remove some unnecessary null checks

Simplify baseline generation
2018-02-16 10:56:16 -08:00
Andrew Casey
f4141ac6bf Separate OrganizeImports into its own namespace and file 2018-02-16 10:52:29 -08:00
Andrew Casey
979b14689e Fix lint errors 2018-02-16 10:52:21 -08:00
Andrew Casey
5656f35b6a Introduce an organizeImports command
In phase 1, it coalesces imports from the same module and sorts the
results, but does not remove unused imports.

Some trivia is lost during coalescing, but none should be duplicated.
2018-02-16 10:51:38 -08:00
Andy
cfc234f959 Simplify getBraceMatchingAtPosition (#21979) 2018-02-15 16:29:42 -08:00
Andy
f8f4bb8fdd textChanges: Clean up handling of newLineCharacter (#21970) 2018-02-15 13:02:56 -08:00
Andy
347bff14a9 textChanges: Simplify getChanges (#21971)
* textChanges: Simplify getChanges

* Return ReadonlyArray
2018-02-15 13:02:45 -08:00
Andy
81df5313d7 Simplify getOccurrencesAtPosition (#21977) 2018-02-15 13:02:32 -08:00
Andy
1b6aa1386f Handle non-preserved const enums in debug messages (#21945) 2018-02-15 09:21:33 -08:00