Mikhail Glukhikh
d5aed62410
Smart casts for local variables not captured in a closure and not changed in a loop, see #KT-3175.
...
isLocalVariable added. Assignment / initialization analysis.
Control whether a variable is changed in a loop at the beginning and at the end of the loop.
Control whether a variable is captured in a closure. #KT-3175 Fixed. #KT-2266 Fixed.
Tests for variable null safety and for variables is/as operations.
Loop / closure / variable property tests are included.
Old tests changed in accordance with KT-3175. In particular, all three of testSmartcastImpossible were fixed.
2015-04-16 20:10:58 +03:00
Pavel V. Talanov
3329136c9c
Fix test data for quickfix tests
...
Depending on Module and ModuleBuilder from runtime
2015-04-16 16:40:44 +03:00
Alexey Sedunov
02b0c4c7eb
Name Suggester: Do not strip "get"/"is"/"set" prefixes if remaining sequence is not upper-cased
...
#KT-7399 Fixed
2015-04-15 23:20:51 +03:00
Alexey Sedunov
4af608ef84
Parser: Recovery for parameter with missing name
2015-04-09 13:49:17 +03:00
Michael Nedzelsky
15ebab4f7e
JS: add tests for quickfix: autoimport for Kotlin/Javascript projects
2015-04-08 16:50:45 +03:00
Stanislav Erokhin
3de0dff575
Migrate testdata to new lambda syntax
2015-04-07 13:08:53 +03:00
Stanislav Erokhin
b152211096
Added init keyword to testdata
2015-04-07 13:08:51 +03:00
Alexey Sedunov
9247f4f096
Quick-Fixes: Fix type checking scope for type mismatch in call argument
2015-04-01 13:41:27 +03:00
Denis Zharkov
99f1ab333e
Report illegal modifiers and annotations on primary constructor
...
#KT-7057 Fixed
#KT-6772 Fixed
2015-03-31 20:20:22 +03:00
Alexey Sedunov
e9e8be5b4e
Create from Usage: Generate secondary constructors by delegator to super-calls
2015-03-30 21:10:29 +03:00
Alexey Sedunov
e8b4c43011
Create from Usage: Generate secondary constructors by delegation calls
2015-03-30 21:10:28 +03:00
Alexey Sedunov
9c0bcee9a3
Create from Usage: Generate secondary constructors by call expressions
2015-03-30 21:10:27 +03:00
Denis Zharkov
b1de2066c7
Add quickfixes inserting explicit delegation calls
...
#KT-6963 Fixed
2015-03-27 16:09:41 +03:00
Stanislav Erokhin
cbcd2c3cce
Fixed formatter for function expression
2015-03-26 22:08:46 +03:00
Stanislav Erokhin
f40b503454
Create DeprecatedLambdaSyntaxFix for whole project
2015-03-26 22:08:45 +03:00
Alexey Sedunov
0eda6c88b9
Quick-Fixes: Fix signature configuration for extension functions
...
#KT-7019 Fixed
2015-03-24 16:41:07 +03:00
Alexey Sedunov
16a4dbd692
Quick-Fixes: Do not add 'abstract' modifier to anonymous objects
...
#KT-6656 Fixed
2015-03-24 16:41:03 +03:00
Alexey Sedunov
1ed2c82008
Quick-Fixes: Approximate non-denotable type with nearest denotable supertype
...
#KT-5915 Fixed
2015-03-24 16:41:01 +03:00
Alexey Sedunov
a2162810ff
Quick-Fixes: Drop unnecessary parentheses when simplifying cast expressions
...
#KT-6501 Fixed
2015-03-24 16:40:59 +03:00
Alexey Sedunov
71a5e09a0b
Quick-Fixes: Support USELESS_CAST diagnostic in "Remove cast" quick-fix
...
#KT-6422 Fixed
2015-03-24 16:40:58 +03:00
Alexey Sedunov
f5107be315
Quick-Fixes: Support "Change function return type" quick-fix for non-local returns
...
#KT-6910 Fixed
2015-03-24 16:40:57 +03:00
Evgeny Gerashchenko
f7883fb1df
Added quick fix for "Unused receiver parameter".
2015-03-20 19:34:16 +03:00
Denis Zharkov
6f60bfad84
Fix "Make supertype open" quickfix in case of using secondary ctor
...
#KT-7002 Fixed
2015-03-18 19:59:25 +03:00
Denis Zharkov
3e0c6fc6a2
Add quickfix "Add 'init' keyword in whole project"
2015-03-18 19:59:25 +03:00
Denis Zharkov
df23ff3473
Improve AddInitKeyword quickfix
...
- Extract quickfix method
- Delete redundant semicolon
- Do not replace initializer PSI element
2015-03-18 19:59:25 +03:00
Stanislav Erokhin
0b76dbb492
Create DeprecatedLambdaSyntaxFix
2015-03-18 17:10:12 +03:00
Stanislav Erokhin
43e24f6b0d
Fixed test data for new lambda syntax
2015-03-18 16:06:44 +03:00
Pavel V. Talanov
41b65205b0
default -> companion: fix message for quick fix
2015-03-18 14:35:53 +03:00
Denis Zharkov
9e5192e0e3
Prohibit val/vars/modifiers on secondary constructor parameter
...
#KT-6962 Fixed
2015-03-17 23:18:33 +03:00
Pavel V. Talanov
06916d98c6
default -> companion: replace all mentions of default and default object
2015-03-17 15:47:39 +03:00
Stanislav Erokhin
560c32c0f1
Added diagnostic error when in function declaration name was omitted
2015-03-12 17:11:44 +03:00
Stanislav Erokhin
a33450395c
Resolve parenthesized element as expression
2015-03-12 17:11:43 +03:00
Alexey Sedunov
84ad6c394e
Create from Usage: Respect smart-casts when suggesting parameter type candidates
...
#KT-6781 Fixed
2015-03-11 23:34:00 +03:00
Alexey Sedunov
f0b0fd07c5
Create From Usage: Add support of star projections/incorrect type arguments
...
#EA-62661 Fixed
2015-03-11 23:33:56 +03:00
Alexey Sedunov
ab5a691612
Create From Usage: Place generated declarations next to original element container if they have common parent
...
#KT-6687 Fixed
2015-03-11 23:33:55 +03:00
Alexey Sedunov
fe9b08f93d
Create From Usage: Place local variable declaration right before its usage
...
#KT-6704 Fixed
2015-03-11 23:33:54 +03:00
Alexey Sedunov
8a0808b133
Create From Usage: Do not generate type for local variables, but add dummy initializer instead
...
#KT-6705 Fixed
2015-03-11 23:33:52 +03:00
Denis Zharkov
1703e16913
Add quickfix: remove 'init' modifier
2015-03-11 17:45:26 +03:00
Denis Zharkov
f07566d30d
Add warning for initializers with obsolete syntax
...
Expected 'init' keyword before class initializer
2015-03-11 17:45:26 +03:00
Pavel V. Talanov
a701cb2bd9
Add quick fix to replace all 'class object's in project
2015-03-10 18:21:33 +03:00
Pavel V. Talanov
81f9d34d1a
Add quick fix for deprecated 'class object' syntax
2015-03-10 18:21:33 +03:00
Pavel V. Talanov
59f192ef90
Replace 'class object' with 'default object' in renderers and test data
...
Includes changes to decompiled text
Old syntax is used in builtins and project code for now
2015-03-06 19:36:54 +03:00
Nikolay Krasko
4d1c2ab0e3
Suppress action generally because of updated constant in action
2015-03-06 12:56:42 +03:00
Evgeny Gerashchenko
7b6f83815c
Unified obtaining psi element for descriptor. Now code for finding effective descriptors of fake override and finding source element for original declarations are separated. Old method DescriptorToSourceUtils.descriptorToDeclaration is still there, because it has ~90 usages.
2015-03-05 15:19:29 +03:00
Pavel V. Talanov
48fbce9582
Refactor: process mentions of class object
...
Rename usages that refer to "default object" concept now
Test data file names are left as is
2015-03-03 20:57:08 +03:00
Alexey Sedunov
a21163b8c4
Change Signature: Add test for KT-4013 "'Change signature' does not add necessary imports"
...
#KT-4013 Fixed
2015-02-20 19:08:19 +03:00
Alexey Sedunov
2af83c58c9
Create from usage: Use separate editor for templates which should be placed in Java files
2015-02-20 19:08:14 +03:00
Alexey Sedunov
6bdff82c3a
Create from usage: Do not create functions/properties from import directives
2015-02-20 19:08:11 +03:00
Alexey Sedunov
41d51e0a13
Create from usage: Assume String return type for function whch is called inside of string template
...
#KT-6083 Fixed
2015-02-20 19:08:08 +03:00
Alexey Sedunov
0ae69e0d3e
Create from usage: Do not generate function body if it's declared as a trait member
...
#KT-6078 Fixed
2015-02-20 17:28:41 +03:00