19433 Commits

Author SHA1 Message Date
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
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
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
Andy
0b7dd5a4a5 Rename test baseline to be compatibile with windows (#18827) 2017-09-28 13:32:38 -07:00
Daniel Rosenwasser
0ea7c61eb5 Merge pull request #18810 from Microsoft/unusedErrorArgs
Remove unused arguments for diagnostics
2017-09-28 12:51:57 -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
Andrew Casey
8e7a5bac92 Merge pull request #18824 from amcasey/ExtractFunctionRename
Rename extractMethod tests to extractFunction for consistency
2017-09-28 10:58:34 -07:00
Andrew Casey
49d24fd89e Rename extractMethod tests to extractFunction for consistency 2017-09-28 10:36:16 -07:00
Armando Aguirre
5225b40aab Addedn rangeContainsRange helper function 2017-09-28 10:23:30 -07:00
Andrew Casey
5f30106269 Merge pull request #18783 from amcasey/ExtractConstant
Initial implementation of Extract Constant
2017-09-28 10:09:44 -07:00
Andy
a92d315eb6 Remove unnecessary cast (#18822) 2017-09-28 09:57:32 -07:00
Daniel Rosenwasser
76d92a5dd6 Remove unused arguments in program.ts. 2017-09-27 22:04:52 -07:00
Daniel Rosenwasser
9b77dd6a98 Merge pull request #16595 from alexeagle/pretty
--pretty diagnostics: move context after the file/error
2017-09-27 21:41:36 -07:00
Daniel Rosenwasser
b6629f4fac Remove unused arguments. 2017-09-27 20:39:14 -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
Alex Eagle
9753d3950b --pretty output: move context after the file/error
Fixes #16583
2017-09-27 13:55:30 -07:00
Wesley Wigham
d407f14e86 Remove console logs in fourslash (#18803) 2017-09-27 11:49:14 -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
697bce74b8 Split range tests and helpers out of extractFunctions.ts 2017-09-26 17:29:36 -07:00
Andrew Casey
52ab05e99d Rename extractMethods.ts to extractFunctions.ts for consistency 2017-09-26 17:29:35 -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
Wesley Wigham
6ffee104ca Split rwc input files (#18772)
* Handle translation between new and old log format styles

* Iteration

* Strip all backcompat

* Remove new parenthesis

* Handle directories in the test perf heuristic measurement

* Optional catch bindings!
2017-09-26 15:55:21 -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
Andy
a6555921f4 Update LKG (#18774) 2017-09-26 13:51:27 -07:00
Andy
5c239fa64c Remove redundant handler for JSDocComment in checkSourceElement (#18771) 2017-09-26 12:52:35 -07:00
Adrian Leonhard
70087ed0d8 type WriteFileCallback: make param sourceFiles required. (#18731)
Fixes https://github.com/Microsoft/TypeScript/issues/15007
2017-09-25 17:22:26 -07:00
Wesley Wigham
8f9724811d Add fix for crash in #18712 (#18751) 2017-09-25 13:07:44 -07:00
Andy
b4018a2ef1 Handle @typedef tag with missing type (#18662)
* Handle @typedef tag with missing type

* Add single quotes to diagnostic

* Remove redundant jsdoc checking (now done on every source element)

* Update baselines
2017-09-25 12:11:33 -07:00
Wesley Wigham
5a0c60a9a1 Include nearest test name in uncaught errors, catch suite errors (#18694) 2017-09-25 10:26:23 -07:00
Andy
17f10c032e Fix crash when @augments tag has no type (#18739) 2017-09-25 09:58:46 -07:00
Andy
a4cf79baa5 Span length is not optional (#18558)
* Span length is not optional

* Fix calculation of length
2017-09-25 09:47:53 -07:00
Andy
024b1fd913 Make it a parse error for an @augments jsdoc tag to not include a type (#18745) 2017-09-25 09:26:59 -07:00
Wesley Wigham
0abfd6a165 Remove updateX functions for template parts (#18714) 2017-09-22 20:47:42 -07:00
Mohamed Hegazy
4221fb6a39 Check for initializer before using it (#18708) 2017-09-22 17:14:22 -07:00
Wesley Wigham
b2ec33389c Add missing factory functions for template head, middle, tail, and no substituion template literal (#18709) 2017-09-22 16:54:46 -07:00
Andy
25ad0b5581 Apply "array-type" lint rule (#18699) 2017-09-22 16:14:41 -07:00
Wesley Wigham
5353475fce Always collect type and symbol baselines (#18621)
* Always generate type & symbol baselines

* Accept changed shadowed baselines

* Accept brand new type and symbol baselines

* Allow `getTypeAtLocation` to return undefined in the type writer

* Accept baselines which had missing type information

* Bind container for dynamically names enum members so they may be printed

* Accept type/symbol baselines for enums with computed members

* First pass at reducing typeWriter memory overhead

* Use generators to allow for type and symbol baselines with no cache

* Accept new baselines for tests whose output was fixed by better newline splitting

* Hard cap on number of declarations printed, cache declaration print text

* handle differing newlines better still to handle RWC newlines

* Lower abridging count, accept abridged baselines

* Limit max RWC error output size, limit RWC type and symbol baseline input size

* Move skip logic into type and symbol baseliner to streamline error handling

* Accept removal of empty baselines

* Canonicalize path earlier to handle odd paths in input files

* Do canonicalization earlier still, also ensure parallel perf profiles for different targets do not trample one another

* No need to pathify again
2017-09-22 15:52:04 -07:00
Daniel Rosenwasser
92b7dcf20a Merge pull request #18660 from Microsoft/globalAugmentationPrinter
Correctly print global augmentations
2017-09-22 15:01:10 -07:00
Wesley Wigham
5f4436d433 Keep a small reserve of tasks to not-batch, so all threads can have always have an initial task (#18696)
* Keep a small reserve of tasks to not-batch, so all threads can have an initial task"

* Assign no weight to new tests, but still place them at the end of the list
2017-09-22 14:44:26 -07:00