Nikita Bobko
70ed76e0bd
Drop unused ':dist' dependency in some tests
...
Review: https://jetbrains.team/p/kt/reviews/6753
This commit doesn't fix any issue except for "cleanup". If you find a
mistake in this commit feel free to revert part of it/the whole commit
I checked every module where I drop ':dist' dependency. Tests still pass
in those modules
2022-08-22 15:42:34 +02:00
Jinseong Jeon
25f7554a31
AA FIR: constant evaluation for Java field
2022-08-20 00:50:09 +02:00
Dmitriy Novozhilov
4db579e128
[FIR2IR] Add enum entries to Fir2IrLazyClass for enums
2022-08-19 14:42:29 +00:00
Mikhail Glukhikh
b78106e437
Don't report INFERRED_..._INTO_EMPTY_INTERSECTION with explicit arguments
2022-08-19 14:01:38 +00:00
Mikhail Glukhikh
a6b90fcb8e
Add a test with false positive "inferred into empty intersection"
...
Related to KT-50232
2022-08-19 14:01:37 +00:00
Mikhail Glukhikh
d3648bce0c
Run LoadJava.CompiledKotlin test group with stdlib if some enum is inside
...
This commit makes compiler tests working similarly to ResolveByStub IDE tests.
2022-08-19 10:08:11 +00:00
Mikhail Glukhikh
fb1c80a7c9
K2: discriminate synthetic 'Enum.entries' during resolve
2022-08-19 10:08:11 +00:00
Mikhail Glukhikh
68ca453467
K2: don't report REDECLARATION on Enum.entries
2022-08-19 10:08:10 +00:00
Mikhail Glukhikh
730de8fd7c
K1/K2: add test for enum class with 'entries' entry
2022-08-19 10:08:09 +00:00
Mikhail Glukhikh
8a4105e542
IR: fix origin of default getter of Enum.entries synthetic property
2022-08-19 10:08:08 +00:00
Dmitriy Novozhilov
bb38690273
[FIR] Introduce FirAssignExpressionAltererExtension
...
This extension can be used to override resolution of assign statements
with custom statement
2022-08-19 07:44:09 +00:00
Dmitriy Novozhilov
42b1621b4b
Reformat coneDiagnosticToFirDiagnostic.kt
2022-08-19 07:44:09 +00:00
Arseniy Terekhov
539e5f82e2
[FIR] DeprecationProvider: inline builder, fix named arguments, cosmetic
2022-08-19 07:37:55 +00:00
Arseniy Terekhov
a80870bc8f
[FIR] DeprecationsProvider: caching results
2022-08-19 07:37:54 +00:00
Arseniy Terekhov
25fc948d95
[FIR] DeprecationsProvider: make evaluation of deprecations on demand
2022-08-19 07:37:54 +00:00
Ivan Kylchik
4e740e91f2
Safely unfold callable reference instruction in interpreter
...
There was an assumption that if receiver exists then parameter will
also exist. This is not true for references marked with `JvmStatic`.
Later in `JvmStaticInObjectLowering` dispatch receiver may be dropped.
2022-08-18 16:50:05 +00:00
Pavel Kunyavskiy
5034581788
[K/N] Fix references for inline function
...
Corresponding lowering creating wrappers from JS Backend was used.
Also, the lowering was changed to create local function, instead of
normal one in outer scope, as a lot of logic from local declarations
lowering should be duplicated otherwise for correct type parameters
handling.
^KT-38535
2022-08-18 13:23:10 +00:00
Mikhail Glukhikh
b4a92e8a56
Undeprecate @BuilderInference annotation #KT-52400 Declined
2022-08-17 14:07:13 +00:00
Leonid Startsev
6893e210fb
[K2] Remove typeWithStarProjections in favor of constructStarProjectedType
2022-08-17 11:43:40 +00:00
Leonid Startsev
638665d9b0
Refactor typeWithStarProjections() so it uses FirClassSymbol instead of FirClass
...
It removes necessity to access .fir in plugins
2022-08-17 11:43:40 +00:00
Leonid Startsev
89329a0e1b
Introduce @FirIncompatiblePluginApi
2022-08-17 11:43:35 +00:00
Leonid Startsev
467ff30aac
Support full pipeline for basic kotlinx.serialization case:
...
FIR frontend and IR backend plugins.
Note: IR plugin is now broken for old FE, fixed in subsequent commits
2022-08-17 11:43:34 +00:00
Leonid Startsev
cefc372632
Remove BindingContext, KotlinType and *Descriptor from IR plugin dependencies
2022-08-17 11:43:34 +00:00
Leonid Startsev
6f6342dafc
Prototype of kotlinx.serialization FIR plugin:
...
Implement basic non-parameterized case
2022-08-17 11:43:33 +00:00
Iven Krall
ec8da2033c
KT-8263: Conditional operators are not parsed correctly
2022-08-16 10:00:54 +00:00
Iven Krall
2053363def
KT-35811: Type parameter angle brackets followed by equal sign are parsed incorrectly if whitespace is missing
2022-08-16 10:00:53 +00:00
Simon Ogorodnik
513af2dfbc
FIR. Refactor smart-cast representation in FIR tree
...
Make smart-casts non-transparent expression without delegation
to underlying FirQualifiedAccessExpression, as children delegation in
fir tree has unclear semantics
Remove two different kinds of tree nodes for smart-casts
2022-08-15 21:46:11 +00:00
Abduqodiri Qurbonzoda
de775ad728
Remove unsignedIntCompare_before.kt test data
2022-08-13 01:33:47 +03:00
Mikhail Glukhikh
2ba22b9165
FIR2IR: don't create Enum.entries in IR without the corresponding feature
2022-08-12 09:35:28 +00:00
Mikhail Glukhikh
3079be75d4
K2: don't filter Enum.entries depending on language settings
2022-08-12 09:35:28 +00:00
Mikhail Glukhikh
7333589663
K1/K2: add Enum.entries unconditionally and filter them out in tower
...
Before this commit, we added Enum.entries only in case when
LanguageFeature.EnumEntries was ON (with an exception in K1/Java case).
In this commit we add Enum.entries unconditionally, and in case
the language feature is OFF we filter them out during tower resolve.
2022-08-12 09:35:27 +00:00
Vsevolod Tolstopyatov
2fcef7af89
[FIR] Fix IrInlineBodiesHandler
...
Validate that inline function actually is present in at least on of the
modules, not in all of them. That enables support of MODULE directive
in boxInline tests for FIR.
Also, hide a few minor style fixes in this commit
2022-08-12 09:35:26 +00:00
Vsevolod Tolstopyatov
c0f81cbc45
[JVM] Improve code coverage of EntriesMapping
...
Ensure that when .entries is accessed from an inline function body
or lambda argument, EntriesMapping are properly generated and used
without excessive mappings and duplicated fields
#KT-53236
2022-08-12 09:35:24 +00:00
Vsevolod Tolstopyatov
8a181cf2bd
[FIR] Create stub language settings for FIR-related test to keep relying on it
...
#KT-48872
2022-08-12 09:35:23 +00:00
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
a12a31ce68
[JVM] Lower .entries calls on Java enums
...
#KT-53236
2022-08-12 09:35:21 +00:00
Vsevolod Tolstopyatov
e708809e55
[JVM] Support Enum.entries for enums being compiled with Kotlin 1.8+
...
#KT-53236
2022-08-12 09:35:20 +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
Ivan Kylchik
45b89de9f4
Optimize ir interpretation of Enum.name
...
There is no need to create honest object in case of such simple
calculation. Furthermore, it can be harmful if enum class has
non-constant initializer or property.
#KT-53480 Fixed
2022-08-11 18:55:30 +03:00
Mikhail Glukhikh
81e1131441
SubclassOptInRequired: add extra test about inheritance and superseding
2022-08-11 14:05:09 +00:00
Mikhail Glukhikh
80a9f22052
Add applicability checks & tests for SubclassOptInRequired
2022-08-11 14:05:09 +00:00
Mikhail Glukhikh
7d3368da58
K2: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:08 +00:00
Mikhail Glukhikh
c67c5cad27
K1: report errors related to SubClassOptInRequired annotation
...
Related to KT-41886
2022-08-11 14:05:07 +00:00
Dmitriy Novozhilov
fd4aafdb75
[Lombok K2] Support @Builder and @Singular annotations
...
^KT-46959 Fixed
2022-08-11 15:22:36 +03:00
Pavel Mikhailovskii
8ba80b4b7b
KT-1436 Allow break/continue in inlined lambdas
2022-08-11 10:38:23 +00:00
Ilya Kirillov
531236ce16
[FIR] generate testdata for RawFirBuilderLazyBodiesTestCase for newly added tests
2022-08-10 22:49:23 +02:00
Ilya Kirillov
da9cf1468c
[FIR] add KDoc to lazy resolution functions
2022-08-10 22:49:19 +02:00
Ilya Kirillov
0748f28efe
[FIR] rename ensureResolve -> lazyResolveToPhase as it better describes function semantics
2022-08-10 22:49:18 +02:00
Ilya Kirillov
28b159ef85
[LL FIR] fix lazy resolve of accessors with implicit types
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:17 +02:00
Ilya Kirillov
97853016d5
[LL FIR] fix lazy resolve of accessors generated by delegation
...
Before the change, such accessors would have implicit types event if the corresponding property had a resolved one
2022-08-10 22:49:16 +02:00