Commit Graph

592 Commits

Author SHA1 Message Date
Alexey Sedunov e82b256640 Move: Implement conflict checking for internal members
#KT-13190 Fixed
2017-03-22 13:36:13 +03:00
Alexey Sedunov 6f5249ecc7 Move: Fix processing of references to non-real members of companion object
#KT-15559 Fixed
2017-03-22 13:36:12 +03:00
Alexey Sedunov bab762b761 Implement post-refactoring optimization of unused imports
#KT-15822 Fixed
 #KT-13755 Fixed
2017-03-22 13:36:11 +03:00
Alexey Sedunov 13de9aea81 Move: Fix processing of conflicting usages
Exclude conflict-associated usages from refactoring.
Move search of file internal usages to MoveKotlinDeclarationsProcessor
2017-03-22 13:36:09 +03:00
Alexey Sedunov a21f19d613 Move: Use Kotlin declaration mover to handle KtFile
IDEA-provided file mover does not process conflicts

 #KT-13911 Fixed
2017-03-22 13:36:08 +03:00
Alexey Sedunov 9a3ace423a Move: Update test data for tests with conflicts
Check refactoring result for the case when conflicts are ignored.
Fix move destination when moving to another source root
2017-03-22 13:36:07 +03:00
Alexey Sedunov ecd56c6a40 Safe Delete: Fix tests in IDEA 2017.1
Now Java refactoring checks for side effects when deleting
arguments, so instantiation of Kotlin FunctionN is treated as
"unsafe"
2017-03-20 18:46:03 +01:00
Dmitry Jemerov d6709b726e Fix testdata according to changes in automatic renaming rules in 17.1 2017-03-20 18:45:44 +01:00
Alexey Sedunov 275cdbbea7 Rename: Fix renaming of function by label reference inside of lambda argument
#KT-7520 Fixed
2017-03-19 17:20:10 +03:00
Alexey Sedunov b1df91395a Minor: Use handler autodetection in some rename tests 2017-03-19 17:20:02 +03:00
Alexey Sedunov 871d42f05a Rename: Support renaming class by short reference to companion object
#KT-16108 Fixed
2017-03-19 17:19:55 +03:00
Kirill Rakhman 646f50dd66 Extract method refactoring should order parameters by first usage
Fixes #KT-16198
2017-03-07 18:10:02 +03:00
Kirill Rakhman 1bad04db50 Fix Can't rename implicit lambda parameter 'it' when caret is placed right after the last character
#KT-14401 Fixed
2017-03-06 11:01:38 +03:00
Alexey Sedunov add16dec3d Extract Function: Fix detection of suspend calls containing extracted parameters
#KT-16251 Fixed
2017-02-13 14:53:17 +03:00
Dmitry Petrov a974ed1049 Support custom accessors for top-level properties in scripts. 2017-01-26 10:12:13 +03:00
Alexey Sedunov 7382d7c7d6 Extract Function: Add 'suspend' modifier if extracted function contains suspend-calls
#KT-14704 Fixed
2017-01-25 14:24:49 +03:00
Alexey Sedunov a9645e1ae9 Extract Superclass: Drop inapplicable modifiers when converting property-parameter to ordinary parameter
#KT-15674 Fixed
2017-01-13 15:17:45 +03:00
Alexey Sedunov 57d364e7d4 Extract Superclass/Interface: Fix bogus visibility warning inside a member when it's being moved as abstract
#KT-15635 Fixed
2017-01-13 15:17:43 +03:00
Alexey Sedunov 65b9049d59 Extract Interface/Pull Up: Warn about private members with usages in the original class
#KT-15606 Fixed
2017-01-13 15:17:42 +03:00
Alexey Sedunov 1c16d2af1a Extract Superclass/Interface/Pull Up: Reformat modifier lists of generated declarations (to add spaces where needed)
#KT-15639 Fixed
2017-01-13 15:17:41 +03:00
Alexey Sedunov e10b50a648 Extract Interface/Pull Up: Drop 'final' modifier when moving to an interface
#KT-15640 Fixed
2017-01-13 15:17:39 +03:00
Alexey Sedunov 52e9117e9d Extract Superclass/Interface: Allow extracting class with special name (and quotes)
#KT-15353 Fixed
2017-01-13 15:17:37 +03:00
Alexey Sedunov 5de4e9fdac Pull Up/Extract Interface: Disable "Make abstract" and assume it to be true for abstract members of an interface
#KT-15355 Fixed
2017-01-13 15:17:36 +03:00
Alexey Sedunov 9cadfd01ae Introduce Variable: Allow extraction to class body/file 2016-12-08 17:56:54 +03:00
Alexey Sedunov 475ae0d638 Rename: Suggest respective parameter name for the local variable passed to function
#KT-14792 Fixed
2016-12-02 14:14:10 +03:00
Alexey Sedunov 25cebbab4b Extraction Engine: Do not wrap companion member references inside of the with call if it's disabled in extraction options
#KT-13781 Fixed
2016-12-02 14:14:04 +03:00
Alexey Sedunov 61210d6ba2 Move: Fix callable reference processing when moving to another package
#KT-14197 Fixed
2016-12-02 14:14:03 +03:00
Alexey Sedunov cedbac6b43 Safe Delete: Fix exception on deleting Java class used in Kotlin import directive(s)
#KT-14596 Fixed
2016-11-30 14:35:39 +03:00
Alexey Sedunov b29c704a92 Rename: Do not report redeclaration conflict for private top-level declarations located in different files
#KT-14361 Fixed
2016-11-30 14:35:37 +03:00
Alexey Sedunov 24035d2c83 Introduce Type Alias: Forbid nested/local type aliases 2016-11-30 14:35:33 +03:00
Alexey Sedunov 752ae87591 Introduce Type Alias: Support callable references/class literals
#KT-14861 Fixed
2016-11-30 14:35:32 +03:00
Alexey Sedunov 0f58e2eef2 Introduce Type Alias: Replace type usages in constructor calls. Do not replace usages of existing type aliases
#KT-14685 Fixed
2016-11-30 14:35:30 +03:00
Alexey Sedunov 939532b6f3 Introduce Type Alias: Do not suggest type qualifiers
#KT-14693 Fixed
2016-11-30 14:35:28 +03:00
Valentin Kipyatkov 85e1e53354 Checking for unsupported return's 2016-11-08 12:46:45 +03:00
Valentin Kipyatkov 4c4c85e37a Supported unit return type functions 2016-11-08 12:46:45 +03:00
Valentin Kipyatkov 08c6a21ac1 Handling safe calls of multi-statement function 2016-11-08 12:46:43 +03:00
Valentin Kipyatkov 330d3a255a introduceValue() always adds statement before except for safe call case 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov 8f9f2027f2 Adding block to control structure when needed 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov a4aa9bab8d Very basic version of inline function for block body 2016-11-08 12:46:42 +03:00
Valentin Kipyatkov 3b97a3feb1 Supported case when explicit function type is used 2016-11-08 12:46:41 +03:00
Valentin Kipyatkov 57411b4d5e Supported inline function for expression body case 2016-11-08 12:46:39 +03:00
Alexander Udalov 035d6156a7 Drop Cloneable in JS, synthesize it at compile-time on JVM
Use the same approach that is used for creating function type classes
(Function{0,1,...}) + add Cloneable to supertypes of Array and primitive arrays

 #KT-5537 Fixed
2016-10-25 15:42:33 +03:00
Alexey Sedunov 5c2ad48375 Introduce Variable: Do not replace assignment left-hand sides
#KT-14240 Fixed
2016-10-13 19:00:58 +03:00
Valentin Kipyatkov 7f0063013c Corrected test data 2016-10-11 23:38:52 +03:00
Valentin Kipyatkov 41ee06ec96 Use parameter names in DescriptorRenderer 2016-10-11 23:38:49 +03:00
Alexey Sedunov d3c14ce7d6 Extract Function: Support implicit abnormal exits via Nothing-typed expressions 2016-10-07 20:20:39 +03:00
Alexey Sedunov fad4944eee Rename: Use qualified class name when looking for occurrences in non-code files
#KT-14128 Fixed
 #KT-13862 Fixed
 #KT-6199 Fixed
2016-10-07 20:20:36 +03:00
Alexey Sedunov fe711da594 Rename: Rename do-while loop variables in the loop condition
#KT-14157 Fixed
2016-10-07 20:20:33 +03:00
Alexey Sedunov 140d0b61f1 Move: Fix exception on moving Kotlin file without declarations
#KT-14114 Fixed
2016-10-07 20:20:32 +03:00
Alexey Sedunov 86c123164a Move Inner Class to Upper Level: Fix replacement of outer class instances used in inner class constructor calls
#KT-13928 Fixed
2016-10-05 11:32:38 +03:00