Ilya Kirillov
b18d4af37b
fix fe1.0 plugin testdata
2021-05-25 20:39:37 +03:00
Tianyu Geng
71c5c9f6c5
FIR IDE: add quickfix to change function return type
2021-05-25 20:39:32 +03:00
Denis.Zharkov
2ecba6ac39
Remove WITH_NEW_INFERENCE directive from all tests
...
This directive anyway does not make test run twice with OI, and with NI
It only once run the test with specific settings (// LANGUAGE)
and ignores irrelevant (OI or NI tags)
2021-05-25 13:28:26 +03:00
Ilya Kirillov
c72b2caf3e
Fix wrapWithSafeLetCall quickfix testdata
2021-05-21 00:01:20 +02:00
Tianyu Geng
e1b542314a
FIR IDE: quickfix for WrapWithSafeLetCall
...
There is some behavior change regarding the new WrapWithSafeLetCall quickfix
1. it now works correctly on binary expressions by wrapping it with `()`
2. it now looks for a nullable position upward and do the modification there,
if possible. For example, consider the following code
```
fun bar(s: String): String = s
fun test(s: String?) {
bar(bar(bar(<caret>s)))
}
```
After applying this fix, FE1.0 yields
```
bar(bar(s?.let { bar(it) }))
```
while the new implementation yields
```
s?.let { bar(bar(bar(it))) }
```
This behavior aligns with FE1.0 if `bar` accepts nullable values.
2021-05-20 20:33:00 +02:00
Mark Punzalan
d2b8204fdc
FIR/FIR IDE: Use entire FirVariableAssignment when reporting UNSAFE_CALL
...
(e.g., `nullable.a = b`), and use positioning strategies to locate the
dot in the LHS expression.
Without it, only the callee reference is reported on, which makes the
highlighting of the error and application of quickfixes incorrect in the
IDE.
Also fixed issue with annotated and/or labeled expressions on LHS of
assignment (e.g., `(@Ann label@ i) = 34`).
2021-05-20 20:32:58 +02:00
Mark Punzalan
1d9247ae0f
FIR IDE: Offer AddExclExclCallFix for nullable types with an
...
`iterator()` function that does NOT have `operator` modifier.
This is different from FE1.0. Adding `!!` will then surface the error
that `operator` modifier needs to be added (with corresponding fix).
2021-05-20 20:32:58 +02:00
Mark Punzalan
9e01a608b2
FIR IDE: Add ability in test infra to have a "before" file different in
...
FIR vs FE1.0, and made file naming convention more consistent.
2021-05-20 20:32:57 +02:00
Mark Punzalan
efa3bf9c69
FIR IDE: Consolidate tests for AddExclExclFix in one directory.
...
I found these tests only _after_ the previous changes, so I needed to
merge and/or remove redundant tests.
2021-05-20 20:32:57 +02:00
Mark Punzalan
db82797f58
FIR IDE: Enable AddExclExclCallFix for UNSAFE_CALL,
...
UNSAFE_OPERATOR_CALL, UNSAFE_INFIX_CALL, ITERATOR_ON_NULLABLE,
ARGUMENT_TYPE_MISMATCH, RETURN_TYPE_MISMATCH.
TODO: Don't offer fix when target is known to be null (from data flow
analysis).
2021-05-20 20:32:56 +02:00
Mark Punzalan
71a8d9c0bb
FIR quickfix: Enable addExclExclCall tests for FIR, move typeMismatch
...
tests for addExclExclCall to addExclExclCall directory.
2021-05-20 20:32:56 +02:00
Mark Punzalan
85cbea70bf
IDE: Don't do any resolution in AddExclExclExclFix (i.e., in
...
isAvailable and in invoke) by moving computation of element to modify
to before instantiation (i.e., to the factories or equivalent).
This lets us to move it to idea-frontend-independent and re-use it FIR.
2021-05-20 20:32:56 +02:00
Mark Punzalan
c472c9facd
IDE: Don't add this!! in AddExclExclCallFix for nullable member
...
access in extension function.
^KTIJ-10052 Fixed
2021-05-20 20:32:55 +02:00
Roman Golyshev
9cadd1c8a7
Remove IGNORE_FIR from test data of already green test
2021-05-13 03:22:07 +03:00
Roman Golyshev
d7a91cb05e
Remove IGNORE_FIR directive from already green tests
2021-05-12 16:28:31 +00:00
Roman Golyshev
4adb291a12
Mute failing AutoImportQuickFix tests
2021-05-12 16:28:30 +00:00
Roman Golyshev
22db894076
FIR IDE: Add Add Import quickfix
...
This quickfix can import unresolved types and callables
It currently does not support Java types and is not as advanced as in
the old plugin
Also, enable tests that now pass
2021-05-12 16:28:28 +00:00
Roman Golyshev
3ad9e4cb5c
Use Import instead of action FQN
...
This way test data can be used both in the old plugin and in the
FIR plugin
2021-05-12 16:28:27 +00:00
Tianyu Geng
302e0fa46b
FIR IDE: add quickfix AddWhenElseBranchFix
2021-05-11 21:42:45 +02:00
Andrei Klunnyi
b7eded6e48
KT-46146 no 'protected' for final classes
...
Intention to change final class constructor visibility to 'protected'
was erroneous. This commit removes it.
2021-05-07 12:47:40 +00:00
Andrei Klunnyi
686368749a
KT-46146 'protected' is unavailable for primary constructors
...
Prior to this commit intention to change primary constructor visibility
to 'protected' was filtered out.
2021-05-07 12:47:38 +00:00
Tianyu Geng
06ba143afe
FIR IDE: quickfix to make class abstract if member not implemented
2021-05-07 00:40:37 +03:00
Mark Punzalan
73b796f184
FIR IDE: Enable RemoveExclExclCallFix for UNNECESSARY_NON_NULL_ASSERTION.
2021-04-19 22:29:07 +02:00
Ilmir Usmanov
7b14975740
Add 'value' modifier to modifier order
...
Otherwise, there will be unfixable 'non-canonical modifier order'
warning
#KT-46088
#KTIJ-5636 Fixed
2021-04-16 18:51:44 +03:00
Mark Punzalan
957f6ddafd
FIR checker: Enable ReplaceWithDotCallFix for UNNECESSARY_SAFE_CALL.
2021-04-14 22:30:42 +02:00
Mikhail Glukhikh
6ee169c01e
Rename EffectiveVisibility.Private to PrivateInClass
2021-04-08 09:41:26 +03:00
Abduqodiri Qurbonzoda
b0f1ddc91e
Advance max/min(By/With) deprecation level to ERROR
2021-04-07 07:49:23 +03:00
Tianyu Geng
4d505f4393
FIR IDE: add intention to add custom accessor to uninitliazed property
2021-04-06 13:19:00 +02:00
Tianyu Geng
6d69959bfd
FIR IDE: register quickfix to add lateinit modifier
2021-04-06 13:19:00 +02:00
Tianyu Geng
d5ea68c585
FIR IDE: add quick fix to add initializer for MUST_BE_INITIALIZED_OR_BE_ABSTRACT
2021-04-06 13:19:00 +02:00
Tianyu Geng
72f7405e4a
FIR IDE: add quickfix to add abstract modifier for MUST_BE_INITIALIZED_OR_BE_ABSTRACT
2021-04-06 13:19:00 +02:00
Ilya Kirillov
bd38363077
FIR IDE: use IGNORE_FIR instead of FIR_COMPARISON in hl quick fix tests
...
To explicitly specify which test are failing
2021-04-01 18:24:17 +02:00
Vyacheslav Gerasimov
f2a892a972
Cleanup 201 and as41 bunch files
2021-03-30 14:23:43 +03:00
Mikhail Zarechenskiy
943f03e55f
Fix add import quick fix for delegated property and missing extension
...
^KT-39199 Fixed
2021-03-30 13:58:41 +03:00
Victor Petukhov
5d78b0a962
Report resolution ambiguity on '+=' by taking into account full resolution result including post type checking for '+'
...
^KT-45503 Fixed
2021-03-30 12:12:56 +03:00
Mark Punzalan
dd20dd9806
Report WRONG_MODIFIER_TARGET on the modifier instead of the declaration
...
in ExternalFunChecker.
This allows RemoveModifierFix to provide a quickfix to remove it.
2021-03-27 22:27:36 +01:00
Mark Punzalan
062adf21de
FIR IDE: Use KtFirExpressionTypeProvider.getExpectedType() in
...
ReplaceCallFix.
2021-03-23 11:04:33 +01:00
Mark Punzalan
e9298d1d71
FIR IDE: Allow FIR-specific "after" files for
...
AbstractHighLevelQuickFixTest.
2021-03-23 11:04:33 +01:00
Mark Punzalan
164d7d80b6
FIR IDE: Enable ReplaceCallFix for UNSAFE_CALL.
2021-03-23 11:04:33 +01:00
Mark Punzalan
1b649fa4cb
FIR IDE: Generate quickfix tests related to ReplaceCallFix.
2021-03-23 11:04:33 +01:00
Mark Punzalan
c3d2ce0c1f
FIR checker/IDE: Add checker and quickfix for WRONG_MODIFIER_TARGET.
...
There are only simple checks for `external` and `const` for now. The
rest of the checks (see ModifiersChecker in FE1.0) will be added later.
2021-03-17 10:45:26 +01:00
Mark Punzalan
bb790195a2
FIR IDE: Enable ChangeVariableMutabilityFix for MUST_BE_INITIALIZED.
2021-03-11 16:31:40 +01:00
Tianyu Geng
8158a07063
FIR IDE: add quickfix for NESTED_CLASS_NOT_ALLOWED
2021-03-05 13:27:36 +01:00
Tianyu Geng
bca393bd5c
FIR IDE: Add quickfix for PRIVATE_SETTER_FOR_(OPEN|ABSTRACT)_PROPERTY
2021-03-01 19:30:31 +01:00
Ilmir Usmanov
2523ea1ef4
Do not add @JvmInline annotation on JS and Native
2021-02-25 16:07:00 +01:00
Ilmir Usmanov
2df049fc03
Minor. Remove outdated test and update maven test
2021-02-25 16:06:58 +01:00
Ilmir Usmanov
8c31fcb615
Add inline class -> @JvmInline value class intention
2021-02-25 16:06:54 +01:00
Mark Punzalan
1c94372b6c
FIR checker/IDE: Add checker and quickfix for VAL_WITH_SETTER.
2021-02-25 13:06:53 +01:00
Tianyu Geng
aec498a4ea
Add quickfixes for NON_FINAL_MEMBER_IN_FINAL_CLASS
2021-02-24 15:56:35 +01:00
Tianyu Geng
56854a8b1a
FIR IDE: register quickfix for the following
...
1. NON_ABSTRACT_FUNCTION_WITH_NO_BODY
2. ABSTRACT_PROPERTY_IN_NON_ABSTRACT_CLASS
3. ABSTRACT_FUNCTION_IN_NON_ABSTRACT_CLASS
2021-02-19 13:16:42 +01:00