Commit Graph

4993 Commits

Author SHA1 Message Date
Alexander Udalov df680305ba Improve diagnostic message for UNSUPPORTED_FEATURE
Render lowercase words separated by spaces instead of CamelCase in the
diagnostic message
2016-10-04 10:24:43 +03:00
Dmitry Petrov 06101dba52 KT-13961 REDECLARATION not reported on private-in-file 'foo' vs public 'foo' in different file
Private-in-file declarations conflict with public overload-equivalent declarations
in other files in the same package.

Move functions for grouping possible redeclarations to OverloadResolver
(since they are used only there).

Refactor redeclarations / conflicting overloads reporting.
2016-10-03 11:50:29 +03:00
Denis Zharkov 0120085443 Refine expression kind definition in postfix templates
- Do not treat if without else as values
- Some statements aren't contained in block (see tests)

 #KT-14107 Fixed
 #KT-14110 Fixed
2016-10-03 10:36:48 +03:00
Denis Zharkov 3c24996073 Refine default postfix templates selector
There is new settings checkCanBeUsedAsValue
Also expression filtering are split into to parts:
- getNonFilteredExpressions is trivially goes until it reaches
first block body of some declarations
- all additional filtering is merged into Condition that is passed into
PostfixTemplateExpressionSelectorBase super-call

Notable changes for users:
- do not suggest try for non-top-level expressions
- do not suggest var/par/etc for loops
2016-10-03 10:36:48 +03:00
Denis Zharkov ba2d2a036e Suggest postfix templates on lambda expressions 2016-10-03 10:36:48 +03:00
Denis Zharkov 54d9b4bee6 Do not suggest assignment as a subject in postfix templates
#KT-14077 Fixed
2016-10-03 10:36:48 +03:00
Denis Zharkov 18146fafdf Allow if/when/try postfix templates in expression position
#KT-14078 Fixed
2016-10-03 10:36:48 +03:00
Denis Zharkov bff9dd4ef5 Suggest assert/return postfix templates only for statements
#KT-14079 Fixed
 #KT-14090 Fixed
2016-10-03 10:36:48 +03:00
Denis Zharkov ce128c5d6e Do not suggest operation references in postfix templates
#KT-14087 Fixed
2016-10-03 10:36:48 +03:00
Valentin Kipyatkov 57faa5a39a Term changes 2016-09-30 21:37:48 +03:00
Valentin Kipyatkov 17adee68cd Fixed optimize imports for operators 2016-09-30 21:37:47 +03:00
Valentin Kipyatkov 95a3a29382 Optimize imports to prevent accedential changes in resolve because of import priorities
#KT-11640 Fixed
2016-09-30 21:37:47 +03:00
Valentin Kipyatkov 7628fa1608 Checked that KT-13766 Fixed by some changes in resolve
#KT-13766 Fixed
2016-09-30 21:37:46 +03:00
Mikhail Glukhikh e417a85276 Minor: secondary constructor to primary is suggested only on keyword and value parameter list
(cherry picked from commit 9a3e6d3)
2016-09-30 16:40:08 +03:00
Mikhail Glukhikh 0a4542c6c0 KT-9839 related, secondary constructor to primary: inspection for the single constructor
(cherry picked from commit aec0090)
2016-09-30 16:39:58 +03:00
Mikhail Glukhikh 3508bea391 KT-9839 related, primary constructor to secondary: comment restoration
(cherry picked from commit 48a1853)
2016-09-30 16:39:46 +03:00
Mikhail Glukhikh d1958be2a8 KT-9839 related, secondary constructor to primary: comment restoration
(cherry picked from commit 998e39e)
2016-09-30 16:39:36 +03:00
Mikhail Glukhikh 725df49c8c KT-9839: intention introduced: convert secondary constructor to primary one #KT-9839 Fixed
(cherry picked from commit f3fa779)
2016-09-30 16:39:24 +03:00
Mikhail Glukhikh 28b70faa99 KT-9839: convert primary constructor to secondary one: leave independent properties in class body as is
(cherry picked from commit b90414a)
2016-09-30 16:39:13 +03:00
Mikhail Glukhikh 7f50e6e70e KT-9839: intention introduced: convert primary constructor to secondary one
(cherry picked from commit 93aaa48)
2016-09-30 16:39:01 +03:00
Denis Zharkov d4418d5686 Prohibit not-Unit suspend functions
#KT-13560 Fixed
2016-09-30 12:25:59 +03:00
Denis Zharkov 96186c6217 Prohibit star-projections in last parameter of suspend functions 2016-09-30 12:25:59 +03:00
Simon Ogorodnik 18feb8f622 Return Kotlin fields and methods through KotlinShortNameCache
#KT-12205 Fixed
2016-09-28 13:36:20 +02:00
Alexey Sedunov 956c6eeec7 Push Down: Support moving members from Java to Kotlin class
#KT-9485 Fixed
2016-09-27 21:26:31 +03:00
Alexey Sedunov 924bb44862 Pull Up/Push Down/Extract Super: Support references to Java-declared superinterfaces 2016-09-27 21:26:30 +03:00
Alexey Sedunov 8a5628cde5 Pull Up/Extract Super: Support members declared in the companion object of the original class 2016-09-27 21:26:28 +03:00
Alexey Sedunov 982d4d4ead Pull Up/Extract Super: Support properties declared in the primary constructor 2016-09-27 21:26:27 +03:00
shiraji 3aedf0d79f Add intention to replace Math.max/min with coerceAtLeast/coerceAtMost #KT-13945 Fixed 2016-09-27 20:05:11 +03:00
Mikhail Glukhikh 4522d2c7da Remove unnecessary lateinit intention / inspection removed (supported in compiler CFA instead)
(cherry picked from commit e17f222)
2016-09-27 18:49:51 +03:00
Mikhail Glukhikh 67cc83af05 Quick-fix for UNNECESSARY_LATEINIT
(cherry picked from commit 77f7bb0)
2016-09-27 18:49:13 +03:00
Valentin Kipyatkov b0ed6adce3 Fixed wrong test 2016-09-27 18:05:26 +03:00
Valentin Kipyatkov 21c2268f70 Protection against "<caret>" missing in test data
Many incorrect tests fixed
2016-09-27 18:05:26 +03:00
Valentin Kipyatkov be8b31e82b Removed redundant and confusing .after files in negative tests 2016-09-27 18:05:26 +03:00
Valentin Kipyatkov 038068aa44 KT-13953 Import member popup should not suggest methods when only property or variable is valid
#KT-13953 Fixed
2016-09-27 18:05:25 +03:00
Alexey Sedunov 698660b9c6 Find Usages: Add special type for usages inside of type aliases
#KT-13955 Fixed
2016-09-27 13:27:54 +03:00
Pavel V. Talanov b275dacad8 Light classes: getOwnInnerClasses() filters out inner classes with null names
#KT-13927 Fixed
2016-09-26 19:51:57 +03:00
Pavel V. Talanov 827b56e277 Navigation to binaries: support navigation to type alias constructors
#KT-13479 Fixed
2016-09-26 18:34:19 +03:00
gitreelike 06c804787f Implement quick fix to convert a too long char literal to a string #KT-13635 Fixed 2016-09-23 13:04:41 +03:00
shiraji 391a0fdde5 Add "Copy concatenation text to clipboard" intention #KT-13744 Fixed 2016-09-23 12:46:22 +03:00
Valentin Kipyatkov 023c02deb3 Corrections on code review 2016-09-23 10:07:15 +03:00
Valentin Kipyatkov e4f80e277f Better texts of change variable type quickfixes 2016-09-23 10:07:15 +03:00
Valentin Kipyatkov 7625672914 Better test data 2016-09-23 10:07:15 +03:00
Valentin Kipyatkov dab6f7d13d Better texts for quickfixes to change return type 2016-09-23 10:07:14 +03:00
Alexey Sedunov b412edf2a3 Extract Class: Implement 'Extract Interface' refactoring
#KT-11017 Fixed
2016-09-22 20:11:31 +03:00
Alexey Sedunov af2de09840 Extract Class: Implement 'Extract Superclass' refactoring
#KT-11017 In Progress
2016-09-22 20:11:30 +03:00
Denis Zharkov 23c0bdbd05 Add filtering of suggested expressions for postfix templates
Do not suggest qualified expression's selector or a part of user type
because they aren't really independent expressions
2016-09-22 18:11:22 +03:00
Denis Zharkov 6663054f4d Fix false positive "Cannot capture" error reporting
There is no need to report an error in case of non-top-level
capture conversion, just don't add relevant capture type in the system instead

If system can be solved successfully without captured type, then it's just fine
(see KT-13950)
In case of contradiction TYPE_INFERENCE_PARAMETER_CONSTRAINT_ERROR is reported

 #KT-13950 Fixed
2016-09-21 18:05:26 +03:00
Nikolay Krasko 37fb8d6306 Fix tests for looking implementations from Java - no search for Kotlin declaration from usages
Probably because of this commit: https://github.com/JetBrains/intellij-community/commit/7d95ff4d86e584d66d558559a1a4678920281ca1
2016-09-21 15:52:16 +03:00
Alexey Sedunov d6daaf0a85 Redundant 'toString()' in String Template: Disable for qualified expressions with 'super' receiver
#KT-13942 Fixed
2016-09-20 20:36:03 +03:00
Alexey Sedunov 79f50975b1 Convert Parameter to Receiver: Do not qualify companion members with labeled 'this'
#KT-13933 Fixed
2016-09-20 20:36:00 +03:00