Dmitrii Gridin
40c64c672d
[FIR] FirRenderer: render receiver annotation
...
^KT-54417
2022-11-17 09:50:16 +00:00
Dmitrii Gridin
6b41d8c1e4
[AA] FirLoadCompiledKotlinGenerated: update testData
...
^KT-54417
2022-11-17 09:50:11 +00:00
pyos
a968193349
K2: fix logic for supertypes annotation deserialization
2022-11-10 22:12:34 +00:00
Nikolay Lunyak
dd861515ad
[FIR] KT-52157: Fix missing type parameter annotations
2022-10-20 13:08:11 +00:00
Simon Ogorodnik
8bdb8ba232
K2: Fix type-alias expansion during suspend function type serialization
...
When suspend function type is serialized, there is special logic that
adds Continuation parameter, before doing so, type-aliases has to be
expanded, attributes for resulting type should also derive from
expanded type
KT-53193, KT-54062
2022-09-16 20:42:03 +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
Mikhail Glukhikh
38f4a35be2
FIR: introduce flexible types pretty rendering for no arguments case
...
#KT-52020 Fixed
2022-06-29 16:50:05 +00:00
Alexander Udalov
08f18c2940
Fix metadata deserialization for context receivers with type table
...
In DeserializedClassDescriptor and MemberDeserializer, only the
`contextReceiverTypeList` field was used, and not
`contextReceiverTypeIdList` which is used when `-Xuse-type-table` is
enabled. The convention is to use a bunch of utilities declared in
`protoTypeTableUtil.kt` which deal with both methods of reading types.
Also, simplify the deserialization code in FIR (which was correct for
some reason).
2022-06-15 16:45:30 +02:00
Mikhail Glukhikh
b76e61cbc5
FIR: set dispatch receiver type to constructor in deserialization
2021-10-20 12:17:03 +03:00
Denis.Zharkov
62bef48f9d
Adjust test data to changed rendering: T!! -> T & Any
...
^KT-26245 In Progress
2021-08-31 15:41:15 +03:00
Dmitriy Novozhilov
1324e9223f
[FIR] Make FirDeclaration an abstract class
2021-06-29 21:03:28 +03:00
Mark Punzalan
578fcf2ebf
FIR: Render fun status flag in FirRenderer.
2021-06-21 18:45:38 +03:00
Mikhail Glukhikh
c33608e009
FIR: don't render resolved type annotations in favor of attributes
2021-06-09 15:42:43 +03:00
Mark Punzalan
9cf5ac1fbd
FIR: Render "?" on nullable function types.
2021-04-26 15:11:37 +03:00
Dmitriy Novozhilov
aec13defc4
[Test] Add proper annotation target in SupertypesAndBounds test
2021-04-14 18:30:55 +03:00
Ting-Yuan Huang
6c989bfd4b
Support array of annotation in KotlinJvmBinaryClass
...
KotlinJvmBinaryClass.AnnotationArrayArgumentVisitor didn't cover the
case when the element type is an Annotation. Therefore, when the
compiler read an array of annotations from JVM binary classes built from
Kotlin sources, it got an empty array regardless of what was written in
the bytecode.
For example, Foo.value below is read as an empty array when SomeClass
resides in another Kotlin module.
@Foo(
value = [Bar(1), Bar(2)]
)
class SomeClass
2021-04-14 13:14:26 +02:00
Denis.Zharkov
30eb9ad32f
Add serialization/deserialization of definitely-not-null types
...
^KT-26245 In Progress
2021-04-09 13:06:31 +03:00
Denis.Zharkov
6ca6bb2d45
Load configuration for FirLoadCompiledKotlin
2021-04-09 13:06:29 +03:00
Dmitriy Novozhilov
dceb8b2991
[FIR] Don't render ! at the end of ConeFlexibleType
2021-03-11 13:10:05 +03:00
Dmitriy Novozhilov
a7e6667648
[FIR] Properly deserialize annotations of properties in interfaces
2021-03-02 19:11:24 +03:00
Dmitriy Novozhilov
2d5b685535
[FIR] Fix processing constructors of sealed classes
...
- Allow declaring protected constructors in sealed classes
- Make default visibility of sealed class constructor `protected`
KT-44861
KT-44865
2021-02-12 13:36:41 +03:00
Dmitriy Novozhilov
ee1aff1012
[Test] Update different testdata according to changes in sealed classes
2021-01-28 13:19:29 +03:00
Ilmir Usmanov
129de76288
Value classes: Generate @JvmInline annotation for inline classes
...
but not for value classes.
Since inline classes and value classes share the same flag, we use
presence of the annotation to distinguish them.
2020-12-01 23:45:47 +01:00
pyos
1cccf2645f
FIR: serialize HAS_CONSTANT at least for const properties
...
Non-const properties may need them too with if the 1.4 feature
NoConstantValueAttributeForNonConstVals is disabled.
2020-11-30 13:05:28 +03:00
Dmitriy Novozhilov
a666eee67b
[FIR] Properly deserialize annotations on typealias and underlying type
2020-09-17 17:23:26 +03:00
Jinseong Jeon
e8157a5488
FIR: introduce & use various comparators to sort members while de/serialization
...
#KT-41018 fixed
2020-09-03 13:55:52 +03:00
Dmitriy Novozhilov
913ea9b56d
[FIR-TEST] Get rid of deprecated methods usage in AbstractFirLoadCompiledKotlin
...
Now complied declaration names are collected via ModuleDescriptor,
so tests pass more correctly. Before this change tests didn't render
compiled typealiases and properties.
Also some testdata was changed because of new order of declaration
2020-08-21 15:27:54 +03:00
Nick
7145caca40
[FIR] Refactor effective visibility calculation
...
Before this commit, we had effective visibility as a part of FIR status,
so it was integrated into the full pipeline. In this commit,
we introduced "effective visibility as a service" which is now used
only by exposed visibility checker. This allows us to make the thing
universal for all FIR nodes, including nodes for Java / deserialized.
2020-07-31 19:27:58 +03:00
Jinseong Jeon
c7a37eb6b2
FIR deserializer: load annotations on extension receiver parameters
2020-07-16 10:42:51 +03:00
Jinseong Jeon
a18bd1bb75
FIR deserializer: use annotation info from enclosing class for companion object
2020-07-07 11:43:51 +03:00
Jinseong Jeon
81345bcc26
FIR deserializer: load annotations on inner classes
2020-07-07 11:43:51 +03:00
Jinseong Jeon
c9e423bf64
FIR deserializer: fix parameter shift for constructor of inner classes and enums
...
#KT-39837 Fixed
2020-07-02 13:34:39 +03:00
Jinseong Jeon
34174d6e7d
FIR deserializer: load annotations for property and fields, along with use-site targets
2020-06-30 17:28:22 +03:00
Jinseong Jeon
fab9ee47f9
FIR deserializer: proper annotation loading for value parameter of property setter
2020-06-30 11:01:03 +03:00
Dmitriy Novozhilov
7834284bec
[FIR] Support deserialization of value parameter annotations
...
There are still some problems, see KT-39837
2020-06-29 12:19:03 +03:00
Ivan Kylchik
79691feb8f
Fix fir load compiled kotlin tests after introducing const deserializer
2020-06-25 12:30:24 +03:00
Jinseong Jeon
12181e55c0
FIR deserializer: signature-aware annotation loading for constructors
2020-06-19 10:21:09 +03:00
Jinseong Jeon
781bfa20e8
FIR deserializer: fix conversion of class literal inside annotation array value.
2020-06-19 10:21:09 +03:00
Jinseong Jeon
b076bec07f
FIR deserializer: signature-aware annotation loading for functions
2020-06-19 10:21:09 +03:00
Jinseong Jeon
fd32e918d5
FIR deserializer: signature-aware annotation loading for property accessors
2020-06-11 10:57:51 +03:00
Jinseong Jeon
2d55b8db07
FIR deserializer: build property accessors if non-default ones exist
2020-06-11 10:57:51 +03:00
Alexander Udalov
4520e02bae
Support fun interfaces in kotlinx-metadata
...
#KT-37421 Fixed
2020-05-27 23:29:12 +02:00
simon.ogorodnik
af27ca013b
[FIR] Fix captured type parameters propagation in deserialization
2020-04-13 20:26:19 +03:00
simon.ogorodnik
5a3eefcba1
[FIR] Fix suspend functional type deserialization
2020-03-24 18:58:17 +03:00
simon.ogorodnik
4fac6d8fb5
[FIR] Fix abbreviated type deserialization
2020-03-24 18:58:17 +03:00
Dmitriy Novozhilov
cc07ae96b3
[FIR-TEST] Move analysis tests to separate module
2020-03-19 09:51:01 +03:00