Ilya Kirillov
7781ad67d4
[FIR] introduce FirValueParameter.containingFunctionSymbol
...
^KT-55034 fixed
2022-11-22 18:25:30 +01:00
Leonid Startsev
f627d81d53
Make diagnostic for @MetaSerializable on nested annotation
...
K2 plugin API has a limitation that meta annotations from plugin predicates
can't be used on nested annotations because their resolve process includes supertypes
resolve, that can be affected by the plugin itself. Therefore, @MetaSerializable
can't be applied to nested annotation classes in K2, which is reflected by
this diagnostic.
For old FE, diagnostic is lowered to WARNING with deprecation message.
2022-11-22 10:53:28 +00:00
Leonid Startsev
9586bf74e0
Use .fullyExpandedType to get serializable annotation from inside typealias
...
to correctly handle 'global customization via typealias' feature
in K2 serialization plugin.
2022-11-22 10:53:28 +00:00
Leonid Startsev
76fc7ce0ad
Fix creating FirSerializableProperties for external classes.
...
External classes do not have primary constructor, so we need to use 0 as
value parameter count for them to be externally serializable when possible.
2022-11-22 10:53:27 +00:00
Leonid Startsev
56cd150554
Enable FIR plugin in SerializationComponentRegistrar
...
so real projects can be built with K2 and serialization.
Correctly register renderer for serialization plugin errors.
2022-11-22 10:53:27 +00:00
Jaebaek Seo
1a5a6474d6
Support TargetPlatform.isJs() for FIR
2022-11-15 16:50:17 +01:00
Pavel Mikhailovskii
1215ae0fe7
KT-1436 Nicer compiler errors when the feature isn't supported
2022-10-31 13:49:57 +00:00
Sergey.Shanshin
d4cfb002d0
Added support of named companion in serializable class to the FIR
...
Merge-request: KT-MR-7472
2022-10-27 12:48:29 +00:00
Leonid Startsev
4cf50d7d23
Add checker for companion objects inside serializable class:
...
Warning for old FE, error in FIR
#KT-54441 Fixed
Merged-by: Leonid Startsev <leonid.startsev@jetbrains.com >
2022-10-20 10:18:04 +00:00
Sergey.Shanshin
5a1c2c56bd
Added support of external serializers to the FIR
...
Co-authored-by: Leonid Startsev <leonid.startsev@jetbrains.com >
Merge-request: KT-MR-7334
Merged-by: Sergey Shanshin <Sergey.Shanshin@jetbrains.com >
2022-10-13 15:25:39 +00:00
Sergey.Shanshin
503f4d924d
Added support of MetaSerializable to the FIR
2022-10-12 20:10:58 +00:00
Leonid Startsev
090aec6b3b
Prohibit Array<T> in @Serializable classes
...
because it's impossible to correctly create array reflectively without
knowing correct KClass.
Fixes https://github.com/Kotlin/kotlinx.serialization/issues/1243
2022-10-12 11:48:21 +00:00
Dmitriy Novozhilov
7ce3934cf7
[FIR] Add type resolution service into SerializationFirSupertypesExtension
...
This service allows resolve custom user types from plugins, which allows
to support specifying type arguments of generated supertypes basing
on arguments passed to annotations
2022-09-26 10:09:09 +00:00
Leonid Startsev
62f67e46fd
Add SerializerFactory supertype for Native & JS in FIR serialization plugin.
...
This supertype is intended to be used with @AssociatedObject on platforms
where reflection possibilities are limited.
2022-09-12 10:19:39 +00:00
Dmitriy Novozhilov
671083c701
[Serialization] Implement serialization checker for K2 version of plugin
...
^KT-53178 Fixed
2022-09-07 07:57:38 +00:00
Dmitriy Novozhilov
194741b96b
[FIR] Remove incorrect FirClassSymbol<*>.superConeTypes utility
...
Replace all usages with member `FirClassSymbol.resolvedSuperTypes`
2022-09-07 07:57:37 +00:00
Dmitriy Novozhilov
cc00dcc038
[Serialization] Reorganize module structure
2022-08-22 17:23:18 +03:00