Alexander Udalov
b2550f69bc
Report error if repeated annotation is used with JVM target 1.6
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
87130edfa2
Support using Java-repeatable annotations in Kotlin
...
#KT-12794
2021-07-30 19:53:32 +02:00
Alexander Udalov
f723389565
Remove mapping of java.Repeatable to kotlin.Repeatable in JavaAnnotationMapper
...
The main motivation for this change is that
java.lang.annotation.Repeatable has a parameter for the container
annotation, which is lost during conversion to
kotlin.annotation.Repeatable. To support j.l.a.Repeatable in backend
properly, it's absolutely necessary to be able to load the container
annotation for any repeatable annotation class, so the original
j.l.a.Repeatable needs to be stored in the descriptor and accessible
from the backend.
Instead of mapping j.l.a.Repeatable -> k.a.Repeatable, add a frontend
service PlatformAnnotationFeaturesSupport that will determine if an
annotation is repeatable "according to the platform rules", which for
JVM means that it's annotated with j.l.a.Repeatable.
Some effects of this change include:
- Usages of j.l.a.Repeatable are no longer reported as "deprecated", the
corresponding test is deleted
- Usages of repeatable annotations declared in Java with non-SOURCE
retention with LV 1.5 and earlier will now result in a slightly
different error (REPEATED_ANNOTATION instead of
NON_SOURCE_REPEATED_ANNOTATION)
#KT-12794
2021-07-30 19:53:32 +02:00
Ivan Kochurkin
1a40164ef0
[FIR] Fix resolving of single underscore _
...
Now compiler throws `UNRESOLVED_REFERENCE` here:
```
val boo = { _: Exception -> `_`.stackTrace }
```
2021-07-30 16:58:07 +00:00
Ivan Kochurkin
8bfaa39a5c
[FIR] Implement RESOLVED_TO_UNDERSCORE_NAMED_CATCH_PARAMETER
...
Split underscore checkers
2021-07-30 16:58:07 +00:00
Ivan Kochurkin
10d9988824
[FIR] Implement DANGEROUS_CHARACTERS
2021-07-30 16:58:06 +00:00
Ivan Kochurkin
83895c49c5
[FIR] Implement INVALID_CHARACTERS
2021-07-30 16:58:06 +00:00
Ivan Kochurkin
63fc3645ab
[FIR] Optimize performance and fix UNDERSCORE_IS_RESERVED, simplify code
2021-07-30 16:58:05 +00:00
Mikhail Glukhikh
807f031dcc
FIR: introduce RETURN_FOR_BUILT_IN_SUSPEND diagnostic
2021-07-30 19:06:53 +03:00
Mikhail Glukhikh
229dfd3f5f
FIR: introduce builtin suspend related diagnostics
2021-07-30 19:06:51 +03:00
Mikhail Glukhikh
391c4db87c
FIR: introduce ILLEGAL_RESTRICTED_SUSPENDING_FUNCTION_CALL diagnostics
2021-07-30 19:06:49 +03:00
Mikhail Glukhikh
2397650c24
FIR: introduce NON_LOCAL_SUSPENSION_POINT diagnostic
2021-07-30 19:06:48 +03:00
Mikhail Glukhikh
8f1d07084b
FIR: introduce ILLEGAL_SUSPEND_FUNCTION_CALL & PROPERTY_ACCESS diagnostics
2021-07-30 19:06:46 +03:00
Ivan Kochurkin
0e2d765a2d
[FIR] Consider getter and setter for CANNOT_WEAKEN_ACCESS_PRIVILEGE
...
Fill source with correct value instead of null
for FirDefaultPropertySetter in light tree converter
2021-07-30 18:07:35 +03:00
Ivan Kochurkin
b3d7ed569d
[FIR] Implement INVISIBLE_SETTER
2021-07-30 18:07:34 +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
Mikhael Bogdanov
824d6ab5cc
Update tests affected by 'ProhibitSimplificationOfNonTrivialConstBooleanExpressions' feature
2021-07-29 19:45:57 +02:00
Mikhael Bogdanov
4fe846fb81
Fix test affected by InstantiationOfAnnotationClasses feature
2021-07-29 19:45:57 +02:00
Mikhael Bogdanov
1347ee8c7d
Update DiagnosicTestGenerated affected by 'PrivateInFileEffectiveVisibility' feature
2021-07-29 19:45:57 +02:00
Denis.Zharkov
d2ad421e0b
Fix test data for definitelyNotNullType
2021-07-29 19:45:57 +02:00
Denis.Zharkov
8f484fcf88
Fix propagation of definitelyNotNull types from overrides
2021-07-29 19:45:57 +02:00
Mikhael Bogdanov
baaa615e09
Update FirOldFrontendDiagnosticsTestGenerated tests
2021-07-29 19:45:56 +02:00
Victor Petukhov
d2a7434cff
Update testdata
2021-07-29 19:45:56 +02:00
Denis.Zharkov
f34726ff91
Fix test data for ForeignAnnotations
2021-07-29 19:45:56 +02:00
Dmitriy Novozhilov
2ae546576c
[FE 1.0] Update DUPLICATE_LABEL_IN_WHEN testdata
...
New diagnostics started to report because in 1.6 we assume that
`1` is typed const of type Int instead of literal const
2021-07-29 19:45:56 +02:00
Dmitriy Novozhilov
e316cd04b6
[FIR] Fix consistency of FE 1.0 and FIR test data
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
Alexander Udalov
0ed9b75428
Minor, fix diagnostic test data for FIR
2021-07-29 19:45:55 +02:00
Victor Petukhov
95492f7370
[FE 1.0] Fix some diagnostic tests
2021-07-29 19:45:55 +02:00
Dmitriy Novozhilov
7250aed3b5
[FE 1.0] Fix some diagnostic tests
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
c9c82ab3a6
Update test affected by SafeCallsAreAlwaysNullable feature
2021-07-29 19:45:55 +02:00
Mikhael Bogdanov
cc5ba4c0af
Update diagnostic tests
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
0cccb76652
Update tests affected by ProperTypeInferenceConstraintsProcessing feature
2021-07-29 19:45:54 +02:00
Mikhael Bogdanov
38fb5e16ef
Update test affected by ApproximateIntegerLiteralTypesInReceiverPosition feature
2021-07-29 19:45:54 +02:00
Dmitriy Novozhilov
046730c62c
[Test] Integrate AbstractCompileTimeConstantEvaluatorTest to AbstractDiagnosticTest
...
^KT-47898
2021-07-29 15:25:53 +03: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
20d50cfee7
Prevent leaking of type parameter erasion results cache into static scope
2021-07-29 14:23:55 +03:00
Victor Petukhov
6706ee87ad
Introduce TypeParameterUpperBoundEraser to memorize results of type parameters erasion computation
...
^KT-47785 Fixed
2021-07-29 14:23:54 +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
Ivan Kochurkin
d4e1cded59
[FIR] Implement RESOLUTION_TO_CLASSIFIER
2021-07-28 23:18:38 +03:00
Ivan Kochurkin
2574dc907c
[FIR] Implement FUNCTION_EXPECTED
2021-07-28 23:17:31 +03:00
Ivan Kochurkin
263e40e753
[FIR] Implement NO_RECEIVER_ALLOWED
2021-07-28 22:52:06 +03:00
Andrey Zinovyev
d84cc4333c
[FIR] Add INITIALIZATION_BEFORE_DECLARATION diagnostic
2021-07-28 16:56:54 +03:00
Andrey Zinovyev
b706e776ad
[FIR] Add VARIABLE_WITH_NO_TYPE_NO_INITIALIZER diagnostic
2021-07-28 16:56:53 +03:00
Mikhail Glukhikh
84bd347841
Make EXPERIMENTAL_API_USAGE_ERR warning till 1.6 for signature type case
2021-07-27 14:58:56 +03:00
Mikhail Glukhikh
810def829c
Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning till 1.6
2021-07-27 14:58:55 +03:00
Ivan Kochurkin
173813f7cf
[FIR] Implement REIFIED_TYPE_FORBIDDEN_SUBSTITUTION
2021-07-26 21:13:25 +03:00