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
Andrey Zinovyev
47407c4445
[FIR] Add NAME_IN_CONSTRAINT_IS_NOT_A_TYPE_PARAMETER check
2021-04-11 16:18:07 +00:00
sebastian.sellmair
2aeb08e245
[Gradle] Implement internal intransitiveMetadataConfiguration
...
- Implemented additional intransitiveMetadataConfiguration to support
dependencies that shall not be added transitively to dependsOn edges
2021-04-09 23:36:00 +02:00
sebastian.sellmair
d9eb130f82
[Gradle] Enable hierarchical commonization by default
2021-04-09 23:35:59 +02:00
Ilya Kirillov
a9fc3dd1ea
FIR IDE: fix unresolved file annotations arguments
2021-04-09 17:46:24 +02:00
Mikhail Glukhikh
818c54e3a6
FIR: report ABSTRACT_*_NOT_IMPLEMENTED on appropriate intersections
2021-04-09 14:52:34 +03:00
Andrey Zinovyev
37055c5a09
[FIR] Add REPEATED_BOUND, CONFLICTING_UPPER_BOUNDS diagnostics
2021-04-09 07:38:39 +00:00
Mikhail Glukhikh
9af1de272e
FIR: support private-in-file effective visibility
2021-04-08 09:41:26 +03:00
Mikhail Glukhikh
6ee169c01e
Rename EffectiveVisibility.Private to PrivateInClass
2021-04-08 09:41:26 +03:00
Mikhail Glukhikh
4bd44fa61b
FE 1.0: introduce PrivateInFile effective visibility #KT-20094 Fixed
2021-04-08 09:41:25 +03:00
Andrey Zinovyev
fc8b75be80
[FIR] Add ONLY_ONE_CLASS_BOUND_ALLOWED diagnostic
2021-04-07 11:31:08 +00: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
638e192f8c
FIR IDE: add // FIR_IDENTICAL to Jet53.kt
2021-04-06 13:13:21 +02:00
Dmitriy Novozhilov
3cb17ac2f0
[FIR] Implement FirReturnAllowedChecker
...
Supported diagnostics:
- RETURN_NOT_ALLOWED
- RETURN_IN_FUNCTION_WITH_EXPRESSION_BODY
2021-04-06 12:30:41 +03:00
Dmitriy Novozhilov
fe81078366
Allow sealed inheritors for expect sealed classes in MPP submodules
...
KT-45842 Fixed
KTIJ-7068
2021-04-06 11:40:39 +03:00