Vladimir Sukharev
639b0cc525
Revert "[K2/N] KT-56190 Serialize simple const property initializers"
...
This reverts commit 2ace8ba9bd .
2023-03-29 18:00:09 +02:00
Vladimir Sukharev
2ace8ba9bd
[K2/N] KT-56190 Serialize simple const property initializers
...
Merge-request: KT-MR-8623
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-03-29 13:26:43 +00:00
Mikhail Glukhikh
563781a246
K2: serialize data class equals / hashCode / toString functions
...
#KT-57510 Fixed
2023-03-28 09:30:02 +00:00
Dmitriy Novozhilov
a64d8e8a31
[Stdlib] Deprecate and make open Number.toChar()
...
^KT-46465 Fixed
2023-03-27 10:46:13 +00:00
Ivan Kochurkin
ee73e4774b
[K2, MPP] Remove redundant expect declarations from klib metadata
...
^KT-57250 Fixed
Introduce flat Fir2IrActualizedResult
It contains output from Fir2Ir and IrActualizer
2023-03-24 14:48:26 +00:00
Dmitrii Gridin
706ff6b61f
[FIR] pre-resolve some scope callables before creating a scope
...
In a lot of cases, when we want to process the
declaration in scope, it should be resolved to at least TYPES phase.
To avoid doing it manually in all our variety of scopes, we do it when the scope it created.
It was implicitly working manually before as lazy resolve did a lot of extra work
on resolving a declaration it was not supposed to resolve.
Now it's not the case, and we have to explicitly resolve all the declarations we need.
^KT-56543
Co-authored-by: Ilya Kirillov <ilya.kirillov@jetbrains.com >
2023-03-24 09:57:46 +00:00
Pavel Kunyavskiy
b01cc1f88c
[K2/N] Fix property accessors modality in K2 metadata
...
^KT-56603
2023-03-22 13:47:01 +00:00
Mads Ager
683220a32c
[K1] Remove compiler version requirements for context receivers in metadata.
2023-03-17 07:15:13 +00:00
Mads Ager
e051751005
[K2] Use metadata method kind Delegation for delegated members.
2023-03-17 07:15:12 +00:00
Alexander Udalov
6595275ba7
Remove ClassBuilderMode.ABI
...
It was a special mode used only by the removed legacy implementation of
jvm-abi-gen.
2023-03-10 12:24:50 +00:00
Evgeniy.Zhelenskiy
394cd944b6
[IR] Add MFVC representation during serialization of FIR to IR
...
Signed-off-by: Evgeniy.Zhelenskiy <Evgeniy.Zhelenskiy@jetbrains.com >
#KT-1179
2023-03-07 21:44:41 +00:00
Ivan Kochurkin
f1fef62f76
[FIR] Consider default values from expect function during serialization
...
It's not possible to unmute some tests for K2 because it causes testData structure changing
If change testData, NATIVE doesn't work even with `IGNORE_BACKEND`
2023-03-01 22:10:07 +00:00
Kirill Rakhman
314784f435
[FIR] Introduce FirDeclarationStatus.hasStableParameterNames
...
This flag is true by default but is set to false for
- Java methods and constructors
- interface delegation methods that delegate to Java
The NAMED_ARGUMENTS_NOT_ALLOWED logic is mostly refactored to use the
new flag though some custom logic remains for determining the correct
message and to work around a corner case with fake overrides.
The flag is (de)serialized from/to metadata. For backward compatibility
with K1, delegated methods to Java types are deserialized as stable.
^KT-40480 Fixed
2023-02-13 12:09:39 +00:00
Kirill Rakhman
d204d65174
[FIR] Reformat FirElementSerializer
2023-02-13 12:09:39 +00:00
Dmitriy Novozhilov
1248ee12d6
[FIR] Add ability to provide additional synthetic declarations to metadata from plugins
...
^KT-55885 Fixed
2023-02-08 08:44:49 +00:00
Dmitriy Novozhilov
8350226bad
[FIR] Collect constructors from scope instead of .declarations in metadata serialization
...
This is needed to save in metadata constructors, generated by plugins
with FirDeclarationGenerationExtension
2023-02-08 08:44:49 +00:00
Dmitriy Novozhilov
89c42e20c9
[FIR] Consistently use _function_ instead of _functional_ in names of classes and functions
2023-02-02 08:24:52 +00:00
Dmitriy Novozhilov
67aa80562d
[FE] Completely replace FunctionClassKind with FunctionalTypeKind
...
FunctionalTypeKind can be used in FE 1.0 too, so there is no need to
keep both classes. Also, removal of FunctionClassKind simplifies work
with FunctionalTypeKind in common code, like Analysis Api
2023-02-02 08:24:50 +00:00
Dmitriy Novozhilov
c86495dcae
[FIR] Introduce ConeFunctionalTypeKind as a replacement of FunctionClassKind
...
This is needed to provide an ability to extend different kinds of
functional types
Also, cleanup and rename utilities related to functional types to avoid
possible confusions
2023-02-02 08:24:49 +00:00
Dmitriy Novozhilov
125b773205
[FIR] Introduce utility for creating ConeClassLikeLookupTagImpl from ClassId
...
`classId.toLookupTag()` looks much cleaner than `ConeClassLikeLookupTagImpl(classId)`
2023-02-02 08:24:48 +00:00
Mikhail Glukhikh
9378da6f27
FirElementSerializer: drop no longer necessary code for accessor annotations
2023-01-31 13:16:13 +00:00
Vladimir Sukharev
1990883bdc
[K2/N] KT-55464, KT-56091 Fix various klib annotations, including critical ones
...
Merge-request: KT-MR-8457
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-26 11:15:15 +00:00
Roman Efremov
14b4cdc7c4
Write "hasEnumEntries" flag into metadata when feature enabled
...
^KT-53929 Fixed
2023-01-23 12:53:04 +01:00
Vladimir Sukharev
195ecbac2e
Serialize native klib extensions to pass most ObjCExport and CInterop tests.
...
Merge-request: KT-MR-8398
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-23 11:34:47 +00:00
Ilya Kirillov
1bbcae5ed2
[FIR] fix resolve contract violation from scopes
...
We cannot call lazy resolve to STATUS phase from scopes as scopes may be accessed on a STATUS phase or earlier
^KT-54890
^KTIJ-23587 fixed
2023-01-13 21:32:51 +00:00
Dmitriy Novozhilov
bc93556dbb
[FIR] Allow FirElementSerializer.packagePartProto accept multiple files
...
This is needed for cases when there are multiple files with same name
and `@JvmMultifileClass` annotation
2023-01-12 17:45:05 +00:00
Ivan Kochurkin
978f937fa9
[FIR Serialization] Fix serialization of generated nested classifiers
...
^KT-55759 Fixed
2023-01-11 16:07:02 +01:00
Vladimir Sukharev
924898afb7
[K/N] KFC-446: K2 platform: Native alpha
...
Merge-request: KT-MR-7905
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com >
2023-01-04 16:10:40 +00:00
Mikhail Glukhikh
0d50f71fb8
K2: expand type aliases in annotation position #KT-55615 Fixed
2023-01-04 10:06:39 +00:00
Ilya Kirillov
90436abb23
[FIR] add FirSession parameter to whileAnalysing
...
It will be needed in the following commits
2023-01-03 10:23:49 +00:00
Nikolay Lunyak
2e9f9f987b
[FIR] KT-44698: Print file:line:offset on K2 crash
...
^KT-44698 Fixed
2022-11-29 22:35:51 +00:00
Dmitriy Novozhilov
32f6b71525
[FE] Add ability to configure PublicDeclaration type approximation configuration
...
This configuration allows to choose what to do with local and anonymous types
2022-11-22 15:46:18 +00:00
Dmitrii Gridin
86422d0944
[FIR] FirReceiverParameter: rename type to typeRef
...
^KT-54417
2022-11-17 09:50:17 +00:00
Dmitrii Gridin
be7d282974
[FIR] introduce FirReceiverParameter
...
^KT-54417
2022-11-17 09:50:09 +00:00
Nikolay Lunyak
e34dd49872
[FIR] Get rid of the argumentMapping function.
...
It's just a duplicate of `resolvedArgumentMapping`. Plus there is a
member with the same name inside `FirAnnotationCall`.
2022-11-14 22:40:41 +02:00
Ilya Chernikov
fa0cda6236
FIR JS: enable full JS box tests with FIR
2022-11-12 14:34:07 +01:00
Ilya Chernikov
0fbc099d32
FIR JS: Refactor Klib serialization for FIR support
2022-11-12 14:34:07 +01:00
Mikhail Glukhikh
d4fc2248ff
FIR: make class member helper names more consistent
2022-11-11 13:30:32 +00:00
Dmitriy Novozhilov
8fbb605034
[FIR] Rename containingClass function to containingClassLookupTag
...
Since this function returns lookup tag instead of FirClass or symbol
the old name may lead to misunderstanding
2022-10-19 11:09:34 +00:00
Dmitriy Novozhilov
be3f8e7eb0
[FIR] Remove redundant opt-ins to ExperimentalStdlibApi in FIR modules
2022-10-19 11:09:33 +00:00
pyos
1fcf099104
FIR: serialize both expanded and abbreviated type to metadata
2022-10-18 14:59:11 +00:00
Mikhail Glukhikh
a82baf87cb
FIR renderer: extract separate ConeTypeRenderer
2022-07-14 09:38:33 +00:00
Mikhail Glukhikh
70e15b281c
K2: fix exception in deserializer for external setter #KT-53031 Fixed
2022-07-13 17:06:14 +00:00
Denis.Zharkov
82b6fdf97e
FIR: Serialize type attributes for non-type-ref types, too
2022-04-06 16:05:41 +00:00
Denis.Zharkov
0ba5c528d0
FIR: Support (de)serialization of context receivers
2022-04-06 16:05:35 +00:00
Denis.Zharkov
550d24f8c6
FIR: Introduce ContextFunctionTypeParams type attribute
2022-04-06 16:05:26 +00:00
Denis.Zharkov
f3e28c3767
FIR: Prepare ConeAttribute infrastructure for non-singleton attrs
2022-04-06 16:05:25 +00:00
Evgeniy.Zhelenskiy
b6f2513dd2
[FIR] Introduce valueClassRepresentation to FIR
...
#KT-1179
2022-03-24 11:38:44 +00:00
Alexander Udalov
b443848ea0
Fix type table serialization in DescriptorSerializer
...
Always serialize type table (and version requirement table) after
everything else, to prevent bugs like KT-51446 where inline class
underlying type was added to the type table after it has already been
serialized.
#KT-51446 Fixed
2022-02-24 16:34:25 +01:00
Dmitriy Novozhilov
0bd3e8f418
[FIR] Rename ConeClassErrorType to ConeErrorType, drop ConeKotlinErrorType alias
2022-02-07 13:36:33 +03:00