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
Valentin Kipyatkov
75d56e4902
Better tooltip for try
2016-10-04 19:36:07 +03:00
Valentin Kipyatkov
a2976ac281
Better presentation for property accessor
2016-10-04 19:36:07 +03:00
Dmitry Jemerov
dbbba45d63
show type of control statements used as expressions
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
02a5856ffd
don't show function literals and selectors of qualified expressions in "show expression type"
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
256fd04e95
show detailed smart cast info in "Show expression type" (KT-8803)
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
2141cd268c
don't include properties with declared return type and property accessors in "show expression type" popup
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
e8fcd194f9
add test for obsolete KT-11601
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
4f1f313b36
don't show type of statements if they are not used as expressions
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
6dccfd3b22
use short names in Show Expression Type
...
#KT-11310 Fixed
2016-10-04 18:23:32 +02:00
Dmitry Jemerov
4346afa19e
test for handling smart casts in "show expression type"
...
#KT-10588 Fixed
2016-10-04 18:23:32 +02:00