Toshiaki Kameyama
3f96e1dabc
Move statement up/down fails for multiline declarations with lambdas (KT-21013)
...
#KT-21013 Fixed
2018-03-05 16:10:59 +03:00
Nikolay Krasko
866129984e
Expression can be parenthesized on replace with if (KT-22874, EA-91186)
...
#KT-22874 Fixed
2018-02-16 13:29:53 +03:00
Pavel V. Talanov
229184dd78
Dsl line marker: provide simple tooltip
...
Test dsl line marker
2018-02-08 15:36:42 +01:00
Nikolay Krasko
d1e6a61197
Fix testInGlobalPropertyWithGetter test in 173 branch
...
Workaround for IDEA-185462. It was introduced in 173 idea and
fixed in 181.
2018-02-03 00:15:45 +03:00
Kirill Rakhman
8bc020f31b
Fix modifier order in generated overriden functions
...
Fixes #KT-21600
2018-01-16 15:42:02 +01:00
Nicolay Mitropolsky
dd45780de9
RecursiveMethodCallMarkerInfo and SuspendCallMarkerInfo forced to target Leaf-elements
...
because of restriction added in IDEA 173
2018-01-12 13:53:45 +03:00
Dmitry Jemerov
86c10b635a
Initial implementation of method separators
...
#KT-13029 Fixed
2018-01-10 13:17:33 +01:00
Alexey Sedunov
bcdb46653c
Line Markers: Detect recursive calls of companion invoke() member
...
#KT-21076 Fixed
2017-11-27 21:19:23 +03:00
Alexey Sedunov
4cc1e22a5a
Misc: Support light-methodless members in overrider search
...
In particular, support line markers for expect-class members
and navigation to expect-class members from corresponding base members
2017-10-24 15:43:51 +03:00
Mikhael Bogdanov
232d1bd9ef
Switch warning to error for java-default method calls within 1.6 target
...
#KT-15825 Fixed
(cherry picked from commit 9b29ebb)
2017-10-11 19:20:24 +03:00
Kirill Rakhman
08103d1cb4
Implement "Surround with try/catch(/finally)" and "Surround with if/else" for expressions
...
Fixes #KT-14175
Fixes #KT-19782
2017-09-12 18:27:47 +03:00
Mikhail Glukhikh
dafb52a44a
CodeBlockModification...: count file as changed when no changed elements
...
It means that root PSI (KtFile itself) is changed
So #KT-19726 Fixed
So #KT-20157 Fixed
2017-09-12 17:28:32 +03:00
Dmitry Jemerov
d6a9a49968
Disable tracking of Kotlin files by Java OOCB listener
2017-08-09 13:26:09 +02:00
Nikolay Krasko
8d226594ff
Put comments and whitespaces under body in script files
...
It's more consistent to normal function body for IDE.
Doc comments in file beginning are now sticks to declarations
correctly.
Moving declarations at the end of scripts is fixed
2017-08-07 12:17:17 +03:00
Nikolay Krasko
6194bc10f8
Move statement out of top-level lambda in scripts (KT-19322)
...
#KT-19322 Fixed
2017-08-07 12:12:41 +03:00
Nikolay Krasko
4e76975a52
Force OOB in accessors for properties without explicit type (KT-19062)
...
#KT-19062 Fixed
2017-07-19 12:45:06 +03:00
Nikolay Krasko
bcbff98382
Check OOB stays the same for string in super type constructor call
2017-07-19 12:45:06 +03:00
Denis Zharkov
5141a88a53
Add TypeQualifier annotation to IDE test data
...
Othewise nullability is not processed correctly
2017-07-03 17:55:37 +03:00
Alexey Sedunov
88968807b2
Generate equals/hashCode(): Swap class literals in comparison
2017-06-29 17:42:20 +03:00
Alexey Sedunov
e3e4c447fa
Generate equals/hashCode(): Use class literals when possible
...
#KT-18683 Fixed
2017-06-29 17:42:18 +03:00
Alexey Sedunov
9681f5ca42
Generate equals/hashCode(): Enable for classes without properties
...
Also:
- forbid for enum classes
- use javaClass.hashCode() instead of 0 if class has no properties
#KT-18418 Fixed
2017-06-22 19:50:55 +03:00
Toshiaki Kameyama
b9fb7cc3a5
Add quick fix to generate equals / hashcode in data class with arrays
...
So #KT-15893 Fixed
2017-06-16 15:03:52 +03:00
Alexey Sedunov
1544467725
Presentation: Fix NPE on star projection rendering
...
EA-100480 Fixed
2017-06-15 17:26:39 +03:00
Toshiaki Kameyama
af941bfdf5
KT-18158 Expand selection should select the comment after expression getter on the same line ( #1122 )
...
* Expand selection should select the comment after expression getter on the same line #KT-18158 Fixed
* Fixed expand selection behavior for the declaration with comment #KT-18158
* Remove redundant code #KT-18158
2017-06-14 12:28:56 +02:00
Dmitry Jemerov
b1f84676d1
Update tests according to new formatter behavior
2017-06-14 11:40:41 +02:00
Dmitry Neverov
3b4dafe691
Detect recursive property accessors #KT-17221 Fixed
2017-05-19 20:36:09 +03:00
Dmitry Jemerov
af043843b7
Don't show disambiguation for "Show expression type" on "this"
...
#KT-17840 Fixed
2017-05-18 21:02:24 +02:00
Alexey Sedunov
0994474e87
Presentation: Fix NPE on functional type rendering
...
#KT-17638 Fixed
2017-05-18 14:22:40 +03:00
Dmitry Jemerov
c778e0454d
Show line markers for suspending iteration
...
#KT-16803 Fixed
2017-05-10 14:27:23 +02:00
Dmitry Jemerov
baa43a2a55
Show line markers for sealed classes
...
#KT-16755 Fixed
2017-05-10 14:27:22 +02:00
Dmitry Jemerov
66ce2a6998
Render anonymous objects in Show Expression Type
...
#KT-17304 Fixed
2017-05-10 14:25:03 +02:00
Alexey Sedunov
0a5f9d8181
Move: Specify conflict containing declaration more precisely
...
Also do not render class fqname for member declarations
#KT-17547 Fixed
2017-05-10 14:49:51 +03:00
Dmitry Jemerov
d49e9d7064
Fix override navigation from properties defined in primary constructor
...
EA-91185 - CCE: KotlinLineMarkerProviderKt$OVERRIDDEN_PROPERTY$.browse
2017-04-28 12:02:20 +02:00
Alexey Sedunov
aa0f0ef02d
Presentation: Do not use resolve to compute element description
...
Invoking analysis on EDT may degrade editor performance
2017-04-17 23:00:08 +03:00
Pavel V. Talanov
4f701285b1
Light class builder: do not generate methods delegating to DefaultImpls in kotlin classes
...
Class APIs from java point of view stays the same so we can avoid generating those methods
Otherwise we have to calculate all supertypes when getMethods() is called,
which imposes severe performance penalties
We have to pretend these methods are not 'abstract' (also we consider them 'default' for safety)
so java highlighting does not report "class should be abstract" for all inheritors
We have to manually report "class should be abstract" on some of the java inheritors,
specifically those that are implementing interfaces directly
as opposed to extending kotlin classes implementing those interfaces
2017-04-09 15:09:01 +03:00
Denis Zharkov
dcc98e3839
Improve check for statements-only postfix templates
...
Before this change the check was quite complicated
because of cases like:
for (i in 1..9)
foo(i)<caret>
It's not located in a block, but in the same time it's a stament.
So we had a tricky heuristics that if is parent is not a block, then
we should check if element isn't used as expression.
Of course this heuristics is wrong, e.g. for import/package nodes.
The solution is to reuse similar logic from BasicExpressionTypingVisitor.
it has been checked once that statement container is one of:
- KtBlockExpression
- KtContainerNodeForControlStructureBody
- KtWhenEntry
So there's no need to check anything else
#KT-14986 Fixed
#KT-14483 Fixed
2017-03-15 10:47:12 +03:00
Denis Zharkov
bd88919411
Refine predicate for 'iter' postfix template
...
Use IterableTypesDetection to determine if the given expression may be iterated
#KT-14134 Fixed
#KT-14129 Fixed
2017-03-15 10:47:12 +03:00
Alexey Sedunov
983ad55357
Code Insight: Preserve identifier quotes in "Generate equals()/hashCode()/toString()" actions
...
#KT-15883 Fixed
2017-01-25 14:24:51 +03:00
Alexey Sedunov
8c882f0d27
Override Members: Allow overriding virtual synthetic members (e.g. equals(), hashCode(), toString(), etc.) in data classes
...
#KT-15563 Fixed
2017-01-13 15:17:35 +03:00
Alexey Sedunov
862966fd33
Override/Implement Members: Support all nullability annotations respected by the Kotlin compiler
...
#KT-12704 Fixed
#KT-15583 Fixed
2017-01-13 15:17:34 +03:00
Alexey Sedunov
612dffb893
Highlighting: Add line markers for suspend function calls in coroutines
...
#KT-14689 Fixed
2017-01-10 21:16:10 +03:00
Mikhail Glukhikh
a846e41b46
Cleanup: KotlinLineMarkerProvider
2016-12-19 15:46:27 +03:00
Nikolay Krasko
2bb48fc802
Allow empty single-line bodies in property accessors
2016-12-14 13:40:44 +03:00
Ilya Gorbunov
daac46bce5
Fix rendering in test output after introducing type aliases for the types used in those tests.
2016-11-16 18:47:42 +03:00
Dmitry Jemerov
25c7dccd3b
Don't consider function names as candidates for "Show expression type" (KT-14384)
2016-10-28 16:40:27 +02:00
Dmitry Jemerov
4246fcf256
"Show expression type" no longer shows elements which enclose the element at caret (KT-14436)
2016-10-28 16:40:27 +02:00
Dmitry Jemerov
57680ae003
Don't show literals in "show expression type" popup
2016-10-28 16:40:27 +02:00
Dmitry Jemerov
e6c05c3a19
Don't show type for reference expressions inside KtCallableReference (KT-14530)
2016-10-28 16:40:27 +02:00
Dmitry Jemerov
f933cf5395
Specify test framework to use explicitly in generate test tests
2016-10-19 17:04:42 +02:00
Alexey Sedunov
5bb035282f
Generate 'toString()': Permit for data classes
...
#KT-14122 Fixed
2016-10-05 11:32:42 +03:00