Ivan Kochurkin
c3b8f3e859
[FIR] Add lValueTypeRef to FirVariableAssignment, fix tests with ASSIGNMENT_TYPE_MISMATCH
2021-05-17 22:33:18 +03:00
Ivan Kochurkin
e57108d4e8
[FIR] Implement ASSIGNMENT_TYPE_MISMATCH, RESULT_TYPE_MISMATCH diagnostics, fix tests
2021-05-17 22:33:16 +03:00
Leonid Startsev
796d2fd210
Respect explicit api mode state when generating actual declarations
...
#KT-44067 Fixed
2021-05-17 12:40:49 +00:00
Leonid Startsev
8cd704b6db
Exclude public API symbols in explicit mode from unused symbol inspection
...
#KT-41659 Fixed
2021-05-17 12:40:48 +00:00
Leonid Startsev
19dece01f6
Add support of explicit API mode to 'Make public' intention
...
#KT-41902 Fixed
Do not check languageVersionSettings for fake elements
because this leads to an exception
2021-05-17 12:40:47 +00:00
Igor Yakovlev
207bad5d5f
[FIR IDE] Implementation of KtUserType resolve
2021-05-14 23:06:03 +03:00
Igor Yakovlev
ae63ad0b6d
[FIR] Fix annotations invalid references diagnostics
2021-05-14 23:05:44 +03:00
Mikhail Glukhikh
55104a594c
FIR: fix WRONG_GETTER(SETTER)_RETURN_TYPE associated PSI types
2021-05-13 16:13:44 +03:00
Mikhail Glukhikh
0f9f63400e
FirSupertypesChecker: implement six more diagnostics
2021-05-13 16:13:43 +03: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
Ivan Kochurkin
598501aaf0
[FIR] Improve locations for DEPRECATED_SINCE_KOTLIN_WITHOUT_DEPRECATED, DEPRECATED_SINCE_KOTLIN_WITH_DEPRECATED_LEVEL, DEPRECATED_SINCE_KOTLIN_OUTSIDE_KOTLIN_SUBPACKAGE and other diagnostics, refactor
2021-05-12 18:42:44 +03:00
Tianyu Geng
302e0fa46b
FIR IDE: add quickfix AddWhenElseBranchFix
2021-05-11 21:42:45 +02:00
Stanislav Erokhin
85d9e96632
Partially support call with errors
...
Cases with no candidates or with Ambiguity is not supported yet
2021-05-11 12:48:17 +02:00
Stanislav Erokhin
080a832605
Fix argument mapping for lambda arguments and default arguments
...
Maybe for other elements ValueArgument itself used as SourceElement
2021-05-11 12:48:17 +02:00
Stanislav Erokhin
335c5a03b6
Add correct equals/hashCode to KtSymbolBasedAbstractTypeConstructor
...
Previously there were no equals/hashCode implementation.
Because of that subtyping not working properly. That is because in
subtyping we have checks that type constructors are equals
Also toString was added so now it is a bit easier to debug code
involving the KtSymbolBasedAbstractTypeConstructor
2021-05-11 12:48:16 +02:00
Stanislav Erokhin
7ac599520e
Add first prototype of BindingContext implementation by FIR
...
Add ImportMemberIntention intention as a test.
In this commit all failed test were disabled, necessary fixes will be
added in the following commits
2021-05-10 14:04:03 +03: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
e56a3b3c30
KT-46146 'protected' and 'private' only for sealed constructors
...
Prior to this commit we suggested two invalid intentions for sealed
class constructors: change visibility to 'public' and 'internal'.
^KT-46146 Fixed
2021-05-07 12:47:39 +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
53aafbd7d9
FIR IDE: enable override implement test for FIR
2021-05-07 00:40:41 +03:00
Tianyu Geng
06ba143afe
FIR IDE: quickfix to make class abstract if member not implemented
2021-05-07 00:40:37 +03:00
Tianyu Geng
7bb81ef157
FIR: add equality call checker
...
Added checker for FirEqualityOperatorCall. It's surfaced as one of the
following diagnostics depending on the PSI structure and types under
comparison:
* INCOMPATIBLE_TYPES(_WARNING)
* EQUALITY_NOT_APPLICABLE(_WARNING)
* INCOMPATIBLE_ENUM_COMPARISON_ERROR
Comparing with FE1.0, the current implementation is more conservative
and only highlights error if the types are known to follow certain
contracts with `equals` method. Otherwise, the checker reports warnings
instead.
However, the current checker is more strict in the following situations:
1. it now rejects incompatible enum types like `Enum<E1>` and
`Enum<E2>`, which was previously accepted
2. it now rejects incompatible class types like `Class<String>` and
`Class<Int>`, which was previously accepted
3. the check now takes smart cast into consideration, so
`if (x is String) x == 3` is now rejected
2021-05-06 17:50:32 +03:00
Ilya Kirillov
4942f5eb66
Stubs: add classId to KtTypeAlias stubs
2021-05-04 08:19:50 +02:00
Ilya Kirillov
fdb091d98e
Stubs: add classId to KtClassOrObject stubs
2021-05-04 08:19:49 +02:00
Mikhail Glukhikh
0764a0601c
Fix FIR IDE test data broken by 80a44986
2021-05-01 19:12:05 +03:00
Ilya Kirillov
caff279255
FIR IDE: add missing binary extensions
...
This also reveals and error in find usages for fir: it does not work for library source files
So, corresponding tests are muted
2021-04-29 23:31:05 +03:00
Ilya Kirillov
d438d2db40
FIR IDE: do not remove duplicated diagnostics
...
This hides the real problem why diagnostics are duplicated
2021-04-29 17:51:28 +02:00
Ivan Kochurkin
d54808e33f
[FIR] Implement CREATING_AN_INSTANCE_OF_ABSTRACT_CLASS diagnostics, fix tests
2021-04-27 18:27:39 +03:00
Pavel Kirpichenkov
71365d2452
[IDE] Move library dependency filtering to dependencies cache
...
The primary client of LibraryDependenciesCache is LibraryInfo,
but it is also used for maintaining modification trackers of
source-dependent libraries. Moving dependency filtering to
cache allows keeping all client in sync.
^KT-45908 In Progress
2021-04-27 10:14:13 +03:00
Alexander Dudinsky
2c29957cb8
Move tests from GradleImportingTestCase to MultiplePluginVersionGradleImportingTestCase
2021-04-26 13:20:00 +03:00
pyos
e6d923f65c
FIR: rename HIDDEN to INVISIBLE_REFERENCE
...
Some of them should be INVISIBLE_MEMBER though
2021-04-21 16:18:21 +03:00
Mark Punzalan
73b796f184
FIR IDE: Enable RemoveExclExclCallFix for UNNECESSARY_NON_NULL_ASSERTION.
2021-04-19 22:29:07 +02:00
Ilmir Usmanov
f5379c5a04
Add @JvmInline annotation in common code if JVM target is present
...
#KTIJ-8863 Fixed
#KT-46088 Fixed
2021-04-19 16:56:31 +03:00
Ivan Kochurkin
00bc04b3df
[FIR] Implement ELSE_MISPLACED_IN_WHEN diagnostics, fix tests
2021-04-19 15:46:38 +03:00
Mikhail Glukhikh
8a2cab346a
Fix FIR IDE tests (EXPRESSION_EXPECTED, ITERATOR_MISSING, etc.)
2021-04-19 15:11:17 +03:00
Ilya Kirillov
26ea0be635
FIR IDE: temporary update testdata until diagnostic collection for delegated objects is fixed
2021-04-19 13:52:47 +02:00
Ivan Kochurkin
4353365968
[FIR] Implement NULL_FOR_NONNULL_TYPE diagnostics, fix tests
2021-04-19 12:46:08 +03: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
Ilya Kirillov
0cf00d0f72
FIR: fix FirDefaultPropertyAccessor phase to BODY_RESOLVE
2021-04-15 15:23:56 +03:00
Mark Punzalan
957f6ddafd
FIR checker: Enable ReplaceWithDotCallFix for UNNECESSARY_SAFE_CALL.
2021-04-14 22:30:42 +02:00
Andrei Klunnyi
fb1b253d1e
KT-46063 Quick fix: remaining when branches for 'expect' sealed
...
'List<WhenMissingCase>.hasUnknown' property was changed in 4222bb9a .
As a result quickfix's AddWhenRemainingBranchesFix.Companion.isAvailable
started responding 'no'.
This commit restores original property and provides a separate one for
compiler needs.
^KT-46063 Fixed
2021-04-14 15:57:15 +02:00
vldf
57d2eb5da2
Introduce FirFunctionReturnTypeMismatchChecker
2021-04-13 21:36:33 +03:00
vldf
24f1f1221e
Introduce FirInitializerTypeMismatchChecker
2021-04-13 21:36:31 +03:00
Andrei Klunnyi
2fce968de0
KT-46049 Java-Kotlin sealed inheritors inspection: false positive for type parameter
...
^KT-46049 Fixed
2021-04-13 12:34:07 +02:00
Dmitriy Novozhilov
803d47daaa
Distinguish classes from different sourcesets in SealedInheritorInSameModuleChecker
...
#KT-45848 Fixed
#KT-46031
2021-04-13 11:21:58 +03:00
Ivan Kochurkin
ad9b962536
[FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE)
2021-04-12 23:49:55 +03:00