Commit Graph

19623 Commits

Author SHA1 Message Date
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
Andrew Casey
b21d8a4742 Merge pull request #18900 from amcasey/ReduceDup
Refactor to reduce property duplication
2017-10-03 10:04:03 -07:00
Nathan Shively-Sanders
4d8663c378 Merge pull request #18117 from Microsoft/jsdoc-dotdotdot-binds-tighter-than-postfix
Jsdoc ... binds tighter than postfix ?!
2017-10-03 08:45:26 -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
Wesley Wigham
7f7d0c6c7b Baseline public API (#18897)
* Add unit test which tracks public API changes

* Accept strict function types updates

* 100% Linefeeds, no carriage returns

* How were these missing?

* That would be why they were there

* Extract and comment

* Accept comment changes
2017-10-02 17:37:40 -07:00
Sheetal Nandi
8ac01d76f5 Separate namespace declarations in builder of intenal and exported interfaces and functions 2017-10-02 17:16:49 -07:00
Mohamed Hegazy
a8b7f7d1e5 Include localized diagnostics (#18702)
* Add lcl files

* Add loclalization script

* Add localization build targets

* use async exists, and add assert

* Generate lcg file

* Add localize task to gulpFile

* Only run loclaize if the generated files neededs update. Also run localize as part of local

* Fix lint errors

* Linter love

* Respond to code review comments
2017-10-02 17:16:08 -07:00
Andy
3a2c723a69 Allow parsing a qualified type name containing a reserved word (#18888) 2017-10-02 17:04:28 -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
Sheetal Nandi
4bb4711eff Merge branch 'master' into watchImprovements 2017-10-02 16:34:43 -07:00
Sheetal Nandi
7f969e8138 Making APIs as internal so that we can enable them after we have figured out final details 2017-10-02 16:27:26 -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
Anders Hejlsberg
884c72efb4 Merge pull request #18654 from Microsoft/strictFunctionTypes
Strict function types
2017-10-02 23:09:17 +01:00
Anders Hejlsberg
c2344e07a4 Add error elaboration test 2017-10-02 13:40:26 -07:00
Anders Hejlsberg
bff843a9c9 Improve error elaboration for invariant generic types 2017-10-02 13:39:55 -07:00
Andy
eefe5c9706 Fix acquiring format options for getEditsForRefactor (#18848)
* Fix acquiring format options for getEditsForRefactor

* Add test

* Fix test description

* Use `executeCommandSeq`
2017-10-02 13:26:35 -07:00
Anders Hejlsberg
bf75a3f4ac Emit .d.ts file in test 2017-10-02 12:54:04 -07:00
Sheetal Nandi
898559b4e5 Merge branch 'master' into watchImprovements 2017-10-02 12:34:34 -07:00
Sheetal Nandi
835153ba50 PR feedback 2017-10-02 12:22:05 -07:00
Andy
637ed57451 Fix crash when extending non-EntityNameExpression (#18853) 2017-10-02 10:39:03 -07:00
Andy
e6980722a6 Fix bug: Report errors on extends expression in JS even if an @augments tag is present (#18854) 2017-10-02 10:33:53 -07:00
Ryan Cavanaugh
141cd574c7 Merge pull request #18603 from RyanCavanaugh/pluginWork
Report external files in initial case for project load
2017-10-02 10:32:04 -07:00
Andy
a075ba9828 getSuggestionForNonexistentSymbol: Add comment (#18885) 2017-10-02 10:23:37 -07:00
Andy
d11172c86e Use idText in a few more places (#18842) 2017-10-02 08:37:02 -07:00
Andy
b883fcbfdd Enable "space-within-parens" lint rule (#18856) 2017-10-02 08:36:26 -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
Anders Hejlsberg
936f98d9ad Addressing CR feedback 2017-09-29 16:01:14 -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
Andy
f71930c473 Print list of available refactors when we can't find one (#18843) 2017-09-29 11:08:45 -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
Anders Hejlsberg
c626d9d47c Accept new baselines 2017-09-28 15:44:17 -07:00
Anders Hejlsberg
0756aa1753 Merge branch 'master' into strictFunctionTypes 2017-09-28 15:39:57 -07:00
Andrew Casey
8e4c559f2c Merge pull request #18829 from amcasey/JsExtractTests
Improve Extract* unit test coverage and correctness
2017-09-28 14:59:18 -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
Anders Hejlsberg
1609196b22 Accept new baselines 2017-09-28 14:34:03 -07:00
Anders Hejlsberg
5613be4907 Only methods and constructors are bivariant in --strictFunctionTypes mode 2017-09-28 14:33:35 -07:00
Andrew Casey
a73a553f58 Assert that Extract* baselines are syntactically valid 2017-09-28 14:31:35 -07:00
Andrew Casey
0d5d5cdf28 For any Extract* baseline that is valid JS, produce a JS baseline 2017-09-28 14:13:48 -07:00
Andy
7959bd0a3d Check JSDoc @param tag names (#18777) 2017-09-28 13:44:38 -07:00
Andy
4bba6ee02e Support accessing enum types from JSDoc (#18703) 2017-09-28 13:43:39 -07:00