Tianyu Geng
cd99c35649
FIR: instantiate type argument to captured type if needed
2021-08-09 14:38:30 +03:00
Tianyu Geng
c7272f6986
FIR checker: SENSELESS_(COMPARISON|NULL_IN_WHEN)
...
Currently DFA does not set "definitely equal to null" for access to variables that got assigned `null`. For example, FIR should mark the following line as SENSELESS_COMPARISON due to `s = null` above.
https://github.com/JetBrains/kotlin/blob/d1531f9cdd5852352c0133198706125dc63b6007/compiler/testData/diagnostics/tests/smartCasts/alwaysNull.fir.kt#L6
The problem is at https://github.com/JetBrains/kotlin/blob/7e9f27436a77de1c76e3705da7aa1fbe8938336b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/dfa/FirDataFlowAnalyzer.kt#L1104
For null assignment, ideally the type should be `Nothing?`. This is
addressed in a followup commit instead.
2021-08-06 22:57:16 +03:00
Dmitriy Novozhilov
d17f984edf
[FE 1.0] Migrate most of warning/error pairs to DiagnosticFactoryForDeprecation
2021-08-03 00:17:33 +03:00
Victor Petukhov
95492f7370
[FE 1.0] Fix some diagnostic tests
2021-07-29 19:45:55 +02:00
Ivan Kochurkin
bade6cb611
[FIR] Improve TYPE_PARAMETER_AS_REIFIED detecting, implement TYPE_PARAMETER_AS_REIFIED_ARRAY, TYPE_PARAMETER_AS_REIFIED_ARRAY_WARNING
2021-07-26 21:13:25 +03:00
Andrey Zinovyev
a6984c5198
[FIR] Add NO_RETURN_IN_FUNCTION_WITH_BLOCK_BODY diagnostic
2021-07-19 13:40:28 +03:00
Ivan Kochurkin
dd54338ec0
[FIR] Fix positioning and detecting of WRONG_NUMBER_OF_TYPE_ARGUMENTS
...
Refactor code and fix compilation errors caused by changes to symbol.fir
2021-07-15 19:02:58 +03:00
Ivan Kochurkin
0c25d280ee
[FIR] Fix calculating of source of TypeArgumentList, add source to FirQualifierPart
...
Fix positioning for TYPE_ARGUMENTS_NOT_ALLOWED
2021-07-15 19:02:54 +03:00
Ivan Kochurkin
28a6928873
[FIR] Check rest OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics on checkers stage
...
Add FirOuterClassArgumentsRequiredChecker
2021-07-15 19:02:45 +03:00
Ivan Kochurkin
0fc8be4d60
[FIR] Implement OUTER_CLASS_ARGUMENTS_REQUIRED diagnostics
2021-07-15 19:02:40 +03:00
Victor Petukhov
3b16865152
Don't approximate captured types while substitute them in upper bound position
2021-07-09 19:21:17 +03:00
Mikhail Zarechenskiy
44cf4be1e5
Inference for some kind of self types
2021-07-09 19:20:52 +03:00
Andrey Zinovyev
b44785c24e
[FIR] NOTHING_TO_OVERRIDE diagnostic
2021-07-08 18:13:47 +03:00
Tianyu Geng
cdfb2fb3d9
FIR checker: report SETTER_PROJECTED_OUT
2021-07-05 18:32:32 +03:00
Ivan Kochurkin
92d7a61b4f
[FIR] Implement INCONSISTENT_TYPE_PARAMETER_VALUES, INCONSISTENT_TYPE_PARAMETER_BOUNDS
2021-06-29 02:00:09 +03:00
Ivan Kochurkin
5741374883
[FIR] Report UPPER_BOUND_VIOLATED only on checkers stage, fix detection of missing cases and testData
2021-06-25 20:57:45 +03:00
Ilya Kirillov
c2ae434737
Remove // FIR_IDE_IGNORE directive from passing tests
2021-06-21 00:51:31 +02:00
Ilya Kirillov
75331b3448
FIR IDE: abstract low-level-api from dependency on idea
2021-06-20 22:07:11 +02:00
Denis.Zharkov
0aca3a3737
FIR: Adjust test data after introduction of INFERENCE_NO_INFORMATION_FOR_PARAMETER
...
See previous commits for details
2021-06-07 15:25:47 +03:00
Ivan Kochurkin
da15f0ffe8
[FIR] Consider fullyExpandedType instead of original type in isSubtypeForTypeMismatch, consider lookupTag in isError method
2021-06-03 18:24:36 +03:00
Victor Petukhov
54b9f39b3a
Update tests after rebase
2021-05-28 15:36:24 +03:00
Victor Petukhov
4a767c597e
Don't report the same diagnsotics several times
2021-05-28 15:36:23 +03:00
Denis.Zharkov
dac9d7b17a
FIR: Mark a pack of tests (53) as FIR_IDENTICAL
2021-05-25 13:28:29 +03:00
Denis.Zharkov
ddbdfafa79
Remove OI/NI attributes from test data
2021-05-25 13:28:27 +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
Ivan Kochurkin
cf531dbbe6
[FIR] Implement TYPE_VARIANCE_CONFLICT, TYPE_VARIANCE_CONFLICT_IN_EXPANDED_TYPE diagnostics, fix tests
2021-05-25 00:07:33 +03:00
Denis.Zharkov
00821bbc63
FIR: Update test data (repeated diagnostics)
...
They are a bit redundant, but it needs additional work to be done
to avoid them
2021-05-20 17:24:33 +03:00
Denis.Zharkov
dbc0ebd861
FIR: Update test data
...
changed INAPPLICABLE_CANDIDATE -> ARGUMENT_TYPE_MISMATCH
2021-05-20 17:24:32 +03:00
Denis.Zharkov
b94335dd1c
FIR: Update diagnostics test data
...
Green code correctly became red
2021-05-20 17:24:30 +03:00
Ivan Kochurkin
e57108d4e8
[FIR] Implement ASSIGNMENT_TYPE_MISMATCH, RESULT_TYPE_MISMATCH diagnostics, fix tests
2021-05-17 22:33:16 +03:00
Ilya Kirillov
09a94f3200
FIR IDE: ignore non-passing tests in compiler based tests
2021-05-04 08:19:49 +02:00
Victor Petukhov
e110b49cab
Revert "Don't stop constraints processing if all type variables have proper equality constraints"
...
This reverts commit b87c2a15
2021-04-30 15:46:03 +03:00
Tianyu Geng
6a03f31e50
FIR: add UnsafeCall resolution diagnostics
...
Previously unsafe call is reported as part of InapplicableWrongReceiver.
This makes it difficult for the downstream checkers to report different
diagnostics.
2021-04-19 15:11:13 +03:00
Ivan Kochurkin
4353365968
[FIR] Implement NULL_FOR_NONNULL_TYPE diagnostics, fix tests
2021-04-19 12:46:08 +03:00
Andrey Zinovyev
0d525bbe85
[FIR] Add MISPLACED_TYPE_PARAMETER_CONSTRAINTS check
2021-04-14 18:11:17 +03:00
Andrey Zinovyev
2b8c22c08a
[FIR] Add CYCLIC_GENERIC_UPPER_BOUND check
2021-04-14 18:11:14 +03:00
Andrey Zinovyev
5ff82addc9
[FIR] Add REIFIED_TYPE_PARAMETER_NO_INLINE check
2021-04-14 18:11:10 +03: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
Ivan Kochurkin
ad9b962536
[FIR] Fix tests (ARGUMENT_TYPE_MISMATCH instead of INCOMPATIBLE_CANDIDATE)
2021-04-12 23:49:55 +03:00
Mikhail Glukhikh
818c54e3a6
FIR: report ABSTRACT_*_NOT_IMPLEMENTED on appropriate intersections
2021-04-09 14:52:34 +03:00
Jinseong Jeon
5a0b75bd89
FIR checker: warn unnecessary safe calls
2021-04-09 12:32:45 +03:00
Andrey Zinovyev
37055c5a09
[FIR] Add REPEATED_BOUND, CONFLICTING_UPPER_BOUNDS diagnostics
2021-04-09 07:38:39 +00:00
Andrey Zinovyev
0f04fac5b2
[FIR] Add BOUNDS_NOT_ALLOWED_IF_BOUNDED_BY_TYPE_PARAMETER diagnostic
2021-04-07 08:19:31 +00:00
Dmitriy Novozhilov
66668b2294
[FIR] Support resolve of local typealiases
2021-04-06 12:30:42 +03:00
Andrey Zinovyev
67505a0071
[FIR] Add FINAL_UPPER_BOUND checker
2021-04-05 14:51:44 +03:00
Tianyu Geng
761a0a7d0d
FIR checkers: report specific errors instead of INAPPLICABLE_CANDIDATE
...
Specifically, the report the following 4 errors.
* NON_VARARG_SPREAD
* ARGUMENT_PASSED_TWICE
* TOO_MANY_ARGUMENTS
* NO_VALUE_FOR_PARAMETER
Also added/updated the following position strategies.
* NAME_OF_NAMED_ARGUMENT
* VALUE_ARGUMENTS
2021-04-02 14:36:14 +03:00
Mikhail Glukhikh
f453649d0b
FIR: report NO_TYPE_ARGUMENTS_ON_RHS properly
2021-03-30 12:52:13 +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
e1c80ac75c
FIR checker: introduce NO_(GET|SET)_METHOD
...
Besides introducing new diagnostics, this commit unifies source usages
for array accesses in PSI & LT.
2021-03-24 16:25:01 +03:00