Commit Graph
4189 Commits
Author SHA1 Message Date
Andy 42c7aa85ce Clean up isNameOfExternalModuleImportOrDeclaration (#22659) 2018-03-16 14:54:41 -07:00
Andy 28ff6b6ef3 Store import nodes in SourceFile.imports instead of StringLiteral nodes (#22495)
* Store import nodes in SourceFile.imports instead of StringLiteral nodes

* Change SourceFile#imports storage back

* Code review

* StringLiteral -> StringLiteralLike
2018-03-16 14:01:00 -07:00
Andy adf3635a1f For import fix, for "foo/index" module, use "foo" as default export name, not "index" (#22651) 2018-03-16 14:00:33 -07:00
Matt Bierner 9774cd5eb5 Fix await code action crashes when await is not in a function (#22623)
Fixes #22614
2018-03-16 11:53:17 -07:00
Matt Bierner 984aaa3ee9 Fix completions and brace in empty file (#22620)
Fixes #22618
2018-03-16 11:05:33 -07:00
Wesley Wigham 19ec83fcdf Refactor declaration emitter into declaration transformer (#21930)
* Refactor declaration emitter into declaration transformer

* Slight cleanup from code review feedback

* Incorporate fix for new test

* Swaths of PR feedback

* Merge public methods

* Per-file output

* Preserve input import ordering more often

* Unify jsdoc comment start detection under more lenient rule

* Move to per-file transformations to reduce the memory that msut be retained

* Fix typo
2018-03-15 22:23:10 -07:00
Andy 85e9cce3c7 Don't add external module completions in a pure commonjs file (#22583) 2018-03-15 08:13:16 -07:00
Andy e7ce3f9457 useNonAdjustedEndPosition when replacing import node (#22517)
* useNonAdjustedEndPosition when replacing import node

* Never adjust positions, and add trivia test
2018-03-14 11:46:45 -07:00
Andy 6ef2db5c48 inferFromUsage: Handle being at an unexpected location (#22569)
* inferFromUsage: Handle being at an unexpected location

* add comment
2018-03-14 10:57:38 -07:00
Andy 23a64fe804 Remove redundant call to checkNodeDeferred (#22516)
* Remove redundant call to `checkNodeDeferred`

* Use a set to speed up `contains` checks
2018-03-13 15:46:25 -07:00
Andy 83b438ffa6 fixUnusedIdentifier: Don't remove setter parameter (#22488) 2018-03-12 16:07:20 -07:00
Sheetal Nandi fa2b7ff6b3 Merge pull request #22421 from Microsoft/typesInTypeArguments
Allow types as well as values in possibly type argument location
2018-03-09 14:36:45 -08:00
Sheetal Nandi ef64cde621 Merge pull request #22409 from Microsoft/symbolKind
Symbol kind needs to use location before falling back to flags
2018-03-09 13:59:38 -08:00
Sheetal Nandi 73947f8990 Add comments and make some nit changes based on PR feedback 2018-03-09 13:57:57 -08:00
Andy 0f47c8a205 annotateWithTypeFromJSDoc: Do less special-casing for arrow functions (#22407)
* annotateWithTypeFromJSDoc: Do less special-casing for arrow functions

* Code review
2018-03-08 16:32:32 -08:00
Sheetal Nandi e1a89e7011 Allow types as well as values in possibly type argument location
Fixes #22369
2018-03-08 16:06:26 -08:00
Sheetal Nandi ea37c37e88 Symbol kind needs to use location before falling back to flags
Fixes #22366
2018-03-08 11:50:52 -08:00
Andy a49e83ffa7 annotateWithTypeFromJSDoc: Use changes.insertTypeAnnotation instead of replaceNode (#22404) 2018-03-08 11:47:30 -08:00
Nathan Shively-Sanders f8134d0b45 Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-03-08 10:40:55 -08:00
Andy 0605424852 fixJSDocTypes: Use ChangeTracker (#22391) 2018-03-08 07:52:03 -08:00
Nathan Shively-Sanders d86440f94f Merge branch 'master' into js-object-literal-assignments-as-declarations 2018-03-07 14:51:55 -08:00
Andy 1f7a5097fa When every import is unused, error on the entire import declaration (#22386)
* When every import is unused, error on the entire import declaration

* Code review

* Store key in map value
2018-03-07 14:42:09 -08:00
Andy e5804aefde inferFromUsage: use ChangeTracker and typeToTypeNode (#22379)
* inferFromUsage: use ChangeTracker and typeToTypeNode

* Use typeToTypeNode with SymbolTracker

* Add comment
2018-03-07 14:40:50 -08:00
Andy 0be9ee2871 Increase size of span for unused declaration (#22388) 2018-03-07 14:14:11 -08:00
Sheetal Nandi 36b45e3f13 Merge pull request #22343 from Microsoft/codeFixActionNotUndefined
Create the action only if the text change creation is successful.
2018-03-06 12:31:04 -08:00
Mohamed Hegazy b2dd610e92 Fix ignore message indentation (#22340)
* Update baselines for user tests

* Add explicit indentation

* Fix https://github.com/Microsoft/TypeScript/issues/21355: Format `// @ts-ignore` added by quick fix

* Extract check to a separate function

* Consolidate checking for valid insert location

* Code review comments

* Do not return makeChange
2018-03-06 12:19:19 -08:00
Andy 2fb7e643f4 Simplify suppressLeadingAndTrailingTrivia (#22356) 2018-03-06 11:34:33 -08:00
Sheetal Nandi 70944428a1 Create the action only if the text change creation is successful. …
Make change for the infer type from usage could return undefined even if type is present if the type cannot be named
Fixes #22184
2018-03-06 11:03:20 -08:00
Andy e5f91f5948 Convert annotateWithTypeFromJSDoc refactor to a codefix (#22336)
* Convert annotateWithTypeFromJSDoc refactor to a codefix

* Compute isJsFile once at top
2018-03-06 07:49:21 -08:00
Josh Goldberg 7826b38426 Apply 'no-unnecessary-initializer' lint rule (#22014)
* Apply 'no-unnecessary-initializer' lint rule

Forbids `let`/`const` statements to be initialized to `undefined`, since that's the initial value by default anyway.
The auto-fixer also happened to remove two unnecessary `as number` casts in `src/harness/parallel/worker.ts`.

For historical data: to run with `--fix`, I modified the line in `Jakefile.js` that declared the `cmd` for running TSLint.

* Moved worker.ts type assertions to parameters
2018-03-06 07:30:40 -08:00
Andy 5e593acad9 Avoid cast by providing type predicate to isExternalModuleAugmentation (#22119)
* Avoid cast by providing type predicate to isExternalModuleAugmentation

* Break into isExternalModuleAugmentation and isModuleAugmentationExternal
2018-03-06 07:27:36 -08:00
Andy 2ac2291b84 Convert use-default-import refactor to a codefix (#22334) 2018-03-05 12:43:01 -08:00
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
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