Commit graph

19404 commits

Author SHA1 Message Date
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
Andy 38905f46ce Minor cleanup to symbolWalker (#18549)
* Minor cleanup to symbolWalker

* Undo inlining
2017-09-22 14:07:07 -07:00
Filipe Silva d0fd964b69 Fix getSourceFile return type (#18689) 2017-09-22 11:54:20 -07:00
Andy 2399bac377 Make it a parse error for an @type jsdoc tag to not include a type (#18664)
* Make it a parse error for an `@type` jsdoc tag to not include a type

* Rename parameter
2017-09-22 10:45:43 -07:00
Andy 72c8b804da Use JSDoc @type tag type cast as a contextual type (#18690)
* Use JSDoc `@type` tag type cast as a contextual type

* Suggested changes
2017-09-22 10:42:02 -07:00
Andy a4b5870a52 Cleanups in formattingScanner.ts (#18599)
* Cleanups in formattingScanner.ts

* Move switch statement to function

* Fix assertions
2017-09-22 09:39:46 -07:00
Andy f7d8081ab3 Unify duplicate getNameOfSymbol functions (#18618) 2017-09-22 09:39:22 -07:00
Andy 7e002aeb7b Avoid calling indexOf when checking array element types (#18619)
* Avoid calling `indexOf` when checking array element types

* Add 'indexOfNode' and use it in cases which may handle long lists. (#18635)

* Fix bug where contextual type was not reused if undefined
2017-09-22 08:49:56 -07:00
Andy 1a383ec290 Remove unnecessary "@internal" (#18665) 2017-09-22 07:09:29 -07:00
Daniel Rosenwasser 555718ef32 Accepted baselines. 2017-09-22 00:13:31 -07:00
Daniel Rosenwasser ffa1ea72c1 Just always print out modifiers for global augmentations.
Apparently, they don't always need them!
2017-09-22 00:12:37 -07:00
Andy 30839378ac Remove unnecessary 'tryParse' (#18663) 2017-09-21 14:42:13 -07:00
Daniel Rosenwasser d30c3dcb4d Accepted baselines. 2017-09-21 12:20:19 -07:00
Daniel Rosenwasser 979295b21b Force 'declare' modifiers and correct global augmentation emit. 2017-09-21 12:20:14 -07:00
Daniel Rosenwasser 764af0e781 Added tests and accepted baselines. 2017-09-21 11:22:30 -07:00
Wesley Wigham b670b9763f Typo fix 2017-09-21 10:42:06 -07:00
Nathan Shively-Sanders 36cdbb2857 Merge pull request #18625 from Microsoft/fix-getAdjustedStartPosition-on-first-line
Fix get adjusted start position on first line
2017-09-21 10:08:30 -07:00
Nathan Shively-Sanders 3cc0aeb6be PR comments
I plan to fix the missing comment issue when I add the
convert-jsdoc-types-to-typescript-types refactoring. Or at least work
around it.
2017-09-21 09:44:51 -07:00
Daniel Rosenwasser a4fb05091e Merge pull request #18638 from Microsoft/addTestRegex
Adds regression test for parsing bug
2017-09-21 09:39:01 -07:00
Wesley Wigham 1821735136 Add custom formatter which has clickable links, reduce error duplication in gulp output (#18613) 2017-09-21 08:36:50 -07:00
Daniel Rosenwasser 6a34dc953a Added test and accepted baselines. 2017-09-21 02:07:33 -07:00
Ron Buckton d9951cbb8e Merge pull request #17919 from henrymercer/fix-empty-object-property-access
Fix property access on an object literal
2017-09-20 19:06:04 -07:00
Andrew Casey f00c78c9b5 Merge pull request #18622 from amcasey/NoModifiers
JavaScript: handle lack of modifiers on extracted method
2017-09-20 17:10:42 -07:00
Nathan Shively-Sanders 410f84656d Update baselines temporarily
The loss of comments is not good, but should be fixed when
(1) trivia-handling issues are fixed or (2) the reafactorings themselves
add a workaround.
2017-09-20 16:31:28 -07:00
Nathan Shively-Sanders ae87db7b3e getAdjustedStartPosition shouldn't skip to next line when on 1st line 2017-09-20 16:26:46 -07:00
Andrew Casey a1dee452fa JavaScript: handle lack of modifiers on extracted method
The emitter expects undefined, rather than empty.  This only affects JS,
because TS applies `private` to all extracted methods.

(cherry picked from commit 9630c46ea7)
2017-09-20 16:25:15 -07:00
Andy 4d2aa9bf2c Fix formatting when keyword is parsed as part of a JSX identifier (e.g. module-layout) (#18598) 2017-09-20 15:01:04 -07:00
Wesley Wigham 7dec4ae9d1 Remove batching on unittest thread, use historical data to inform batching (#18578)
* Remove batching on unittest thread

* Batch more things, improve output, use past test perf as a better heuristic for future test runs

* Fix merge sideeffect

* Fix typo
2017-09-20 13:22:12 -07:00
Ryan Cavanaugh b9b112738c Merge pull request #18456 from RyanCavanaugh/pluginWork
Properly report external filenames
2017-09-20 10:51:54 -07:00
Wesley Wigham 136a3ea77d Handle unixy paths in RWC tests (#18585) 2017-09-20 09:18:39 -07:00