pyos
94402ba488
FE: prefer enhancements for errors over enhancements for warnings
2021-09-08 16:54:17 +03:00
pyos
8f699248f1
FE: force flexibility on unannotated ?
...
TODO: unify this code with FIR
#KT-48515 Fixed
2021-09-08 16:54:17 +03:00
pyos
afa1d18cc2
FE: in NullMarked scope, enhance T! to at least T
...
#KT-44436 Fixed
2021-09-08 16:54:17 +03:00
pyos
f793afbfea
FE: do not enhance ? into ? extends @NotNull Object in JSR-305
...
This is already done in jspecify and makes more sense anyway.
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
2847de10ac
FIR: enhance Java super types
2021-09-06 13:11:09 +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
pyos
e2a48d3945
FIR: use frontend-independent Java type qualifier computation
2021-09-06 13:11:07 +03:00
pyos
5704dffdbe
FIR: attach annotations to Java-converted cone types
2021-09-06 13:11:03 +03:00
pyos
5355d04553
FIR: enhance in/out-variant type arguments
2021-09-06 13:11:03 +03:00
pyos
8e122397b0
FIR: fix type index computation during enhancement
...
1. in/out type parameters count;
2. star projections take up 1 space in the tree.
2021-09-06 13:11:02 +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
pyos
47d0211370
FE: do not enhance ? in jspecify NullMarked scope
...
No clue whether this should be done for `@TypeQualifierDefault` since it
appears to have no specification whatsoever.
#KT-48262 Fixed
2021-08-18 16:41:00 +03:00
Mikhail Glukhikh
dd3eb53904
Drop forgotten foreign annotation test data
2021-08-12 14:25:18 +03:00
pyos
623b289616
Regenerate foreign annotation test data for FIR
2021-08-11 15:58:02 +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
pyos
e2e0358505
Remove "FIR" foreign annotation tests
...
They do not actually use FIR.
2021-08-10 13:19:21 +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
Victor Petukhov
3eaa452f9e
Take into account SimpleTypeWithEnhancement and subtyping related places
...
^KT-47854 Fixed
2021-08-04 17:36:50 +03:00
Dmitriy Novozhilov
d17f984edf
[FE 1.0] Migrate most of warning/error pairs to DiagnosticFactoryForDeprecation
2021-08-03 00:17:33 +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
8f484fcf88
Fix propagation of definitelyNotNull types from overrides
2021-07-29 19:45:57 +02:00
Denis.Zharkov
f34726ff91
Fix test data for ForeignAnnotations
2021-07-29 19:45:56 +02:00
Victor Petukhov
f84adcb378
[FE 1.0] Fix some foreign annotation tests
2021-07-29 19:45:56 +02:00
pyos
c401582770
FE: do not wrap types with enhancements if they're the same
2021-07-29 14:52:51 +03:00
Victor Petukhov
5684b6977a
Do preparation of enhancement as well (for types with enhancement), during subtype checks
...
^KT-47899 Fixed
2021-07-29 14:23:56 +03: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
f9cb0d61a8
Don't apply Java defaulting nullability annotations rules to unbounded wildcards
...
^KT-47396 Fixed
2021-07-29 14:23:53 +03:00
Victor Petukhov
99491014e4
Prefer flexible nullability by Java annotations to nullable one if the corresponding type parameter has nullable bound
...
^KT-47422 Fixed
2021-07-29 14:23:52 +03:00
pyos
d00fba3718
FE: avoid stack overflow on star projection of enhanced type parameter
...
#KT-47846 Fixed
2021-07-23 10:03:57 +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
f92ab691f8
Add explicit enabling of TypeEnhancementImprovementsInStrictMode in jspecify tests
2021-07-06 09:54:26 +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
54b9f39b3a
Update tests after rebase
2021-05-28 15:36:24 +03:00
Victor Petukhov
bd7fb56a24
Fix builder inference tests
2021-05-28 15:36:23 +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
Victor Petukhov
b78c645fb0
Report warnings by enhanced base types
2021-05-18 17:52:39 +03:00
Victor Petukhov
cba221c18a
Add test for enhancement in usages of annotated type parameter
2021-05-18 17:52:21 +03:00
Victor Petukhov
fd6475c804
Update tests
2021-05-18 17:52:19 +03:00
Victor Petukhov
8602d1fcf0
Merge foreign annotation tests for sources and binaries into single directory
2021-05-18 17:52:16 +03:00