Commit Graph

3693 Commits

Author SHA1 Message Date
Andy
8b60736b61 importFixes: Remove unnecessary undefined check (#19045) 2017-10-09 13:39:15 -07:00
Andy
71f8852124 Have getNameOfDeclaration return x for export default x. (#18616) 2017-10-06 14:29:45 -07:00
Daniel Rosenwasser
ea2021dd3e Create fix for uninvoked decorators. 2017-10-05 11:43:14 -07:00
Benjamin Lichtman
43084829bc Increase maximum depth of outlining span search (#18704)
* Increase max depth of outlining spans to 120

* Update tests

* Update tests to demonstrate limit

* Set limit to 40 and update tests
2017-10-04 13:48:08 -07:00
Andrew Casey
530e107d51 Merge pull request #18936 from amcasey/GH18899
Localize more Extract Function/Constant strings
2017-10-04 13:33:06 -07:00
Andrew Casey
02f2a29ca2 Stop combining already-translated strings 2017-10-04 12:39:32 -07:00
Andy
de9c459d5e Clean up code in getModifierOccurrences (#18948) 2017-10-04 12:20:58 -07:00
Andrew Casey
d03d237b3b Merge pull request #18929 from amcasey/ExtractVoidNever
Stop extracting void and never constants
2017-10-04 10:33:05 -07:00
Andy
6617819bf3 In getModifierOccurrences, support additional container kinds (#18947) 2017-10-04 09:52:51 -07:00
Andrew Casey
bcdfdd276f Call getLocaleSpecificMessage 2017-10-03 18:10:58 -07:00
Andrew Casey
559689f66f Localize more Extract Function/Constant strings
Fixes #18899
2017-10-03 17:18:12 -07:00
Andrew Casey
443812a045 Stop extracting void and never constants 2017-10-03 15:07:39 -07:00
Andrew Casey
d1015bff06 Merge pull request #18926 from amcasey/ExtractConstantArrow
Disallow constant extraction into expression-bodied arrow functions
2017-10-03 14:29:01 -07:00
Andrew Casey
2cb965c268 Disallow constant extraction into expression-bodied arrow functions
...until https://github.com/Microsoft/TypeScript/issues/18924 is fixed.
2017-10-03 13:34:20 -07:00
Andrew Casey
b9fb1733ef Merge pull request #18919 from amcasey/ExtractLocalRefinements
Improve Extract Constant's handling of expression statements
2017-10-03 13:19:39 -07:00
Andrew Casey
7b1147fbce Stop inadvertently exempting expression statements from check 2017-10-03 12:23:32 -07:00
Andrew Casey
2a4ab08655 Refine extraction of expression statements
1) Replace range, rather than node, to leave trivia intact.
2) Only replace node in the innermost scope - otherwise insert as usual
and delete the original statement.
2017-10-03 11:18:40 -07:00
Andy
b111493276 Remove unnecessary *OrUndefined calls (#18889)
* Remove unnecessary *OrUndefined calls

* Add 'first'
2017-10-03 10:24:39 -07:00
Andrew Casey
b21d8a4742 Merge pull request #18900 from amcasey/ReduceDup
Refactor to reduce property duplication
2017-10-03 10:04:03 -07:00
Mohamed Hegazy
ae3f29ade6 Accept baselines (#18903) 2017-10-02 19:08:13 -07:00
Sheetal Nandi
6997e9b731 Merge pull request #17269 from Microsoft/watchImprovements
Watch improvements in tsserver
2017-10-02 17:38:22 -07:00
Andrew Casey
b244cd4fb4 Merge pull request #18864 from amcasey/GH18857
Handle repeated substitution of the same symbol during extraction
2017-10-02 17:03:03 -07:00
Andy
d620129d4a Ensure getResolvedSignature never returns undefined (#18883) 2017-10-02 17:02:27 -07:00
Andrew Casey
3b4cbebee0 Handle repeated substitution of the same symbol during extraction
Old: Insert the same Node for every occurrence.  The position was
repeatedly mutated during printing.
New: Thunk the Node so that a new one is constructed for every
occurrence.

Fixes #18857
2017-10-02 16:51:13 -07:00
Andrew Casey
e1380a866e Refactor to reduce property duplication 2017-10-02 16:41:40 -07:00
Andrew Casey
2df7058af7 Merge pull request #18861 from amcasey/ConstantInsertionPosition
Improve insertion positions of extracted constants
2017-10-02 16:39:32 -07:00
Andrew Casey
724f71cae1 Describe the innermost scope as "enclosing scope" for constants
Using the same description as for functions was confusing because the
extracted constant was inserted below the top-level of that scope.
2017-10-02 15:57:36 -07:00
Andrew Casey
ba5f09b66d Localize 'in' in extraction description 2017-10-02 15:30:52 -07:00
Sheetal Nandi
898559b4e5 Merge branch 'master' into watchImprovements 2017-10-02 12:34:34 -07:00
Andy
d821bbf3f3 Simplify RulesMap construction (#18858) 2017-10-02 08:36:09 -07:00
Andrew Casey
bcc93f2c08 Loosen restriction on usages in innermost scope
Now that we're smarter about where we declare the extracted local, we
can ignore usage problems in the innermost script - it'll always have
access to the same symbols as the extracted expression.
2017-09-29 18:00:27 -07:00
Andrew Casey
c08308a0f1 Reuse getSourceFileImportLocation 2017-09-29 17:37:39 -07:00
Andrew Casey
9097a07758 Improve insertion positions of extracted constants
...mostly by putting them closer to the extraction site.

They now also follow all leading comments in a file (unfortunately,
including the doc comment on the first declaration).

Bonus: Special case declaration lists - declare the new variable as part
of the list, rather than before it, in case it depends on an earlier
entry.
2017-09-29 15:52:56 -07:00
Andrew Casey
7aee3a102c Merge pull request #18831 from amcasey/AdditionSpecialCase
Eliminate special case for extracting from a binary operator chain
2017-09-29 13:10:28 -07:00
Sheetal Nandi
9e08caebf5 Merge branch 'master' into watchImprovements 2017-09-29 10:43:05 -07:00
Andy
683d6c7ddd Add helper functions for using unescapeLeadingUnderscores (#18793)
* Add helper functions for using `unescapeLeadingUnderscores`

* More cleanup
2017-09-29 09:57:31 -07:00
Andrew Casey
41676248e5 Eliminate special case for extracting from a binary operator chain
1) It assumed left-associativity and was, therefore, wrong for (e.g.)
exponentiation.
2) Arguably, if a user selects `a + |b + c|`, they want to extract `b +
c`, not `a + b + c`.  Not being able to do so is surprising (and we may
eventually want to allow it), but so is having the rest of the
least-common subtree extracted.

Fixes #18268
2017-09-28 14:54:52 -07:00
Armando Aguirre
a39110add9 Merge pull request #18806 from armanio123/FixScriptBlockFormatting
Fixed formatting on script blocks
2017-09-28 12:35:32 -07:00
Andy
1a2de721b5 Fixes to @augments handling (#18775)
* Fixes to @augments handling

* Renames and diagnostic changes

* Add test for < > characters

* Use more specific return type
2017-09-28 12:34:54 -07:00
Armando Aguirre
5225b40aab Addedn rangeContainsRange helper function 2017-09-28 10:23:30 -07:00
Andrew Casey
386e76543a TODOs for repeated substitution 2017-09-27 18:08:35 -07:00
Armando Aguirre
8683ac92c8 Fixed formatting on script blocks, added regrestion tests, fixed minor bugs 2017-09-27 15:18:25 -07:00
Andrew Casey
e6bfce193c Add additional TODO about insertion positions 2017-09-27 10:40:12 -07:00
Andrew Casey
13e60bc497 Use resources, rather than string literals, in test baselines 2017-09-27 10:35:13 -07:00
Andrew Casey
cb6037b563 Forbid extraction of constants to class scopes in JS 2017-09-27 10:30:02 -07:00
Andrew Casey
2601bbcea7 Add simple tests for Extract Constant 2017-09-26 17:29:35 -07:00
Andrew Casey
eb1fb5c164 Rename extractMethod.ts to extractSymbol.ts 2017-09-26 17:29:34 -07:00
Andrew Casey
3eea1a9e9a Generalize extract method to handle constants as well
Major changes:

1) Instead of skipping undesirable scopes, include them and mark them
with errors.  Constants can be extracted into more scopes.

2) Update the tests to call through the "public" API.  This caused some
baseline changes.

3) Rename refactoring to "Extract Symbol" for generality.

4) Return a second ApplicableRefactorInfo for constants.  Distinguish
the two by splitting the action name.
2017-09-26 17:29:34 -07:00
Sheetal Nandi
68d360585a PR feedback 2017-09-26 16:21:15 -07:00
Andy
ecef2dc970 Improve testing of code fixes, and improve diagnostic messages (#18742)
* Improve testing of code fixes, and improve diagnostic messages

* Disambiguate `newFileContent` from `newRangeContent`
2017-09-26 15:16:29 -07:00