Commit Graph

75 Commits

Author SHA1 Message Date
Mikhail Glukhikh ca3d758fba Create expect/actual class: fix inline class generation
#KT-28744 Fixed
#KT-28745 Fixed
2018-12-19 19:55:56 +03:00
Mikhail Glukhikh 8fb213021c Create expect: remove false positive in inaccessible type detector 2018-11-28 12:36:29 +03:00
Mikhail Glukhikh d3fada89b7 Generate enum entries in create actual / expected fixes as all other
This makes code a bit cleaner
2018-11-28 12:00:54 +03:00
Mikhail Glukhikh 2af9efa4a0 Fix failing test (related to KT-28381, KT-28382 commits) 2018-11-23 15:43:39 +03:00
Mikhail Glukhikh 1585461a68 Fix create expected for classes with anonymous initializers 2018-11-21 15:13:02 +03:00
Mikhail Glukhikh 99388c304f Fix create expected for non-actual nested class case 2018-11-21 15:13:02 +03:00
Mikhail Glukhikh a4214f13c8 Forbid create expected on class member when class has no expected itself
Related to KT-27075
2018-11-21 15:13:01 +03:00
Mikhail Glukhikh 8b7c7dbe25 Create expected quick-fix: check types accessibility before creation
Related to KT-27075
2018-11-21 15:13:01 +03:00
Mikhail Glukhikh f31428257d Add a set of new tests for KT-27075 (create expected class) + some fixes 2018-11-21 15:13:01 +03:00
Mikhail Glukhikh 2277dcc76f Introduce quick-fix "create expected class / function / property"
#KT-27075 Fixed
2018-11-21 15:13:01 +03:00
Mikhail Glukhikh 5c6f776c09 Add actual: handle already existing declarations more precisely
#KT-23693 Fixed
2018-11-21 15:13:00 +03:00
Mikhail Glukhikh 46a5d76254 Create actual: add delegation to secondary constructor, if needed
#KT-26518 Fixed
2018-11-21 15:13:00 +03:00
Mikhail Glukhikh 90a2f70fd1 Use OverrideMemberChooserObject to generate also primary constructors
Relates to KT-27093 and similar problems
2018-11-21 15:13:00 +03:00
Mikhail Glukhikh cd041cca71 Use OverrideMemberChooserObject to generate also abstract actual decls
Relates to KT-27093 and similar problems
2018-11-21 15:13:00 +03:00
Mikhail Glukhikh 3612c2983e Use OverrideMemberChooserObject to generate actual decls in quick-fixes
This can fix a lot of issues related to inexact generation, in particular
#KT-27093 Fixed
2018-11-21 15:12:59 +03:00
Mikhail Glukhikh cb28387da4 Fix KNPE in different "Generate members" for expect class
#KT-27595 Fixed
2018-11-13 10:15:48 +03:00
Mikhail Glukhikh fcfeb33501 Don't suggest "Implement as constructor parameters" in actual class
This applies if expect class has primary constructor declared
#KT-27791 Fixed
2018-11-07 11:56:55 +03:00
Mikhail Glukhikh 29390dab42 Create actual: use analyzeWithContent to resolve annotations correctly
So #KT-26626 Fixed
2018-09-07 14:56:16 +03:00
Mikhail Glukhikh 74c5d8ed09 Create actual: do not generate default parameter values in constructor
So #KT-26517 Fixed
2018-09-07 14:56:13 +03:00
Mikhail Glukhikh 53e7778078 Add modifiers on the same line even after annotation #KT-26492 Fixed 2018-09-05 13:05:08 +03:00
Mikhail Glukhikh 4dd95e5640 Introduce OptionalExpectationInspection
It works at INFORMATION level only and is intended to form quick-fixes
to add relevant actual declarations.

#KT-25533 Fixed
2018-09-05 13:05:07 +03:00
Mikhail Glukhikh df125702c1 Test for KT-25040 (just to stabilize behaviour) 2018-09-05 13:05:07 +03:00
Toshiaki Kameyama 1898df3fb7 Introduce "Convert property getter to initializer" intention
#KT-13854 Fixed
2018-08-14 15:32:20 +03:00
Mikhail Glukhikh db787c78d6 Implement members: don't add 'actual' modifier for fake overrides
#KT-25044 Fixed
2018-08-09 12:59:58 +03:00
Mikhail Glukhikh ed5791ed9e Introduce "remove actual" fix for ACTUAL_WITHOUT_EXPECT
Related to KT-25044
2018-08-09 12:59:57 +03:00
Mikhail Glukhikh 14d6560e67 Add modality/visibility/inline to all expect/actual declarations in QF
So #KT-25539 Fixed
2018-07-26 18:01:01 +03:00
Mikhail Glukhikh fdc0335b4a Add actual: handle (incorrect) case with expect function with body
So #KT-23326 Fixed
2018-06-29 10:54:37 +03:00
Mikhail Glukhikh 0fb183e302 Add actual: handle parameters with val/var as compatible with property
So #KT-23762 Fixed
2018-06-29 10:54:36 +03:00
Mikhail Glukhikh dd0b267531 Add actual: handle primary & secondary constructors as compatible
So #KT-23686 Fixed
2018-06-29 10:54:35 +03:00
Mikhail Glukhikh 16c6d63b10 Create actual: do not generate default parameter values
So #KT-23105 Fixed
2018-06-29 10:54:32 +03:00
Mikhail Glukhikh aac71bf904 Safe delete: when invoking on actual, delete expect & actual neighbors
So #KT-15666 Fixed
2018-06-29 10:54:24 +03:00
Mikhail Glukhikh eb92b7ed7f Unused symbol: don't suggest actual declaration used in another platform
Related to KT-17512
Related to KT-15666
2018-06-26 15:36:10 +03:00
Mikhail Glukhikh 7e0e7dc983 Unused symbol: remove forced "used" from actual declarations
Now we really check whether actual declaration has usages
(in expect or actual code) or not
Related to KT-17512
Related to KT-15666
2018-06-26 15:36:07 +03:00
Alexey Sedunov ed8b4b761a Override/Implement: Add 'actual' modifier to overrides of 'expect'
#KT-23106 Fixed
2018-06-19 12:22:40 +03:00
Pavel V. Talanov 1be477c816 Fix "add member" quick fix when invoked from java on common class
#KT-24115 Fixed
2018-06-06 21:03:56 +02:00
Pavel V. Talanov a4e327c137 Mpp: KT-23457, fix importing common classes into common modules
Add test for KT-23457
NOTE: fixes 'importClassInCommon' test
Other test cases added to increase coverage

 #KT-23457 Fixed
2018-04-26 15:33:51 +02:00
Pavel V. Talanov 64a28dd542 QuickFixMultiModuleTest: fix test code
Adjust test data
2018-04-26 15:33:48 +02:00
Pavel V. Talanov 94dfcba5c5 Minor: adjust quick fix test data to avoid "conflicting overloads" 2018-04-20 20:00:07 +02:00
Pavel V. Talanov 1f4926e259 Rewrite QuickFixMultiModuleTest to be generated
Adjust test data
Drop 'overload' test data since it was never run before
2018-04-04 17:56:34 +02:00
Mikhail Glukhikh fe7b7fb0bd Create actual fix: add empty brackets for classes in super-type lists
Related to KT-21082
2018-03-06 14:32:30 +03:00
Mikhail Glukhikh ef3e0b01c4 Create actual fix: use target module instead of target platform 2018-03-06 14:32:30 +03:00
Mikhail Glukhikh 90e4413fc9 Create actual: put top-level actual declarations in the same file
When multiple expect declarations are in the same file,
and some of them already have actual declarations for this platform,
then "Create actual fix" put other declarations into the same file
with existing actual declarations

So #KT-17058 Fixed
So #KT-21082 Fixed
2018-03-06 14:32:30 +03:00
Alexander Udalov 8c6b140865 Simplify diagnostic message for ACTUAL_MISSING
#KT-21939 Fixed
2018-02-05 13:38:03 +01:00
Mikhail Glukhikh 5abb9dd23e Create actual fix: handle companions correctly #KT-21114 Fixed 2018-01-30 15:41:37 +03:00
Alexey Sedunov 5892944bfc Convert Enum to Sealed Class: Support expect/actual classes 2018-01-16 16:09:17 +03:00
Alexey Sedunov 9d5d85a1c5 Convert Sealed Class to Enum: Support expect/actual classes
#KT-18912 Fixed
2018-01-16 16:09:17 +03:00
Alexey Sedunov 820ade41ed Create from Usage: Do not add bodies to expect class members
#KT-21122 Fixed
2017-11-30 12:49:24 +03:00
Mikhail Glukhikh 561d7749b1 Choose implementing module correctly in "create actual fix"
Take implements / expectedBy dependency into account
So #KT-20803 Fixed
2017-10-30 14:13:10 +03:00
Mikhail Glukhikh f0da58531e Enhance AbstractQuickFixMultiModuleTest
Handle same files at different source roots correctly
2017-10-30 14:12:27 +03:00
Mikhail Glukhikh 739b21f519 Introduce "add missing actual members" quick-fix #KT-18449 Fixed 2017-10-20 17:24:19 +03:00