Alexander Udalov
221f44da5f
Fix warnings in stdlib/compiler/plugins/test code
2021-01-13 19:18:20 +01:00
Georgy Bronnikov
c5961da780
IR: remove WrappedDescriptors altogether
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
b05400154d
IR: remove IrSymbolDeclaration
2020-12-23 18:50:52 +03:00
Georgy Bronnikov
d714adacae
IR: removing WrappedDescriptors from symbols
2020-12-23 18:50:51 +03:00
Dmitry Petrov
b0f6461fa9
JVM_IR KT-42020 special IdSignature for some fake override members
2020-12-15 12:56:45 +03:00
Alexander Udalov
d9efc2d922
Fix warnings in compiler code and tests
2020-11-09 19:46:10 +01:00
Alexander Gorshenev
cb288d47ea
Don't serialize fake overrides anymore
2020-11-09 16:02:14 +03:00
Alexander Gorshenev
5de7a10df0
Eliminated -Xdeserialize-fake-overrides
2020-11-09 16:02:14 +03:00
Dmitry Petrov
b9c6267a63
KT-43217 Encode @EnhancedNullability types in IdSignature
2020-11-09 15:20:46 +03:00
Roman Artemev
8ca9e792e9
[KLIB] Make sure that referenced local anonymous class is deserialzied.
...
In case if such class is used an type argument for field type make sure
that field initializer is being read.
Check type recursively.
- fix KT-41143
- update test
2020-11-05 20:28:11 +03:00
Alexander Udalov
08b8939b80
IR: make IrSymbol.isPublicApi an extension
2020-10-23 20:56:08 +02:00
Leonid Startsev
4ec90b18bc
Rework DescriptorSerializerPlugin to be a part of Project's extensions
...
instead of statically registering it.
Static registering can cause subtle errors when plugin implementation
(e.g. SerializationDescriptorPluginForKotlinxSerialization) is registered
from multiple classloaders: in multi-module with daemon compilation scenario
#KT-41857 Fixed
2020-10-22 17:04:35 +03:00
Alexander Gorshenev
81c06b24f7
[Private fake overrides] Private fake overrides linkage
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
223d1dd5e6
[Private fake overrides] Private fake override construction
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
c90556a883
[Private fake overrides] FakeOverrideDeclarationTable for private fake override construction
2020-10-22 13:23:28 +03:00
Alexander Gorshenev
623f9a54c6
[Private fake overrides] Tweak DeclarationTable to be open
2020-10-22 13:23:27 +03:00
Alexander Gorshenev
c7ea8b1ab6
[Private fake overrides] Prepare IdSignature for private fake override construction
2020-10-22 13:23:27 +03:00
LepilkinaElena
b786cf7559
[IR] Made signature nullable ( #3860 )
2020-10-20 21:13:40 +03:00
Roman Artemev
c89c31cd29
[KLIB] Fix package name (js -> common)
2020-10-15 13:55:06 +03:00
Roman Artemev
07a1124b99
[KLIB] Support error code in metadata
2020-10-15 13:55:06 +03:00
Roman Artemev
a4945878aa
[KLIB] Pass containsErrorCode flag from library/IC cache into deserializer
...
- Make deserializer track whether error node are allowed.
2020-10-15 13:55:05 +03:00
Roman Artemev
98e5510871
[KLIB] Support IrError* nodes in serialization
2020-10-15 13:55:05 +03:00
Roman Artemev
934141f8af
[KLIB] Support IrError* nodes in klib proto
...
- add proto messages
- regenerate java-proto
- support in reader to make code compiled
2020-10-15 13:55:05 +03:00
Mads Ager
af0999ec6f
[IR] Support isAssignable in builders and serialization.
2020-10-06 21:47:29 +02:00
Mads Ager
1f2ca606a5
[IR] Add isAssignable property to IrValueParameter.
...
Use it to check that only the value parameters that are explicitly
marked assignable are assigned.
Currently, the only parameters marked assignable are those for
default argument stubs.
2020-10-06 21:47:29 +02:00
Mads Ager
8d791ca98e
[IR] Update naming, but not binary format for IrSetValue.
2020-10-06 21:47:29 +02:00
Mads Ager
9a93bb3f09
[IR] Add IR support for setting parameters.
...
Use it in the JVM_IR backend for default values code. The parameter
local has to be overwritten for the inliner to work.
2020-10-06 21:47:29 +02:00
Vladimir Dolzhenko
3c380faeb5
Added deprecated PackageFragmentProvider#getPackageFragments for BWC
...
Relates to ^KT-33394
^KT-42259 Fixed
2020-09-29 19:14:44 +00:00
Georgy Bronnikov
df1d9a0113
IR: make IrTypeParameter.superTypes persistent mutable field
2020-09-22 23:53:39 +03:00
Roman Artemev
b84084d54e
[IR] Support hidden parameters in IrMangler
...
- make them be skipped in signature
2020-09-17 00:57:16 +03:00
Roman Artemev
8209b70a2f
[KLIB] Support isHidden flag in deserialization
2020-09-17 00:57:16 +03:00
Roman Artemev
83d6255294
[KLIB] Support isHidden in proto flags
2020-09-17 00:57:16 +03:00
Dmitriy Novozhilov
8d2e89a9ea
Move ProtoEnumFlags to :core:metadata
2020-09-11 10:08:34 +03:00
Igor Chevdar
e39ce91253
[IR] Fixed fake override builder for lowerings
2020-09-11 09:35:01 +05:00
Dmitriy Novozhilov
d1fd1da56f
Rename Visibility to DescriptorVisibility
2020-09-04 11:07:42 +03:00
Roman Artemev
1fd5c1cc65
[IR] Support IrErrorType & IrErrorDeclaration in ir mangler
2020-09-01 14:53:08 +03:00
Roman Artemev
9c36487077
[IR] Disable mangle checker for IrErrorDeclarations
2020-09-01 14:53:07 +03:00
Dmitriy Novozhilov
20a2ad8223
Move FunctionClassDescriptor.Kind to :core:descriptors.common module
2020-08-25 10:31:36 +03:00
Roman Artemev
a095909d5c
[Plugin API] Provide special context in EP for link-time resolve
...
- requires to customize declarations from synthetic declarations
2020-08-24 15:37:39 +03:00
Roman Artemev
1a0e3a1d83
[KLIB] Refactor file serializer a bit
...
- Support explicitly exported on files and properties
2020-08-20 22:13:38 +03:00
Alexander Udalov
a810dbb41b
IR: fix compiler warnings
2020-08-18 10:33:25 +02:00
Alexander Udalov
9b94e073af
Fix warnings related to OptIn/UseExperimental
2020-08-17 21:18:19 +02:00
Georgy Bronnikov
18ae665d41
IR: make IrCall take IrSimpleFunctionSymbol
2020-08-12 16:31:31 +03:00
Alexander Udalov
e4cd7cdbcf
IR: remove unused code, cleanup
2020-08-06 17:08:04 +02:00
Alexander Udalov
8db1c3611b
IR: introduce abstract class IrDeclarationBase
...
The main purpose of this class is to improve performance of IR visitors
and transformers. `IrElementVisitor.visitDeclaration` now takes
IrDeclarationBase as a parameter, and therefore the call to `accept`
there is now a virtual class call, instead of an interface call.
2020-08-06 17:08:04 +02:00
Roman Artemev
4f73e08704
[KLIB] Make fake override resolver garbage free as much as possible
...
- reduce memory pollution during FO resolve
2020-08-03 19:22:07 +03:00
Roman Artemev
876ee265f2
[KLIB] Fix memory leak in fake override resolver
2020-08-03 19:22:07 +03:00
Roman Artemev
e189cb1895
[KLIB] Fix memory leak in linker through haveSeen set
2020-08-03 19:22:06 +03:00
Roman Artemev
19b5fda750
[KLIB] Do not duplicate origin mapping per file
2020-08-03 19:22:06 +03:00
Roman Artemev
c253042948
[KLIB] Reduce amount of descriptors loaded during desc-idSig resolution
2020-08-03 19:22:06 +03:00