Commit Graph

73 Commits

Author SHA1 Message Date
Nikolay Krasko df393e18fe Configure AbstractInspectionTest with project descriptors
Previous implements produced flaky tests when non-js tests were
executed after js.
2017-06-29 16:56:15 +03:00
Toshiaki Kameyama c2707bb81b Support cascade if / when in lift return / assignment intentions
So #KT-13458 Fixed
So #KT-13436 Fixed
2017-06-28 15:28:28 +03:00
Mikhail Zarechenskiy aeac2ea384 Fix 'add not-null asserted call' quick fix for operation in
#KT-18529 Fixed
2017-06-19 17:36:09 +03:00
Dmitry Neverov 5df5a001a1 Support implicit receiver in if-then intentions #KT-16069 Fixed 2017-06-16 15:02:44 +03:00
Mikhail Glukhikh a1e00ed9f1 Don't suggest "if to ?." without else when used in expression position 2017-05-11 20:47:16 +03:00
Mikhail Glukhikh 326d850760 Use "if-then to" even for 'if (arg != null) arg' removing 'if' 2017-05-11 20:47:10 +03:00
Mikhail Glukhikh 977d8e1cd7 If to safe access: fix message when no dot calls are available
Now "Replace 'if' with safe cast" is suggested
2017-05-11 20:47:04 +03:00
Mikhail Glukhikh 66c5717adc Refactoring of IfThen: ToDoubleBang / ToElvis / ToSafeAccess
Some common actions were extracted to IfThenUtils.kt
Use consistent logic in all three intentions
Also fixes potential PSI consistency problems in conversions dot->safe calls
2017-05-11 20:46:11 +03:00
Dmitry Neverov fd6d1520c7 Convert 'if' with 'is' check to 'as?' with safe call #KT-17054 Fixed 2017-05-11 20:46:05 +03:00
Mikhail Glukhikh ee1b741e84 More accurate handling of Elvis in areParenthesesNecessary #KT-15227 Fixed 2016-12-22 14:56:32 +03:00
Mikhail Glukhikh 4f82958309 If then to elvis: do not report inspection if not used as expression
(cherry picked from commit 2adcb27)
2016-10-28 17:21:12 +03:00
Mikhail Glukhikh f3c25c728e If then to elvis: no more allowed for if expressions with Unit result 2016-10-28 15:00:50 +03:00
Mikhail Glukhikh e7cef79709 If then to elvis: now not applicable for is with type unrelated to original #KT-14520 Fixed 2016-10-28 15:00:09 +03:00
Mikhail Glukhikh 87d265dc1b If then to elvis: now not applicable for is with nullable type #KT-14545 Fixed 2016-10-28 15:00:04 +03:00
Mikhail Glukhikh 89e908dab5 If then to elvis: now not applicable for calls with nullable result #KT-14542 Fixed 2016-10-28 14:59:58 +03:00
mglukhikh 73b24f2b20 Build fix: "If then to elvis" inspection test 2016-10-26 14:15:07 +03:00
Mikhail Glukhikh a901de5112 KT-14084 related : replaceFirstReceiver now replaces ALL calls to safe calls if necessary
Fixes relevant "replace let" and "if to elvis" cases
2016-10-25 17:57:06 +03:00
Mikhail Glukhikh 2117b30b76 If expression to elvis now handles call chains #KT-14084 Fixed 2016-10-25 17:57:02 +03:00
Mikhail Glukhikh 121f0ec810 KT-14032 related: if expression to elvis now handles also is and !is checks 2016-10-11 16:13:06 +03:00
Valentin Kipyatkov c06e2d994e KT-13884 Exception "Invalid root block PSI element" on replacing trivial when-expression to if
#KT-13884 Fixed
2016-10-10 14:48:15 +03:00
Valentin Kipyatkov 21c2268f70 Protection against "<caret>" missing in test data
Many incorrect tests fixed
2016-09-27 18:05:26 +03:00
Kirill 1926825019 Make folding if to return/assignment work with if-else if-else #KT-13452 Fixed 2016-08-17 17:51:08 +03:00
Mikhail Glukhikh 3fe114fc24 When to if now add braces for if branches inside #KT-12942 Fixed
(cherry picked from commit 29a7bfe)
2016-07-12 17:27:03 +03:00
Mikhail Glukhikh 9470308fe7 If to when: more accurate comment handling #KT-12649 Fixed 2016-06-09 20:00:14 +03:00
Valentin Kipyatkov c45bee5327 KT-12040 "Replace when with if" produce invalid code for first entry which has comment
#KT-12040 Fixed
2016-05-04 18:25:26 +03:00
Mikhail Glukhikh 6b945ba103 Regular checkType() is now called during condition analysis, TYPE_MISMATCH_IN_CONDITION removed #KT-11998 Fixed 2016-04-27 18:12:28 +03:00
Alexander Udalov 8316953259 Fix double quotes in diagnostic messages
For diagnostics without any parameters, the given text is simply rendered as a
String, so no symbols should be escaped.

For diagnostics with parameters, the format in java.text.MessageFormat is used,
so one single quote is erased and two single quotes become one single quote in
the rendered text.
2016-03-30 21:41:43 +03:00
Mikhail Glukhikh fa069214fd if to when intention now detects effectively else branches in subsequent code + performs more accurate comment handling #KT-10750 Fixed
Also #KT-11424 Fixed
2016-03-18 18:47:32 +03:00
Pavel V. Talanov a4c005fefd Update existing test data depending on diagnostic parameter rendering 2016-02-26 14:45:11 +03:00
Valentin Kipyatkov c9f26de9f5 Introduce/eliminate when subject intentions to keep line breaks and comments 2016-02-13 10:20:19 +03:00
Valentin Kipyatkov ce54a2d4bd If to when conversion preserves comments too 2016-02-13 10:20:19 +03:00
Valentin Kipyatkov 0ed8eb0512 KT-5717 "Replace 'when' with 'if'" loses a comment
#KT-5717 Fixed
2016-02-13 10:20:19 +03:00
Natalia Ukhorskaya abd7ed5c70 Fix intention for when: insert '||' instead of ',' 2015-12-17 11:11:24 +03:00
Natalia Ukhorskaya 6a3ac66208 Intention tests: add runtime where necessary 2015-12-17 11:11:23 +03:00
Dmitry Petrov 0fe74a8b43 COMMA_IN_WHEN_CONDITION_WITHOUT_ARGUMENT is an ERROR now.
Migrated code.
Updated test data in IDE tests.
Dropped whenWithRangeTestsAndMultiConditions.kt:
"Introduce subject" is not applicable to 'when' with ||-ed conditions.
2015-12-11 10:43:16 +03:00
Yan Zhulanow 9d1af5a17e Fix tests: "infix modifier required" and "operator modifier required" errors 2015-11-27 15:51:11 +03:00
Yan Zhulanow a3ff3ffc45 Fix tests: "Placing function type parameters after the function name" error 2015-11-27 15:51:11 +03:00
Nikolay Krasko 911432c99c Use default render to check are all errors mentioned in tests. It's far more easier to read. 2015-10-28 13:39:46 +03:00
Denis Zharkov f0e3fd617d Adjust testData to CharSequence.length transformation 2015-10-14 20:39:35 +03:00
Valentin Kipyatkov db144a6121 Suggestions from expression itself to have higher priority + fixed incorect upper case naming 2015-06-29 19:36:49 +03:00
Valentin Kipyatkov 5a737b8973 Correctness check in JetPsiFactory.createExpression 2015-05-27 16:15:44 +03:00
Valentin Kipyatkov 38ac420057 Fixed bug in MergeWhenIntention 2015-05-14 01:10:10 +03:00
Valentin Kipyatkov 102aa661ee Moved intention based inspection classes to their intention classes + some renames 2015-05-14 01:10:08 +03:00
Valentin Kipyatkov b9486846e1 ElvisToIfThenIntention - smaller range + minor code improvements 2015-05-14 01:09:48 +03:00
Valentin Kipyatkov ada11ca5e9 Use of expressions instead of plain text when converting when's 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov 76fc0c1418 FlattenWhenIntention - smaller range and refactoring 2015-05-14 01:00:28 +03:00
Valentin Kipyatkov 186dd5454d Added inspection based on IfNullToElvisIntention + moved intention based inspections into one file 2015-05-02 14:03:24 +03:00
Alexander Udalov c82308d3be Rename jet -> kotlin in idea 2015-01-13 01:15:14 +03:00
Alexander Udalov fe544eaf71 Rename jet -> kotlin in idea: intentions
org.jetbrains.jet.plugin.intentions -> org.jetbrains.kotlin.idea.intentions
2015-01-13 01:14:37 +03:00
Denis Zharkov 654411a0b0 Refactored tests using Array constructor:
Some moved to tests with stdlib
Some changed to use arrayOfNulls
2014-12-11 16:04:03 +03:00