Kirill Rakhman
e91e9d8ca8
[FIR] Don't lose error level enhancements in warning-level-enhanced arguments
...
The error-level enhancement is kept as warning-level and a new
LanguageFeature is introduced to turn the warning into an error.
#KT-63208 Fixed
#KT-63209
(cherry picked from commit 371b1eb3d5 )
2024-01-18 08:27:10 +00:00
Kirill Rakhman
121536d2e5
Revert "[FIR] Don't lose error level enhancements in warning-level-enhanced arguments"
...
This reverts commit 371b1eb3d5 .
2024-01-16 09:14:21 +01:00
Kirill Rakhman
371b1eb3d5
[FIR] Don't lose error level enhancements in warning-level-enhanced arguments
...
The error-level enhancement is kept as warning-level and a new
LanguageFeature is introduced to turn the warning into an error.
#KT-63208 Fixed
#KT-63209
2024-01-15 12:23:26 +00:00
Kirill Rakhman
7fb5cbd1f8
[FIR] Implement UNNECESSARY_NOT_NULL_ASSERTION checker for java warning level types
2024-01-04 09:59:50 +00:00
Kirill Rakhman
d6bd31b313
[FIR] Implement UNNECESSARY_SAFE_CALL checker for java warning level types
...
#KT-63528 Fixed
2024-01-04 09:59:50 +00:00
Kirill Rakhman
31256e259e
[FIR] Fix lower bound of flexible type variable not becoming DNN in warning-severity case
...
The bug was introduced as part of the implementation for Java
nullability warnings.
#KT-58933 Fixed
2023-11-24 11:00:10 +00:00
Kirill Rakhman
4882ac6599
[FIR] Fix duplicate WRONG_NULLABILITY_FOR_JAVA_OVERRIDE
...
Also, the test shows a missing warning in K1 which is present in K2.
#KT-63600 Fixed
#KT-63599
#KT-63745
#KT-63746
2023-11-24 11:00:10 +00:00
Kirill Rakhman
a63ec9efdc
[FIR] Implement warnings for java nullability upper bound violation
2023-11-15 08:43:55 +00:00
Kirill Rakhman
a6fdeeb7df
[FIR] Implement warnings for java nullability type mismatch
...
#KT-56989
2023-11-15 08:43:55 +00:00
Dmitrii Gridin
b2c8d7e777
[FIR] do not treat external ide annotations as real one
...
Such annotations are supposed to affect only diagnostic warnings
^KT-62310 Fixed
2023-10-13 12:16:12 +00:00
Dmitrii Gridin
2cac922cd0
[FIR] add tests on external annotations
...
Tests are excluded in COMPILED_JAVA mode because in this
mode external annotations are not present at all
^KT-62310
2023-10-13 12:16:12 +00:00
Denis.Zharkov
c3ac2e44a0
Adjust test data for enabling ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
...
^KT-55388 Fixed
2023-05-15 10:43:19 +00:00
Denis.Zharkov
cd0d6d2773
Adjust test data for postponing ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated
...
^KT-55357 Related
^KT-36770 Related
2022-12-12 11:39:04 +00:00
Ilya Chernikov
bb996c1b27
Switch kotlin version to 1.8
...
with appropriate fixes in testdata, tests and other
places.
2022-06-29 10:20:30 +02:00
Victor Petukhov
6c994787b3
[FE 1.0] Don't expand type enhancement
...
Actually shallow type enhancement is primary, it's more specific
^KT-50734 Fixed
2022-05-17 07:38:26 +00:00
Mikhail Glukhikh
53d6ac24e5
Switch kotlin version to 1.7
...
* Change 1.6 to 1.7 constants
* Fix SAFE_CALL_WILL_CHANGE_NULLABILITY for testData
* Change EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_WARNING to EXPOSED_PROPERTY_TYPE_IN_CONSTRUCTOR_ERROR
* Change NON_EXHAUSTIVE_WHEN_STATEMENT to NO_ELSE_IN_WHEN
* Fix testData for SafeCallsAreAlwaysNullable
* Change T -> T & Any in test dumps
* Change INVALID_CHARACTERS_NATIVE_WARNING -> INVALID_CHARACTERS_NATIVE_ERROR
* TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_WARNING -> TYPECHECKER_HAS_RUN_INTO_RECURSIVE_PROBLEM_ERROR
2022-02-25 11:46:27 +00:00
Dmitriy Novozhilov
f26059a7d3
[FE] Add clear warning about future changes about nullability of safe call with non nullable receiver
...
^KT-46860
2021-10-27 16:28:37 +03:00
Victor Petukhov
5326c875c0
Update compiler tests after rebase
2021-09-30 20:09:00 +03:00
Victor Petukhov
b957831683
Use WarningAwareUpperBoundChecker independently
...
^KT-47920 Fixed
^KT-48290 Fixed
2021-09-30 20:08:58 +03:00
pyos
94402ba488
FE: prefer enhancements for errors over enhancements for warnings
2021-09-08 16:54:17 +03:00
Alexander Udalov
7e43000d9b
JVM: do not lose default parameter values during enhancement
...
The change in signatureEnhancement.kt in 432f581cb2 was incorrect.
Contrary to its name, the removed method `hasDefaultValueInAnnotation`
checked not only if the enhancement annotation has default value (which
is what the removed feature was about), but also if the parameter itself
declares default value. This was mistakenly substituted by just `false`
on line 234. The correct change is to use the `declaresDefaultValue`
flag of the original parameter.
It's kind of weird though that in case there's a nullability annotation
on the whole package (like in KT-48316) type enhancement is being done
on everything, including annotation constructors, whose parameter types
can't have any enhancement information. Maybe this should be improved
independently.
#KT-48316 Fixed
2021-09-07 19:05:48 +02:00
pyos
9bb7a29baa
FIR: disregard enhancements for warnings
...
Warnings are not implemented yet, so don't produce errors either.
2021-09-06 13:11:16 +03:00
pyos
090b90f62e
FIR: load type qualifiers from module, package, and parent classes
2021-09-06 13:11:13 +03:00
pyos
24210aacc8
FIR: use JSR-305 state from command line flags
2021-09-06 13:11:13 +03:00
pyos
03304bce96
FIR: enhance Java type parameter bounds
...
This also fixes handling of self-recursive types.
TODO: fix jspecify/{strict,warn}Mode/Captured.fir.kt
2021-09-06 13:11:08 +03:00
Denis.Zharkov
4a9d4ed9fe
Enable ProhibitUsingNullableTypeParameterAgainstNotNullAnnotated since 1.7
...
^KT-36770 Fixed
2021-08-31 15:41:17 +03:00
Denis.Zharkov
62bef48f9d
Adjust test data to changed rendering: T!! -> T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:15 +03:00
Mikhail Glukhikh
85a2a3255d
Add new SENSELESS_COMPARISON in FIR foreign annotation tests
2021-08-10 13:19:26 +03:00
pyos
cdc0f36859
Permit silencing FIR tests with results depending on configuration
2021-08-10 13:19:25 +03:00
pyos
33251f6d50
Generate foreign annotation test data for FIR
2021-08-10 13:19:23 +03:00
Victor Petukhov
13cb3c138a
Update FE tests
2021-08-04 17:36:53 +03:00
Victor Petukhov
7567597be6
Java nullability checker: take type arguments' types from resolution atom if possible, instead of from resolved call directly
...
^KT-47833 Fixed
2021-08-04 17:36:51 +03:00
Mikhael Bogdanov
cdbd0eb932
Reopen KT-47920 test and add missed .txt files
...
#KT-47920 Open
2021-07-29 19:52:59 +02:00
Denis.Zharkov
f34726ff91
Fix test data for ForeignAnnotations
2021-07-29 19:45:56 +02:00
Victor Petukhov
c5d783596d
Check type parameter bounds by java nullability annotations not only in basic resolution context
...
^KT-47920 Fixed
2021-07-29 14:23:55 +03:00
Victor Petukhov
65fd8fc174
Add generated files with descriptors for foreign annotation tests
2021-07-06 18:10:22 +03:00
Victor Petukhov
6cfb1f40d6
Specify jspecify mode explicitly for warnings in tests
2021-07-06 09:54:32 +03:00
Victor Petukhov
f46dc713d7
Support rxjava 3 nullability annotations
2021-07-06 09:54:28 +03:00
Victor Petukhov
6d3badb2cd
Support configuring of nullability annotations with their report levels through a test directive
2021-07-06 09:54:27 +03:00
Victor Petukhov
85f4cec948
Don't ignore Java nullability annotations without target and unresolved when nullability qualifiers are extracted, with enabled type enhancement improvements
...
^KT-47276 Fixed
2021-06-15 17:28:25 +03:00
Victor Petukhov
fd6475c804
Update tests
2021-05-18 17:52:19 +03:00
Victor Petukhov
6f9694174f
Move foreign annotation tests into diagnostics folder
2021-04-30 14:43:25 +03:00