Roman Artemev
28ffcf1e81
[KLIB] Fix typo
2021-09-07 20:41:26 +03:00
Mikhail Glukhikh
ed035d99ab
Migrate -Xopt-in to -opt-in in Gradle Kotlin scripts
2021-09-03 15:40:47 +03:00
Ilmir Usmanov
1f8dd45c2b
Remove experimental coroutines support. Part 2
2021-08-30 14:21:57 +03:00
Roman Artemev
76690c081a
[KLIB] Provide required API for IC invalidation
2021-08-24 01:09:16 +03:00
Roman Artemev
7d8c86caf1
[KLIB] Add API to access file's part of data as ByteArray
...
It requires for computing fingerprint of IrFile in IC infra
2021-08-24 01:09:12 +03:00
Roman Artemev
e4c2d4937f
[KLIB] Extract signature deserialization into separate class
2021-08-24 01:09:11 +03:00
Dmitriy Dolovov
4edc1239ac
[IR] Use only ASCII-printable chars in IR linker error reports
...
^KT-44626
2021-08-17 07:53:46 +00:00
Dmitriy Dolovov
af12d61388
[IR] Enhance error reporting for IR linking issues
...
^KT-44626
Support correct error reporting both with native static caches and without native static caches.
2021-08-17 07:53:45 +00:00
Dmitriy Dolovov
c1fb40a436
[IR] Enhance error reporting for IR linking issues
...
^KT-44626
Typical use case:
- There are two KLIB libraries: A and B.
- Library A has two versions: A.v1 (older) and A.v2 (newer).
- A.v2 is ABI-incompatible with A.v1.
- B depends on A and was compiled against A.v1.
- An attempt to build the application with A.v2 and B fails with weird error message. It's unclear for end user what's wrong and what needs to be done to fix the issue.
The fix improves error reporting for the following particular cases:
- A symbol that is gone (KT-41378)
- A class that became a typealias (KT-47285, KT-46697)
- A typealias that became a class (KT-46340)
2021-08-10 14:02:40 +03:00
Georgy Bronnikov
13cf9329b2
IR: always serialize constant initializers for fields.
2021-08-10 00:37:42 +03:00
Georgy Bronnikov
307de0be89
IR: always update deserializedSymbols in referenceLocalIrSymbol
...
The symbol created in deserializeIrSymbolToDeclare might be discarded
when an existing declaration is used in deserialization (as it happens
when deserializing IR bodies for JVM declarations).
2021-08-10 00:37:37 +03:00
Georgy Bronnikov
fb801bdc33
IR: fix mangling of toplevel properties
2021-08-10 00:37:36 +03:00
Georgy Bronnikov
1d2d1f9e8d
IR: change mangling for flexible types in DescriptorMangleComputer
...
This reverts commit 4af2aaedb1 .
2021-08-10 00:37:24 +03:00
Tianyu Geng
684ef871ee
FIR: unify common special names scattered around the code base
2021-08-06 22:57:17 +03:00
Roman Artemev
2574c00dd9
Add index() to LocalSignature for more clear access
2021-08-06 20:49:20 +03:00
Roman Artemev
5a7298808e
[JVM KLIB] Fix Type Parameter resolve
2021-08-06 20:49:19 +03:00
Roman Artemev
67f814c99f
[JS IC] Don't serialize IrTypeAbbreviation in IC cache
2021-08-06 20:49:15 +03:00
Roman Artemev
d174e8c3d2
small optimization
2021-08-06 20:49:14 +03:00
Roman Artemev
9bfe502afd
[JS IC] Fix signature finding in some cases
...
Found in KFSAD
2021-08-06 20:49:13 +03:00
Roman Artemev
11f70412e7
[KLIB] Don't resolve delegated symbol where it could be existed
2021-08-06 20:49:12 +03:00
Roman Artemev
6ca87dc43f
[KLIB] Drop useless set
2021-08-06 20:49:10 +03:00
Roman Artemev
aeea7147fe
[JS IC] Simplify code a bit more
2021-08-06 20:49:09 +03:00
Roman Artemev
28cf9898ef
[KLIB] Simplify file symbol resolve
2021-08-06 20:49:08 +03:00
Roman Artemev
6cd0d81561
[JS IC] Drop redundant enqueue
2021-08-06 20:49:07 +03:00
Roman Artemev
b1eeb1fb27
[JS IC] Don't persist temporary copies of inline functions
...
- drop special `IrValueParameterPublicSymbol`
- drop special `IrAnonymousInitializerPublicSymbolImpl`
- drop hacky `useGlobalSignatures`
2021-08-06 20:49:06 +03:00
Roman Artemev
b1251c1716
[JS IC] Drop special IdSignatureSerializer for IC
2021-08-06 20:49:04 +03:00
Roman Artemev
4a601ebf95
[JS IC] Eradicate GlobalScopeLocalDeclaration from code
...
- Normalize proto names
2021-08-06 20:49:03 +03:00
Roman Artemev
74d8e16d09
[JS IC] Eradicate GlobalFileLocalSignature from code
...
- Reduce usage of global maps
2021-08-06 20:49:02 +03:00
Roman Artemev
3d3c70141c
[JS IC] Properly handle type parameters of Functional interfaces
...
- drop redundant `IrSymbolTable` and `IrIcModuleDeserializerWithBuiltIns`
2021-08-06 20:48:59 +03:00
Alexander Udalov
91c39ed01c
Build: remove obsolete compiler arguments
...
These compiler arguments enable features which are enabled by default in
the current Kotlin anyway.
The only exception is in :compiler:cli which uses an old language
version.
2021-07-27 13:35:38 +02:00
Anton Bannykh
c6ab195a87
JS IR IC: invalid loops references exist after lowerings
2021-07-23 17:10:04 +03:00
Roman Artemev
0310f7cb0b
[JS IC] Lot of fixes after rebase
2021-07-22 21:56:57 +03:00
Anton Bannykh
e03cb372b7
KLIB: don't fail on invalid loops
...
Temporarily disable assert because this happens in lowered IR
2021-07-22 21:56:52 +03:00
Anton Bannykh
3833c833ef
KLIB: changes in the .proto and linker required for the JS IC
...
The original behaviour is preserved. All changes should be behind the flags.
2021-07-22 21:56:51 +03:00
Ilya Chernikov
db61665ab8
[minor] IR: clean unnecessary ObsoleteDescriptorBasedAPI opt-ins
2021-07-21 18:05:42 +03:00
Dmitriy Novozhilov
f3116cb64a
Fix NON_EXHAUSTIVE_WHEN_STATEMENT warnings in project code
2021-07-20 13:33:46 +03:00
Ilya Chernikov
808f5148f3
IR: implemented generic knownBuiltIns property
2021-07-16 02:24:42 +03:00
Ilya Chernikov
dee0487185
IR: Refactor IrBuiltIns to abstract it from descriptors
2021-07-16 02:24:18 +03:00
Georgy Bronnikov
4af2aaedb1
IR, temporary: a simpler mangling for flexible types
...
Mangling for flexible types will need another look.
Complicated cases still do not work.
2021-07-14 21:20:48 +03:00
Georgy Bronnikov
c3f4fcde0b
JVM_IR: compute signatures for fake overrides of Java fields
2021-07-14 21:20:47 +03:00
Georgy Bronnikov
05a42b8cd5
IR: handle CompositeSignature in DescriptorByIdSignatureFinder
2021-07-14 21:20:45 +03:00
Georgy Bronnikov
da946e464f
Fix compilation after rebase: add debugInfo to JvmIr.proto
2021-07-14 21:20:43 +03:00
Georgy Bronnikov
225705a237
IR: do not serialize nonlocal initializers in inline-only mode
2021-07-14 21:20:40 +03:00
Georgy Bronnikov
dffb22de9d
JVM_IR: avoid duplication in declaration lists during deserialization
2021-07-14 21:20:36 +03:00
Georgy Bronnikov
fa4efd3303
JVM_IR: fix deserialization of Java static field symbols
2021-07-14 21:20:35 +03:00
Georgy Bronnikov
955ee07517
IR: compute signature for scripts
2021-07-14 21:20:33 +03:00
Georgy Bronnikov
9d0c6fb157
IR: remove an overly optimistic assert
2021-07-14 21:20:32 +03:00
Georgy Bronnikov
7bbc04b6a2
JVM_IR: reconstruct fake overrides after IR deserialization.
...
We need to keep track of local signatures for deserialized symbols.
2021-07-14 21:20:29 +03:00
Georgy Bronnikov
ec1c97c684
JVM_IR: register builtin annotation constructors in SymbolTable
...
When deserializing IR, these annotations need to be visible.
2021-07-14 21:20:26 +03:00
Georgy Bronnikov
2d3a558d50
JVM_IR: normalize visibility before serializing
2021-07-14 21:20:20 +03:00