Vsevolod Tolstopyatov
e3bff290bd
[JVM] Lower .entries calls on Kotlin enums
...
Leveraging the same mechanism with $EntriesMapping as Java enums.
Old (compiled with LV/AV < 1.8) enums are detected by looking for
static special <get-entries> method that cannot be introduced on
Kotlin enums otherwise
#KT-53236
2022-08-12 09:35:22 +00:00
Vsevolod Tolstopyatov
93f17a2b86
[FIR] Support static getters along with fake Enum.entries declaration in FIR
...
#KT-48872
2022-08-12 09:35:18 +00:00
Mikhail Glukhikh
c67c5cad27
K1: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:07 +00:00
Mikhail Glukhikh
3f96626b40
Introduce SubclassOptInRequired annotation (see KT-41886)
2022-08-11 14:05:06 +00:00
Dmitry Gridin
4ceb170917
regenerate tests
2022-08-05 14:12:41 +02:00
Victor Petukhov
8227c4b603
[FE 1.0] Use the new type intersection emptiness check
...
Also introduced compatibility mode to preserve compatibility for is/as/equality checks
^KT-29316 Related
2022-08-02 10:29:37 +00:00
Pavel Mikhailovskii
c3c09aa95a
KT-4107 Data objects
2022-06-28 16:58:20 +02:00
Ivan Kochurkin
b573532d8c
Introduce COMPONENT_FUNCTION_NAME_PREFIX constant
2022-06-17 23:26:15 +00:00
Dmitriy Novozhilov
83d0a3e7a3
[FIR] Extract FirPluginKey into :core:compiler.common and rename it to GeneratedDeclarationKey
...
This is needed to avoid dependency on :compiler:fir:fir2ir module in
backend parts of compiler plugins. It will allow to publish those
parts into jars for IDE, where they are needed for working of debugger
and bytecode toolwindow
2022-06-07 14:12:25 +00:00
Mikhail Glukhikh
8fefa8a57b
Restore Experimentality data class for IDE compatibility
2022-06-02 15:36:58 +00:00
Mikhail Glukhikh
8baff4404d
Partial rename of 'Experimentality' around K1 checkers
2022-06-02 15:36:56 +00:00
Mikhail Glukhikh
eaa77b5af6
[FIR JS] Generate dynamic FIRs via DynamicScope
2022-06-02 13:47:26 +00:00
Roman Golyshev
e72f8f829a
[FIR] More special names unification
2022-06-01 11:56:39 +00:00
Roman Golyshev
01ce499bb2
[FIR] Unify some special names to make code more uniform
2022-06-01 00:11:17 +04:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Victor Petukhov
0b25ce4de9
[FE] Support resolve of until operator to rangeUntil
...
^KT-52420 Fixed
2022-05-31 08:42:55 +00:00
Victor Petukhov
867ad24c86
[FE] Show causing types in the INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION diagnostic
2022-05-27 15:14:24 +00:00
Victor Petukhov
6a34b184ac
[FE] Introduce warnings on possible empty intersection types, and improve errors reporting in general
...
^KT-52361 Fixed
2022-05-27 15:14:23 +00:00
Victor Petukhov
9a3b5e547b
[FE] Add fast-paths for some types which are checked for intersection emptiness
2022-05-27 15:14:22 +00:00
Yahor Berdnikau
af6f17c243
Unify kotlinCompilerClasspath for all projects
...
This will prevent spawning second Kotlin daemon during compilation
except 'buildSrc' compilation. Original change was introduced in
2e515f3945 commit.
2022-05-24 07:58:38 +00:00
Dmitriy Novozhilov
d66748d011
[FIR] Extract expect actual matching into separate phase
2022-05-20 13:33:04 +00:00
Dmitriy Novozhilov
de842817e8
[FE] Move ExpectActualCompatibility to :core:compiler.common module
2022-05-20 13:33:03 +00:00
Denis.Zharkov
c018270462
Support DNN types in approximator
...
Mostly, it's relevant to FIR since there we started loading
type parameter based types as (T & Any..T?)
2022-05-19 16:54:06 +00:00
Denis.Zharkov
f70ae2df3a
FIR: Refine inference constraints when type variable in flexible position
...
That issue might be fixed via changing
TypeVariableMarker.shouldBeFlexible at ConeConstraintSystemUtilContext
but this and some other tricks have been added because of incorrect
handling of constraints where type variable has a flexible bound
^KT-51168 Fixed
2022-05-19 16:53:59 +00:00
Victor Petukhov
11eb5ce39c
[FE] Check types in canHaveCommonSubtype for intersection emptiness with erasing nullability
...
It doesn't affect having common subtypes check but may lead to false positives
^KT-52364 Fixed
2022-05-12 15:11:27 +00:00
Victor Petukhov
ba158de848
[FE] Use errorTypesEqualToAnything and stubTypesEqualToAnything for type checker context which is used for type intersection emptiness check
2022-05-12 15:11:27 +00:00
Victor Petukhov
ec6ec20728
[FE 1.0] Fix subtyping for captured integer literal types
...
^KT-50877 Fixed
2022-05-09 19:23:42 +00:00
Victor Petukhov
73be9d0a20
[FE] Don't check intersection emptiness if there were lower constraints
2022-04-27 19:50:30 +00:00
Victor Petukhov
20a8e5d742
[FE] Determine intersection type emptiness by looking at supertypes properly: substitute their type arguments
2022-04-27 19:50:29 +00:00
Victor Petukhov
fb76d819f0
[FE] Erase type parameters of super types during intersection type emptiness check as well
2022-04-27 19:50:27 +00:00
Victor Petukhov
39d13442be
[FE] Support intersection type emptiness checking for interfaces
2022-04-27 19:50:25 +00:00
Victor Petukhov
e0a1f1c405
[FE] Review fixes
2022-04-27 19:50:24 +00:00
Victor Petukhov
47d6236a2d
[FIR] Support determining emptiness of an intersection type with type parameters' types
2022-04-27 19:50:23 +00:00
Victor Petukhov
5bfe6cd20a
[FE] Implement discussed rules to report empty intersection errors
2022-04-27 19:50:22 +00:00
Victor Petukhov
b96708c3e2
[FE] Support reporting INFERRED_TYPE_VARIABLE_INTO_EMPTY_INTERSECTION for empty intersection types with type parameters
2022-04-27 19:50:21 +00:00
Victor Petukhov
9e9e0211eb
[FE] Check if type variable is fixed into an empty intersection type and report resolution warnings/errors if needed (completion stage)
...
^KT-51221 Fixed
2022-04-27 19:50:18 +00:00
Alexander Udalov
2e515f3945
Prohibit JVM target 1.6
...
But still compile stdlib, reflect, kotlin.test and scripting runtimes
with JVM target 1.6 to simplify migration from Kotlin 1.6 to 1.7.
#KT-45165 Fixed
2022-04-19 22:54:40 +02:00
Aleksei.Cherepanov
3d8f140d6b
[JPS] Fix incremental build after changing Java enum used in Kotlin when
...
EnumWhenTracker implemented for tracking changed java enum class items, that used in kotlin when expression.
#KT-47824 Fixed
2022-04-19 18:39:41 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Mikhail Glukhikh
9bd6a9c069
FIR: handle 'SinceKotlin' as a special kind of deprecated
...
#KT-51850 Fixed
2022-04-06 12:51:20 +00:00
Evgeniy.Zhelenskiy
b6f2513dd2
[FIR] Introduce valueClassRepresentation to FIR
...
#KT-1179
2022-03-24 11:38:44 +00:00
Evgeniy.Zhelenskiy
28bf83ceac
[IR] Unite inline class and multi-field value class representation
...
#KT-1179
2022-03-24 11:38:43 +00:00
Evgeniy.Zhelenskiy
282ab398c6
[IR] Generify lowerings
...
#KT-1179
2022-03-24 11:38:42 +00:00
Victor Petukhov
b5933c70e2
[FE 1.0] Refactor error utils: split error entities and introduce error type and error scope kinds
2022-03-23 21:13:33 +00:00
Mikhail Glukhikh
5810ac01d2
FE1.0/FIR: slightly fix diagnostic messages about OptIn
2022-03-15 13:08:19 +00:00
Mikhail Glukhikh
779aa75855
Make FE1.0/FIR OptIn override message more clear
2022-03-10 09:09:51 +00:00
Mikhail Glukhikh
d823020c07
Make FIR/FE1.0 report similar OptIn messages
2022-03-10 09:09:50 +00:00
Vladimir Dolzhenko
4de9de5fc5
Escape special Name used as parameter, custom function names etc
...
#EA-209929
#KT-51248 Fixed
2022-02-10 21:20:47 +00:00
Ivan Kochurkin
17c64cf955
[FIR] Add INV to UNARY_OPERATION_NAMES, ^KT-50998 Fixed
2022-02-07 17:22:02 +03:00
Dmitriy Novozhilov
52b72a7dac
[FIR] Implement Int -> Long conversions for literals and operators over them
...
^KT-38895
^KT-50996 Fixed
^KT-51000 Fixed
^KT-51003 Fixed
^KT-51018 Fixed
2022-02-07 13:36:36 +03:00