Commit Graph

11090 Commits

Author SHA1 Message Date
Mikhail Zarechenskiy effdfe8ec0 Prohibit incorrect annotations with use-site targets more precisely
#KT-21696 Fixed

The problem is coming from the fact that `AnnotationTarget.VALUE_PARAMETER` is mapped to receiver parameter and to value parameter, but annotation with use-site target `receiver` can be used only on type reference of receiver parameter
2018-03-22 04:03:08 +03:00
Mikhail Zarechenskiy 4ebd11a7ae Refactoring: rename parameter to argument for annotation diagnostics 2018-03-22 03:59:55 +03:00
Nikolay Krasko 3b4ca3558b Add hard dependency to Java module in plugin.xml
Otherwise resulting plugin will be installable to PyCharm, WebStorm and
other Intellij IDE without Java.

It can be resolved with `xi:include`, but it should be done with care,
because some declarations in `jvm.xml` should be placed after some
declarations in `plugin.xml` (action groups suffer from this issue for
sure).
2018-03-21 17:25:40 +03:00
Alexander Podkhalyuzin 7d72fe07bb Fixed broken exception reporter 2018-03-21 12:25:32 +03:00
Mikhail Glukhikh b739db3c35 Fix parameter handling in "Move suspicious reference into parentheses"
Related to KT-21743
2018-03-21 09:53:38 +03:00
Toshiaki Kameyama fbd06dc74f Fix "move suspicious reference into parentheses" for functional types
So #KT-21743 Fixed
2018-03-21 09:30:17 +03:00
Toshiaki Kameyama 3fbf85dc37 Add inspection to highlight unnecessary explicit companion references
So #KT-22971 Fixed
2018-03-21 09:15:48 +03:00
Toshiaki Kameyama 9d6b36c249 KT-20282 'Move statement up' works incorrectly for statement after 'finally' block if 'try' block contains closure 2018-03-20 20:39:17 +03:00
Natalia Selezneva 82481b48c4 Restore old package for ScriptTemplatesProvider.
Note that this is EP used in another plugins (ex. LivePlugin https://plugins.jetbrains.com/plugin/7282-liveplugin)
2018-03-17 00:21:32 +03:00
Ilmir Usmanov 7224b99928 Add intention to remove suspend from parameter on suspend inline function 2018-03-16 16:26:11 +03:00
Simon Ogorodnik c0b0f6d1ca Extract PSI to separate module 2018-03-16 13:32:14 +03:00
Toshiaki Kameyama 55c93bc8b6 Fix NPE on conversion: run/apply with explicit signature -> let/also
So #KT-22949 Fixed
2018-03-16 12:17:24 +03:00
Toshiaki Kameyama f93b21eaa2 Fix "Add function to supertype" braces #KT-23215 Fixed 2018-03-16 12:11:26 +03:00
Toshiaki Kameyama a3b35cbfe0 Reformat: ConvertToStringTemplateIntention 2018-03-15 10:32:07 +03:00
Toshiaki Kameyama 66906e2c80 Process '$' correctly in "Convert concatenation to template"
So #KT-12226 Fixed
2018-03-15 10:29:58 +03:00
Alexey Belkov 3b2bbee595 Standardize and improve descriptions of intentions/inspections 2018-03-15 09:56:47 +03:00
Toshiaki Kameyama c1f43558b9 Unwrap: function parameter (KT-14788)
#KT-14788 Fixed
2018-03-14 21:16:58 +03:00
Nikolay Krasko 48f2fd8607 Add explicit set of supported file types to KotlinPositionManager 2018-03-13 15:52:21 +03:00
Mikhail Glukhikh d5d9aa0329 GotoSuperActionHandler: minor refactoring 2018-03-13 10:58:24 +03:00
Mikhail Glukhikh ab30275f14 Navigation: add expect declarations as supers #KT-16892 Fixed 2018-03-13 10:40:54 +03:00
Mikhail Glukhikh 849f9fc5c1 Navigation: add actual declarations as implementations (KT-16892) 2018-03-13 10:40:52 +03:00
Pavel V. Talanov f421181e16 Split LightClassGenerationSupport into separate entities
LightClassGenerationSupport:
    Includes utilities related to generating light classes
    Primary client of this service are KtLight* implementation classes
KotlinAsJavaSupport:
    Provides APIs to transform kotlin code into Psi* entities
    Primary client of this service is JavaElementFinder
2018-03-12 12:04:59 +01:00
Mikhail Glukhikh 4f2701385d MPP wizard: set sourceCompatibility / jvmTarget for JVM module
Related to KT-23097
2018-03-07 19:07:55 +03:00
Alexey Sedunov d9aa1796cd MPP: Support multiple 'expectedBy' dependencies for single module
#KT-22865 Fixed
2018-03-07 18:34:03 +03:00
Toshiaki Kameyama e3a69d118f Disable "Add labeled return" for suspend lambdas #KT-23126 Fixed 2018-03-07 16:10:44 +03:00
Toshiaki Kameyama 5d1f5d9bca "Remove redundant 'if'" now works correctly with labeled return
So #KT-23109 Fixed
2018-03-07 16:01:38 +03:00
Toshiaki Kameyama 733cb42ced Make implicit this inspection work for lambda invocation #KT-22970 Fixed 2018-03-07 15:58:23 +03:00
Toshiaki Kameyama a87f652591 Reformat intentions/Utils 2018-03-07 15:41:39 +03:00
Toshiaki Kameyama dd4ceb8c0f Move getCallableDescriptor function declaration to Utils 2018-03-07 15:41:07 +03:00
Toshiaki Kameyama f48eacfbd4 Add inspection (INFORMATION) to convert Pair constructor into to call
So #KT-22933 Fixed
2018-03-07 15:40:19 +03:00
Toshiaki Kameyama 963e430b42 Make "Add annotation target" available on use-site annotation
So #KT-22861 Fixed
So #KT-22862 Fixed
2018-03-07 15:33:28 +03:00
Mikhail Glukhikh 0c4c9251d6 Sort modifiers: process visibility & modality after others
Related to KT-22954
2018-03-07 13:57:16 +03:00
Toshiaki Kameyama b9e7e8fca3 Sort modifiers: process final modifier correctly #KT-22954 fixed 2018-03-07 13:34:25 +03:00
Dmitry Jemerov 81adbcb7e6 Support for implicit package prefixes
Now, if all Kotlin files directly under a source root have the same
package statement, it's used as an implicit package prefix for that
source root. It's honored by the package name/directory name mismatch
inspection and by new file creation actions;
support in refactorings is TODO.

 #KT-17306 Fixed
2018-03-07 10:31:57 +01:00
Alexey Sedunov e145a64d50 Rename: Forbid rename of synthetic declaration references
#KT-20241 Fixed
2018-03-06 15:15:44 +03:00
Alexey Sedunov 9761e33110 Refactor: Use RefactoringErrorHintException to report errors in test mode 2018-03-06 15:15:44 +03:00
Alexey Sedunov df4cd14161 Move: Relax private/protected visibility checks for usages in Java code 2018-03-06 15:15:43 +03:00
Alexey Sedunov 4fd221fc0c Rename: Filter out destructuring references to parameters
They shouldn't be renamed in any case

 #KT-15039 Fixed
2018-03-06 15:15:43 +03:00
Alexey Sedunov 85b381db7c Rename: Identify elements with the same origin when checking import ambiguity
#KT-13284 Fixed
2018-03-06 15:15:43 +03:00
Alexey Sedunov 6c17bbe42c Rename: Check redeclaration for local variables
Also add tests for other local declarations

 #KT-13255 Fixed
2018-03-06 15:15:42 +03:00
Alexey Sedunov 5bff4b9f39 Rename: Allow deleting name of companion object
#KT-20178 Fixed
2018-03-06 15:15:42 +03:00
Alexey Sedunov 0e3e387446 Rename: Adapt VariableInplaceRenameHandler to Kotlin
#KT-16510 Fixed
2018-03-06 15:15:42 +03:00
Alexey Sedunov 7149a0855a Rename: Use OverloadChecker for redeclaration conflict analysis
#KT-19561 Fixed
 #KT-22812 Fixed
 #KT-13907 Fixed
2018-03-06 15:15:41 +03:00
Alexey Sedunov 12d5a72697 Move: Show more accurate message when moving subclass of a sealed class
#KT-23065 Fixed
2018-03-06 15:15:41 +03:00
Alexey Sedunov 5f43bd56b4 Extract Function: Use 'public' visibility for function extracted from public inline
#KT-15228 Fixed
2018-03-06 15:15:41 +03:00
Alexey Sedunov 96de29dfcb Create from Usage: Support accessors for local delegated properties
#KT-19730 Fixed
2018-03-06 15:15:40 +03: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
Mikhail Glukhikh 3ec2dac10b Create actual fix: reformat 2018-03-06 14:32:30 +03:00