Commit Graph
4139 Commits
Author SHA1 Message Date
Nathan Shively-Sanders aa6b76fb6f Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-02-23 09:24:32 -08:00
Nathan Shively-Sanders dd2523650e Fix nested js-containers+proto assignment in types space
1. The actual symbols needed to be marked as containers.
2. Type node resolution needed to understand prototype assignments.
2018-02-23 09:16:01 -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
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
Nathan Shively-Sanders 01f2ee3d1f Set up structure of prototype assignments
No actual binding happens yet though
2018-02-20 16:03:54 -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
Andy 8518343dc8 Add isStringLiteralLike helper (#21953) 2018-02-14 13:25:04 -08:00
Andy 8c2756fdf6 Support getting string literal completions based on a type argument constraint (#21168)
* Support getting string literal completions based on a type argument constraint

* Fix bug: look for require call before argument info

* Code review

* @sandersn code review

* Remove test cast

* Reduce completions.ts diff

* @weswigham review

* Remove getTypeArgumentConstraint's dependence on checkTypeArgumentConstraints

* Remove TODO
2018-02-13 15:18:26 -08:00
Andy 74f01abfcf Clean up findPrecedingToken and avoid returning whitespace-only jsx text token (#21903) 2018-02-12 14:42:16 -08:00
Andy 458c12fa78 importFixes: Fix bug by using replaceNode and removing changeIdentifierToPropertyAccess (#21898) 2018-02-12 13:05:40 -08:00
Sheetal Nandi d6d9953f6d Fix completion of jsx attributes in self closing element
Fixes #21844
2018-02-12 11:57:20 -08:00
Andy fcf348610c documentHighlights: Handle some invalid modifier locations (#21893) 2018-02-12 11:34:49 -08:00
Andrew Casey ddf206b184 Merge pull request #21845 from amcasey/GH21793
Harden Extract Symbol against symbols without declarations
2018-02-12 10:40:31 -08:00
Mohamed Hegazy 3fb481ff40 Multiple telemetry debug assert failure fixes (#21886)
* Use getAllowSyntheticDefaultImports to access `--allowSyntheticDefaultImport` value

* Fix #21788: Handel missing imporotClause case

* Fix #21789: Add a defensive check to forgottenThisPropertyAccess code fix for non-identifier locations

* Do not suggest prefix with `this` if the name we are looking for is diffrent from the errorLocation

* Fix #21796: Handel case of unknown module

* Add check to capture more info for #21800

* Fix #21807: check for symbol before looking up its flags

* Fix #21812: Gracefully fail if the token is not `this`.
2018-02-12 10:34:17 -08:00
Eric Grube 879cb69d6a add beautifier rule for space after close paren and destructure bracket (#21859) 2018-02-10 12:45:54 -08:00
Priyantha Lankapura a732ff6b35 Add type infer formatting (#21850)
* add test for type infer formatting

* Fix type infer formatting

* update test to use condtional
2018-02-10 12:36:04 -08:00
Andrew Casey e65a1a429c Harden Extract Symbol against symbols without declarations
Fixes #21793
2018-02-09 19:42:34 -08:00
Andrew Casey 025418fdb0 Handle class declarations without names in Extract Symbol
Fixes #21816
2018-02-09 19:09:25 -08:00
Andrew Casey 22c4862d9e Merge pull request #21835 from amcasey/GH21786
Handle variable declaration without initializer in Convert to ES6 Module
2018-02-09 18:21:50 -08:00
Andrew Casey 1baae42149 Handle variable declaration without initializer in Convert to ES6 Module
Fixes #21786
2018-02-09 18:08:47 -08:00
Andrew Casey ab5596e785 Call replaceNode rather than replaceRange
...where convenient.  Same for deleteNode/Range.
2018-02-09 17:51:28 -08:00