Mikhael Bogdanov
2258e26799
Fix INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER diagnostic in IDE
2021-11-01 13:30:58 +01:00
Mikhael Bogdanov
00d344d92a
Update INTERFACE_CANT_CALL_DEFAULT_METHOD_VIA_SUPER message
2021-11-01 13:30:57 +01:00
Mikhael Bogdanov
afc149d460
JvmDefault. Allow non default inheritance with special flag
...
#KT-47000
2021-11-01 13:30:57 +01:00
zhelenskiy
ea10b4a781
Synchronizing by values and primitives is forbidden
...
Signed-off-by: zhelenskiy <zhelenskiy2000@yandex.ru >
2021-10-29 18:50:30 +02:00
Ilya Chernikov
fc176e9845
Refactor IR reporting and infrastructure
2021-10-27 22:17:41 +02:00
Ilya Chernikov
1e056a7aa8
Report IR errors via new diagnostic infrastructure
2021-10-27 22:17:40 +02:00
Victor Petukhov
d015d3bc0e
Don't enhance previously erased value parameters for jspecify strict mode
...
^KT-48261 Fixed
2021-10-26 19:37:55 +03:00
Denis.Zharkov
0bdea4f20a
FIR: Do not create incorrect synthetic property
2021-10-26 18:45:59 +03:00
Denis.Zharkov
fe1b4d61c2
Move some property convention helpers to compiler.common.jvm
...
Since it will be used in FIR, too
2021-10-26 18:45:58 +03:00
Mikhail Glukhikh
994c51c3e9
Fix/add message for SUBCLASS_CANT_CALL_COMPANION_PROTECTED_NON_STATIC
...
#KT-44975 Fixed
2021-10-26 13:38:32 +03:00
Aleksei.Cherepanov
276fb77155
Fix incremental build after changing Java const used as class property
...
Report Java static final constant with InlineConstantTracker, used as class property in Kotlin for further registration in JPS
#KT-49177 Fixed
2021-10-20 15:06:19 +03:00
Victor Petukhov
b957831683
Use WarningAwareUpperBoundChecker independently
...
^KT-47920 Fixed
^KT-48290 Fixed
2021-09-30 20:08:58 +03:00
Denis.Zharkov
4733a0d970
Refine naming: *TypeVariable -> *TypeParameter
2021-09-30 14:36:27 +03:00
Denis.Zharkov
f7ef551f99
Report warnings on overrides with wrong types nullability
...
^KT-48899 Fixed
2021-09-30 14:36:26 +03:00
Victor Petukhov
ee728b6902
Use the new type inference for top-level callable reference resolution
...
^KT-47797 Fixed
^KT-47987 Fixed
^KT-45034 Fixed
^KT-48446 Fixed
^KT-13934 Fixed
2021-09-27 16:12:27 +03:00
Victor Petukhov
a264cbfe7d
Move CallUtil.kt under the resolve.util package
2021-09-27 16:12:01 +03:00
Victor Petukhov
1635bcad10
Move CallResolverUtil.kt under the resolve.util package
2021-09-27 16:12:00 +03:00
Vyacheslav Gerasimov
ab146bd6d4
Build: Fix deprecated Gradle configurations usages
...
for migration to Gradle 7+ #KTI-559
2021-09-26 18:28:44 +03:00
Denis.Zharkov
38fa900e56
FIR: Optimize case with no annotations on package
2021-09-23 16:58:26 +03:00
pyos
3a80cb1808
FIR: hide construction of JavaSymbolProvider
2021-09-14 19:00:45 +03:00
Ilya Kirillov
a8d321db63
FIR IDE: do not use FE1.0 compiler jars in frontend-independent-modules
2021-09-14 14:45:43 +02:00
Ivan Kochurkin
8cdb79f969
Move JvmNames, JvmFieldApplicabilityProblem to common.jvm module
2021-09-10 00:49:10 +03:00
Ivan Kochurkin
6fa1c0353c
Use deprecation type for some REPEATABLE_* diagnostics
2021-09-10 00:49:06 +03:00
Ivan Kochurkin
2baed77598
[FIR] Add JVM_SYNTHETIC_ON_DELEGATE diagnostic
...
Extract JVM names to common JvmNames
2021-09-10 00:49:03 +03:00
Ivan Kochurkin
e3805c9b98
Extract JvmNames, JvmFieldApplicabilityProblem to compiler.common
2021-09-10 00:49:01 +03:00
Dmitriy Novozhilov
0260bf8767
[FE] Move diagnostic parameter renderers to common module
2021-09-09 17:20:20 +03:00
Dmitriy Novozhilov
850ca1916f
[FE] Commonize positioning strategies and move them to :frontend-psi module
2021-09-09 17:20:17 +03:00
pyos
090b90f62e
FIR: load type qualifiers from module, package, and parent classes
2021-09-06 13:11:13 +03:00
Dmitriy Novozhilov
d46e2dd749
Fix OVERRIDE_DEPRECATION warnings in project code
2021-09-02 15:04:07 +03:00
Dmitriy Novozhilov
69c3831865
Rename Deprecation to DeprecationInfo
2021-09-02 15:04:07 +03:00
Ilmir Usmanov
92fac304e7
Forbid @Synchronized annotation on suspend functions
...
and lambdas. With warning for now.
#KT-27333
2021-08-30 13:47:34 +02:00
Ilmir Usmanov
1f8dd45c2b
Remove experimental coroutines support. Part 2
2021-08-30 14:21:57 +03:00
Dmitriy Novozhilov
7e6e0a3dd6
Remove all type system-specific inheritors of TypeCheckerState
2021-08-26 10:08:51 +03:00
Dmitriy Novozhilov
8b5548df49
Rename AbstractTypeCheckerContext to TypeCheckerState
2021-08-26 10:08:51 +03:00
Mikhail Glukhikh
255eb87375
Provide more clear API around AnnotationChecker.applicableTargetSet
2021-08-23 14:18:38 +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
Dmitriy Novozhilov
d17f984edf
[FE 1.0] Migrate most of warning/error pairs to DiagnosticFactoryForDeprecation
2021-08-03 00:17:33 +03:00
Alexander Udalov
847c58d574
Report error on class named Container inside repeatable annotation
...
#KT-12794
#KT-47971
2021-07-30 19:53:44 +02:00
Alexander Udalov
e20b354dbd
Check repeatable annotation container parameters, retention, target
...
#KT-12794
#KT-47928
2021-07-30 19:53:33 +02:00
Alexander Udalov
67128c022a
Report error if both repeatable annotation and its container are used
...
#KT-12794
2021-07-30 19:53:32 +02:00
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
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
Mikhail Glukhikh
810def829c
Make EXPERIMENTAL_ANNOTATION_ON_OVERRIDE warning till 1.6
2021-07-27 14:58:55 +03:00
Alexander Udalov
50f7594d9e
Minor, move RepeatableAnnotationChecker to separate file
2021-07-26 14:33:31 +02:00
Alexander Udalov
9ebd665c96
Report error on annotated type inside typeOf on JVM
...
Since it's not feasible to support annotated types in 1.6, we're making
this an explicit error in 1.6, so that typeOf can become stable and this
feature can be supported in the future without breaking changes to the
existing code.
Note that extension function types are a special case of annotated
types. A separate error is created for them just because the message
"annotated types are not supported" would be confusing, since such types
don't have explicit annotations in the source code.
#KT-29919
2021-07-22 15:54:48 +02:00
pyos
f5dd5ead1f
JVM: produce a better error on @JvmStatic external in interface
...
Java does not permit `static native` methods in interfaces, so this
never worked on any existing JRE.
#KT-43696 Fixed
2021-07-16 15:24:09 +02:00
Alexander Udalov
02774fae0c
Report error on non-reified type parameter with recursive bound in typeOf
...
Instead of throwing an exception.
#KT-40173
2021-07-09 14:31:52 +02:00
Alexander Udalov
438ce57183
Report error on typeOf<suspend ...>()
...
Otherwise an invalid type is constructed which causes kotlin-reflect to
crash, and stdlib implementation to render the type incorrectly. The
reason is that suspend functional types are not properly supported in
reflection. Once they are supported, this error can be removed.
#KT-47562
2021-07-09 14:31:52 +02:00