Roman Artemev
0d8fff7186
[KLIB] Fix annotation type deserialization
...
Instead of hardcoded `Unit` restore it basing on annotation class and
constructor's type arguments
2021-03-12 19:03:04 +03:00
Vladimir Ivanov
fd02802028
[Native] Export KDoc into generated native header
2021-03-09 16:50:23 +03:00
Alexander Udalov
f332192de8
IR: remove SourceManager, make PsiSourceManager a singleton
2021-03-05 20:46:33 +01:00
Roman Artemev
9bdfbc948c
[KLIB] Support assignable value parameters in deserializer
...
- fix KT-44945
2021-03-05 13:47:07 +03:00
Anton Bannykh
87f3ca3f36
IR: make isExternal immutable
2021-03-02 14:30:18 +03:00
Anton Bannykh
b0e0e62c0b
Propagate isExternal flag in Psi2Ir and deserializer
2021-03-02 14:30:16 +03:00
Ilmir Usmanov
d67e4f0c48
Rename inline class -> @JvmInline value class in stdlib and compiler
2021-02-25 16:06:51 +01:00
Anton Bannykh
bc9a791809
Refactor klib serializer/deserializer
2021-02-18 18:03:41 +03:00
Georgy Bronnikov
db18ffc764
IR: only worry about threads in JvmIrSignatureDescriptor
...
General IdSignatureDescriptor is used from other backends, which have no
multi-threaded backend for now and do not need to carry the associated
runtime costs.
So IdSignatureDescriptor keeps the thread-unsafe caching of signature
builder.
2021-02-17 11:05:22 +03:00
Georgy Bronnikov
c9d0448fd1
IR: use threadLocal
2021-02-17 11:05:21 +03:00
Roman Artemev
67671afab4
[Plugin API] Fix missed call in resolveBySignatureInModule
2021-02-11 11:44:09 +03:00
Roman Artemev
d97a2b13c0
[Plugin API] Add API to load top level declaration by its signature
...
- request from JP Compose, #KT-44100
2021-02-09 11:56:20 +03:00
Roman Artemev
bf67308cc2
[KLIB] Use IrMessageLogger in klib linker to report errors
2021-02-02 12:05:35 +03:00
Roman Artemev
c5068b7d45
[KLIB] Drop unused logger
2021-02-02 12:05:34 +03:00
Roman Artemev
484b884d04
[KLIB] Make IrModuleDeserializer's printable
2021-02-02 12:05:34 +03:00
Pavel Kirpichenkov
b66f5c8180
Drop type aliases for JS and KLIB string tables
...
They used to use the same approximation logic anyway
^KT-20996
2021-01-20 11:05:53 +03:00
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