Nikolay Lunyak
7056ad5325
[FIR] Set status.isOverride for fake overrides
...
Even though SO may not be correct
overrides sometimes, it feels more
natural to treat fake overrides as...
well, "overrides". And without it
we'd need to make the code in
`FirOverrideChecker` less intuitive.
2024-02-15 16:10:13 +00:00
Jinseong Jeon
b0ad91a98c
SLC: create backing field for deprecated property
...
...since they still appear at JVM bytecode.
Also, ULC doesn't look at deprecated annotation for bail-out criteria.
^KT-65393 fixed
2024-02-11 01:41:44 +00:00
Jinseong Jeon
0533c73910
SLC: add tests about deprecated-hidden property/accessor
...
^KT-65393
^KTIJ-27244
2024-02-11 01:41:43 +00:00
Jinseong Jeon
43acc6516b
SLC: mangle internal accessors
...
...by honoring accessors' visibility
We need a special handling for backing field visibility,
e.g., lateinit, const, or JvmField, but that's not the case
for accessors' visibility.
^KT-64937 fixed
2024-01-23 21:55:09 +00:00
Dmitrii Gridin
44388ea15f
[SLC] generate correct name for property assessors in case of JvmRecord
...
^KT-62357 Fixed
2024-01-04 16:32:10 +00:00
Dmitrii Gridin
b463f1fdfa
[SLC] unmute tests on JvmRecord
...
^KT-62357
2024-01-04 16:32:10 +00:00
Dmitrii Gridin
af5f76048b
[SLC] AbstractSymbolLightClassesByPsiTest: add more stable order
...
Now more diff between sources and libraries are readable.
Also prefer .descriptors to .fir as FIR is a first-class support
^KT-62892
2024-01-03 21:35:12 +00:00
Dmitrii Gridin
6c7d1babf0
[Analysis API] support Java compilation in tests
...
Previously we just skipped Java sources.
The order of classes in light classes test data is changed due to
differences in implementations of `compileLibraryToJar` and `runJvmCompiler`
^KT-62892
2024-01-03 21:35:12 +00:00
strangepleasures
7c6375c85a
KT-63552 [SLC] Support empty arrays in property initializers and default parameter values
2023-11-21 13:20:26 +00:00
strangepleasures
03ed1d1d31
KT-62560 [SLC] Fix handling of empty varargs in annotations
2023-11-20 20:57:21 +00:00
Mikhail Glukhikh
f1a297279d
Fix Java LC test for LV 2.0 (see KT-60646)
2023-09-19 15:46:27 +00:00
Dmitrii Gridin
11d86992c5
[SLC] update test data for 2.0 version
...
* disable compiled tests for scripts because they are not supported yet
* fix test data
^KT-60590 Fixed
2023-09-19 15:46:27 +00:00
strangepleasures
cf01d2970f
[SLC] [KAPT] KT-61916 Fix generation of annotations in annotation arguments
2023-09-14 13:21:07 +00:00
Dmitrii Gridin
ecb808992d
[SLC] add more tests on vararg
...
^KT-61422
2023-09-11 15:47:47 +00:00
Jinseong Jeon
4cdc22c9cc
AA FIR: use fully expanded type when computing optimal type mapping mode
...
^KT-61460 Fixed
2023-09-05 10:33:53 +00:00
Dmitrii Gridin
2f8a64fff2
[AA FIR] fix exception from vararg parameter with invalid type
...
It is true that for vararg parameter `arrayElementType` always have to
be not null, but it required resolution to TYPES phase. But in case of
the error type, the type reference is treated as resolved, so we are not
obligatory to resolve such reference to TYPES, because we already have
the resolved type.
So we can make the rule of KtFirValueParameterSymbol#returnType less
strict, and varargElementType will effectively do the same as
lazy resolve + arrayElementType
^KT-61422 Fixed
2023-08-23 20:05:18 +02:00
Dmitrii Gridin
51cc799204
[SLC] fix flaky test
2023-08-21 20:46:25 +00:00
Ilya Chernikov
b1b1eab35b
K2 Scripting: fix testdata for scripts diagnostics tests
2023-07-05 19:46:04 +00:00
Jinseong Jeon
a93bc60655
AA: use simple name of local type as JVM internal name
...
Otherwise, e.g., if a local type is within an anonymous object, full
class id will include that anonymous object too, resulting in invalid
type signature for PsiType.
^KT-59533 Fixed
2023-06-28 18:38:01 +02:00
Jinseong Jeon
2d132c6b73
SLC: run enum test w/ FULL_JDK
2023-06-23 16:19:06 +02:00
Jinseong Jeon
7f1424737e
LC: rework modality of enum class
...
It is abstract if it has abstract member.
It is final if it doesn't have enum entries that need subclass.
Otherwise, it is open (i.e., no modifier)
^KT-57567 Fixed
2023-06-23 16:19:06 +02:00
Jinseong Jeon
5d7ac18778
SLC: drop the assertion that class context shouldn't be null
...
...because it can be null if an anonymous object is returned as a value
of reified inline function, which isn't materialized as LC element.
^KT-59537 Fixed
2023-06-23 10:33:58 +00:00
Pavel Mikhailovskii
9f763deea1
KT-59325 [SLC] Fix generation of fields from companion objects
2023-06-22 14:48:12 +00:00
Pavel Mikhailovskii
134b02c754
KT-59563 [SLC] Fix type erasure in $annotations methods of extension properties
2023-06-22 09:06:12 +00:00
Pavel Mikhailovskii
79dbacb621
[SLC] Keep default constructor parameters' values
2023-06-20 11:00:18 +00:00
Pavel Mikhailovskii
46844100d5
Fix visibility of $annotations methods
2023-06-12 12:59:53 +00:00
Pavel Mikhailovskii
0ef31501b1
[SLC] KT-54804 Erase type and drop receiver annotations in $annotations methods
2023-06-01 18:22:03 +00:00
Pavel Mikhailovskii
7ac5233a32
KT-54804 [SLC] Generate synthetic functions for annotations on properties in light classes
2023-05-12 09:39:37 +00:00
Pavel Mikhailovskii
25c0725da9
[SLC] Treat error class types as not-nullable
2023-05-11 11:48:45 +00:00
Jinseong Jeon
f9086daf4d
SLC: add support for .kts
...
^KTIJ-21108
^KT-50241
^KT-55626 Fixed
2023-04-25 14:49:03 +02:00
Mikhail Glukhikh
1f05ce2e01
AA/LC: Support annotation property->backing field move
...
#KT-57462 Fixed
2023-04-25 12:18:27 +00:00
Pavel Mikhailovskii
37ed7beda0
KT-57135 Take into account annotations' allowed targets
...
- Check allowed targets
- Attach field annotations to the backing field
2023-04-25 12:18:26 +00:00
Dmitrii Gridin
0ccae0d4c6
[SLC] unmute some tests
2023-04-24 11:42:06 +00:00
Jinseong Jeon
8544081c46
SLC: enable enum test case
2023-04-24 11:42:06 +00:00
Jinseong Jeon
0ca86c86be
SLC: add nullability annotation to value param of non-synthetic enum members
...
^KT-57567
2023-04-19 16:14:23 +02:00
Jinseong Jeon
9fe30bfc12
SLC: regression test for final modifier on enum members
...
^KT-57567
2023-04-19 16:14:23 +02:00
Jinseong Jeon
ed4cc99db3
FIR: use symbol modality to ensure the retrieval of lazily resolved status
...
^KT-57578
2023-04-17 10:59:04 +02:00
Jinseong Jeon
5403cc7feb
SLC: fix type mapping mode for var
...
^KT-57578
2023-04-17 10:59:03 +02:00
Jinseong Jeon
3c982cfaa3
SLC: mangle internal setter name
2023-03-31 12:21:16 +00:00
Jinseong Jeon
91925b947d
SLC: fix visibility of lateinit var
...
^KT-57569 Fixed
2023-03-31 12:21:15 +00:00
Jinseong Jeon
d8902816d0
SLC: fix non-last vararg parameter type
...
^KT-57547 Fixed
2023-03-30 12:07:01 +00:00
Pavel Mikhailovskii
85b5a4521e
KT-56843 [SLC] Support unsafe property initializers
2023-03-28 08:17:37 +00:00
Pavel Mikhailovskii
0f589dac34
KT-56833 [SLC] Mark accessors of lateinit properties with @NotNull
2023-03-14 12:45:57 +00:00
Pavel Mikhailovskii
d9f023db89
KT-56845 [SLC] Add @Override to overridden property accessors
2023-03-10 10:32:48 +00:00
Pavel Mikhailovskii
a6e1826bbc
Reimplement the fix for KtSuperTypeList.findEntry
2023-03-03 15:38:12 +00:00
Dmitrii Gridin
8c757e36ea
[SLC] provide correct parent for annotations on type
...
The first step of KT-56870
^KT-56613
^KT-56870
2023-03-01 10:43:00 +00:00
Kirill Rakhman
eee66ab43f
[FIR] Remove duplicate annotations from primary ctor params/properties
...
If an annotation doesn't specify an explicit use-site target,
previously it was added to both, the primary constructor value parameter
and the property in the FIR. Then, in FIR2IR, only the "correct" one was
added to the IR. Move up the deduplication logic into the frontend.
^KT-56177 Fixed
2023-02-28 10:19:17 +00:00
Pavel Mikhailovskii
7700484a16
[AA] Fix conversion of annotation values
2023-02-22 13:55:50 +00:00
Pavel Mikhailovskii
492a161d2c
KT-56842 [SLC] Don't mark primitive context receiver parameters with @NotNull
2023-02-22 10:15:19 +00:00
Pavel Mikhailovskii
de1927abb6
KT-56835 [SLC] Mark property$delegate fields as final and @NotNull
2023-02-22 09:40:32 +00:00