Nikita Bobko
c214c5445a
[FIR] Implement EXPECT_AND_ACTUAL_IN_THE_SAME_MODULE
...
^KT-60367 Fixed
KT review: https://jetbrains.team/p/kt/reviews/14064/timeline
IJ review: https://jetbrains.team/p/ij/reviews/124657/timeline
2024-01-29 14:56:48 +00:00
Nikolay Lunyak
882b7fc9ca
[FIR] Expand typealiases in extractNonFatalDiagnostics
...
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Nikolay Lunyak
c392b0c477
[FIR] Expand typealiases when resolving to companions
...
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Nikolay Lunyak
4a9ba1c9ac
[FIR] Expand typealiases when checking deprecations
...
^KT-59901 Fixed
2023-08-04 10:11:57 +00:00
Timofey Solonin
c245fa45e3
Split K2 and K1 test data for multiplatform feature diagnostic
...
and add an explicit expect to the test data
^KT-31281
2023-07-12 10:50:33 +00:00
Timofey Solonin
e12e78d96b
Add an explicit diagnostic for when expect/actual modifiers are used in
...
an unsupported compilation
^KT-31281
2023-07-12 08:29:28 +00:00
Timofey Solonin
792b6482c0
Emit MultiPlatformProjects diagnostic on all declarations
...
where expect/actual modifier is present
^KT-31281
2023-07-10 17:26:23 +00:00
Kirill Rakhman
5abab2197b
[FIR] Adapt positioning of NO_VALUE_FOR_PARAMETER to match K1
2023-07-04 16:00:45 +00:00
Kirill Rakhman
6d1d6e48c1
[FIR] Rename qualifiedAccessOrAssignmentsOrAnnotationCalls to callsOrAssignments and add delegated constructor calls
2023-07-04 16:00:45 +00:00
Ivan Kochurkin
994c2229df
[FIR] Report UNSUPPORTED_FEATURE for expect/actual members if MPP is disabled
...
Always enable MultiPlatformProjects for K2MetadataCompilerArguments
^KT-57243 Fixed
2023-05-25 09:46:56 +00:00
Dmitrii Gridin
9a267176f5
[FIR] move deprecation calculation to COMPILER_REQUIRED_ANNOTATIONS phase
...
Also, this change adds SinceKotlin and Java.Deprecated to this phase
It fixes some problems with API_NOT_AVAILABLE, so now it is closer to K1
^KT-57648 Fixed
^KT-55723 Fixed
2023-05-11 10:31:52 +00:00
Nikolay Lunyak
fcd3e4f4c5
[FIR JS] KT-51740: Alter positioning of NO_VALUE_FOR_PARAMETER
2022-09-30 21:39:20 +03:00
Mikhail Glukhikh
a9b8f6715b
Revert "[FE 1.0] Resolve setters through the new type inference infra"
...
This reverts commit 6e191147b9 .
2022-09-13 09:09:00 +00:00
Mikhail Glukhikh
8be08d903b
Revert "K1: don't report UNRESOLVED_WITH_TARGET on hidden setters"
...
This reverts commit e20efc1398 .
2022-09-13 09:08:59 +00:00
Mikhail Glukhikh
e20efc1398
K1: don't report UNRESOLVED_WITH_TARGET on hidden setters
2022-07-22 16:03:53 +00:00
Victor Petukhov
6e191147b9
[FE 1.0] Resolve setters through the new type inference infra
...
^KT-48961 In progress
2022-07-22 16:03:50 +00:00
Mikhail Glukhikh
9bd6a9c069
FIR: handle 'SinceKotlin' as a special kind of deprecated
...
#KT-51850 Fixed
2022-04-06 12:51:20 +00:00
Victor Petukhov
27fa632630
[FE 1.0] Update test data with new error type representation
2022-03-23 21:13:33 +00:00
Ivan Kylchik
6fc56477bf
Drop all tests that disable features for language version less than 3
2021-12-28 20:08:56 +03:00
Ivan Kochurkin
84c5f58cab
[FIR] Implement UNRESOLVED_REFERENCE_WRONG_RECEIVER
2021-08-25 21:53:23 +00:00
Andrey Zinovyev
b36f8ed8f5
[FIR] DATA_CLASS_OVERRIDE_CONFLICT diagnostic
2021-07-08 18:13:48 +03:00
Denis.Zharkov
7645663d12
Deprecate (V)::a reference resolution to companion in FE 1.0
...
^KT-45315 Fixed
2021-06-25 18:41:14 +03:00
Tianyu Geng
b5caa658d6
FIR: introduce delegate diagnostics
...
This commit adds diagnostics for the following
* DELEGATE_SPECIAL_FUNCTION_MISSING
* DELEGATE_SPECIAL_FUNCTION_AMBIGUITY
* DELEGATE_SPECIAL_FUNCTION_NONE_APPLICABLE
2021-04-19 15:11:16 +03:00
Dmitriy Novozhilov
cd890d5833
[Test] Disable UNUSED_* diagnostics in tests which are not belong to contolFlowAnalysis suite
2021-03-29 16:12:29 +03:00
Tianyu Geng
fb14b03824
FIR checker: skip error named reference if receiver is unresolved
...
Currently, FIR reports errors caused by previous resolution failure. For
example with unresolved `a` and `b` in code `a.b`, both `a` and `b` are
highlighted. FE1.0 only highlights `a` since it's the root cause. This
change applies this heuristics when reporting FirDiagnostics.
2021-03-29 12:45:27 +03:00
Jinseong Jeon
bfc7eb7bab
FIR checker: fix REFERENCE_BY_QUALIFIED positioning strategy to consider callable reference
2021-03-26 15:19:10 +03:00
Jinseong Jeon
e009b71f88
FIR checker: report uninitialized member/extension properties
2021-03-04 17:56:29 +03:00
Jinseong Jeon
e8028e7825
FIR checker: report nullable/non-class LHS of class literals
2021-03-04 17:09:52 +03:00
Dmitriy Novozhilov
f14bd87ecc
[Test] Update testdata of diagnostic tests during to change language to 1.5
...
Mostly this commit contains changes of descriptor dump of sealed classes
tests according to changed visibility of sealed class constructor
2021-01-28 13:19:24 +03:00
Jinseong Jeon
57c8dd86a0
FIR checker: introduce top-level property checkers
...
Also, refactor property initializer checking so that those
newly added property checkers as well as member property checker
can share the same logic
2021-01-27 19:46:06 +03:00
Mikhail Glukhikh
036b6c63f6
[FIR] During resolve, set correctly property reference type in delegate
2020-04-03 13:18:47 +03:00
FenstonSingel
b7d8e879a6
[FIR] Support 4 diagnostics for pairs of modifiers
...
In particular, this commit includes:
* Attempt to abstract access to FirSourceElement via FirModifier
* Add more visit functions to DeclarationCheckersDiagnosticComponent
* Add messages+factories for 4 modifier-related errors and warnings
* Introduce FirModifierChecker
2020-03-27 12:34:29 +03:00
Mikhail Glukhikh
8884cbe415
Introduce FIR_IDENTICAL for FIR vs old frontend tests #KT-36879 Fixed
2020-03-05 09:39:40 +03:00
simon.ogorodnik
c29c140a9c
[FIR] Qualifier resolve
2020-02-19 17:53:44 +03:00
Ilya Chernikov
6356807997
Reapply "Only create descriptors for candidates with lambda args"
...
#KT-36247 fixed
A lot of testdata changed because significanly less (error) descriptors
are created for unresolved types, so diagnostics became different.
2020-02-14 11:41:30 +01:00
Mikhail Glukhikh
69ecbd93a9
[FIR] Fix type alias handling in qualifier position
2020-01-23 12:32:39 +03:00
Mikhail Glukhikh
e644edfe84
[FIR] Handle unresolved callable references more correctly
2020-01-23 12:32:39 +03:00
Mikhail Glukhikh
f0ced642d9
[FIR] Use static & qualified scopes to access qualified callables
...
This commit provides more correct logic for creating scopes based
on FirResolvedQualifier & eliminates QualifiedReceiverTowerDataConsumer
2020-01-15 16:52:12 +03:00
Dmitriy Novozhilov
2536fa0cd5
[FIR-TEST] Add new testdata generated after changes in previous commit
2019-12-12 16:11:46 +03:00
victor.petukhov
46bd5ba107
Add alphabetical sorting diagnostics with same ranges
2019-02-14 12:31:42 +03:00
Ilya Chernikov
2c02ee3d29
Rename test files to scripts to trigger proper scripting initialization
...
fix generation config accordingly
2019-02-10 13:31:57 +01:00
Alexander Udalov
d1e1e274d9
Render property accessor annotations in .txt test data
...
If property accessor rendering is disabled in a test, render annotations
on accessors as use-site-targeted, as was done with
`@setparam:`-annotations. Otherwise they were lost
2018-10-24 18:17:12 +02:00
Alexander Udalov
6f9441d3f4
Do not output empty non-root packages in tests with txt
...
Mostly to avoid listing every internal package in
kotlin-stdlib/kotlin-reflect, as in
https://github.com/JetBrains/kotlin/blob/acd5b62148d797ffd24c4811d1d663f0c1ae7885/compiler/testData/diagnostics/testsWithUnsignedTypes/conversions/conversionOfSignedToUnsigned.txt#L144
2018-08-06 13:43:32 +02:00
Alexander Udalov
fe2251bfca
Run classifier usage checkers on function types
2018-08-03 18:03:52 +02:00
Alexander Udalov
dcbb8045bd
Disallow function types with big arity on JVM if LV < 1.3 or API < 1.3
...
The implementation is a bit obscure because this worked on JS since
Kotlin 1.0 and we should not break that; however, on JVM, a diagnostic
will be reported with old language/API version
#KT-25241 Fixed
2018-07-16 10:41:27 +02:00
Alexander Udalov
1f0d3d9c7c
Load WasExperimental values correctly for associated declarations
...
For example, if a class is `@SinceKotlin("X")
@WasExperimental(M::class)`, then its constructor should also be
accessible if API < X, provided that the opt-in to M is given
2018-05-07 11:37:31 +02:00
Mikhail Glukhikh
e76debb12b
Report UNUSED_PARAMETER in setter #KT-21129 Fixed
2018-05-04 18:04:57 +03:00
Stanislav Erokhin
2b186909d4
Migrate diagnostic names for header/impl
2017-09-15 18:29:29 +03:00
Mikhail Glukhikh
dd8bed8b46
Migration: expect/actual in diagnostic tests
2017-09-15 18:28:07 +03:00
Alexander Udalov
2877314313
Support "::foo" as a short-hand for "this::foo"
...
#KT-15667 Fixed
2017-09-08 10:59:44 +03:00