sebastian.sellmair
e246a12cd3
[Commonizer] Drop CirFunction interface for plain data class
2021-07-15 10:04:38 +00:00
sebastian.sellmair
0c32abed02
[Commonizer] Remove now unnecessary ArtificialCirDeclaration
...
This marker interface is not necessary anymore, since no new actuals
will be generated by the Commonizer. It was used to filter declarations
during the serializ
2021-07-15 10:04:37 +00:00
sebastian.sellmair
e041532dd2
[Commonizer] InlineSourceBuilder: Also mark ModuleBuilder functions with InlineSourcesCommonizationTestDsl
2021-07-15 10:04:37 +00:00
sebastian.sellmair
87ac436a35
[Commonizer] Implement HierarchicalCInteropCallableAnnotationCommonizationTest
2021-07-15 10:04:36 +00:00
sebastian.sellmair
8acfeb3e17
[Commonizer] Remove computing signatures from metadata
2021-07-15 10:04:36 +00:00
sebastian.sellmair
f3ff9814a8
[Commonizer] Create approximation keys based on Cir instead of metadata
2021-07-15 10:04:35 +00:00
sebastian.sellmair
09f9a1ce5b
[Commonizer] Share Test: Commonizer / Light run configuration
...
This run configuration can be used to run only light weight/faster tests
2021-07-15 10:04:34 +00:00
Andrey Kuleshov
26a71af6b3
[Native, All platforms] HotFix of the incorrect parsing of long strings to Float and Double ( #4492 )
...
### What's done:
- Fixed incorrect logic of String.toFloat() and String.toDouble().
Long string without any digits were treated as Float or Double:
"this string does not look as float isn't it?".toFloat() == "Infinity".
- Fixed incorrect parsing of floating point constants "NaN" and "Infinity":
String values like "NaNPICEZy" or "InfinityN" were treated as valid numbers.
- Merged parsing logic for Double and Float:
Removed the code duplication, unified methods, made the code more Kotlin-like, not C++-like.
- Updated tests:
Removed useless tests that checked nothing, updated tests with regression scenarios.
2021-07-15 14:47:55 +07:00
Sergey Bogolepov
118889add5
[K/N] Fix mingw_x86 compilation
...
It was broken in 9ed97a27f1 .
2021-07-15 04:55:36 +00:00
Roman Artemev
447900c3f2
[K/N] Make sure all module names are uniq
...
In case of klib -> binary compilation there were two different modules
with the same. It breaks invariant about uniqueness if module name.
2021-07-15 03:09:46 +03:00
Georgy Bronnikov
ba61700be6
Regenerate tests
2021-07-14 21:20:49 +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
8c3386b607
IR: set file in declarationTable when serializing IR
2021-07-14 21:20:46 +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
f4d358069c
Fixes after rebase, not related to IrLibraryFile
2021-07-14 21:20:42 +03:00
Georgy Bronnikov
08b950fc2a
JVM_IR: Supply fake file name to signatures of file local declarations
2021-07-14 21:20:41 +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
28bff2ba4f
JVM_IR: add test for calling monitorEnter/Exit from serialized code.
2021-07-14 21:20:38 +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
c3a94e1e62
FIR: adapt to changes in IR interface
...
JvmGeneratorExtensionsImpl, JvmIrCodegenFactory need new arguments.
2021-07-14 21:20:31 +03:00
Georgy Bronnikov
20b76d4149
JVM_IR: reorganize initialization of JvmGeneratorExtensionsImpl
...
CachedFields are now created at initialization.
Therefore we need CompilerConfiguration as a constructor parameter.
2021-07-14 21:20:30 +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
a63cc95a2a
JVM_IR: untangle backend.jvm and serialization.jvm (again)
2021-07-14 21:20:28 +03:00
Georgy Bronnikov
1c4466951f
IR: a flag to GeneratorExtensions to control IR deserialization
...
There is no need to search for IR embedded in toplevel classes when none
is expected (in npon-JVM backends or when -Xserialize-ir is not set).
2021-07-14 21:20:27 +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
8d15a1d13d
JVM_IR: use signatures in AbstractIrSerializeCompileKotlinAgainstInlineKotlinTest
...
Using signatures allows us to identify calls from a new module to an old
one.
2021-07-14 21:20:24 +03:00
Georgy Bronnikov
49619cda48
Restore Native compilation
2021-07-14 21:20:23 +03:00
Georgy Bronnikov
931733f8cc
JVM_IR: deal with JvmStatic in imported IR
2021-07-14 21:20:22 +03:00
Georgy Bronnikov
96ce124268
JVM_IR: serialize fake overrides in IR
2021-07-14 21:20:21 +03:00
Georgy Bronnikov
2d3a558d50
JVM_IR: normalize visibility before serializing
2021-07-14 21:20:20 +03:00
Georgy Bronnikov
a328ebc889
JVM_IR: extract cached fields into a separate class
2021-07-14 21:20:18 +03:00
Georgy Bronnikov
50068607b9
JVM_IR: call serializeIr from a phase
...
This circumvents the need to run expect/actual resolution on
deserialized IR.
2021-07-14 21:20:17 +03:00
Georgy Bronnikov
0d5fe0b029
JVM_IR: load serialized data for every affected property of IrLazyFunction
2021-07-14 21:20:16 +03:00
Georgy Bronnikov
f4e6eb00fd
JVM_IR: generate unbound symbols after deserializing IR
2021-07-14 21:20:15 +03:00
Georgy Bronnikov
6b80c00cc6
JVM_IR: deserialize lazy declarations
2021-07-14 21:20:14 +03:00
Georgy Bronnikov
ad8892f71f
JVM_IR: test that inline functions have deserialized bodies
2021-07-14 21:20:12 +03:00
Georgy Bronnikov
7b52a8c07d
JVM_IR: deal with facade classes when computing signature
2021-07-14 21:20:11 +03:00
Georgy Bronnikov
97d3eda23c
JVM_IR: run Kotlin against Kotlin tests with serialization
2021-07-14 21:20:10 +03:00
Georgy Bronnikov
ab3d6490ed
JVM_IR: save auxTables as byte strings
2021-07-14 21:20:09 +03:00
Georgy Bronnikov
7dbdb311e1
JVM_IR: read serialized IR from annotation
2021-07-14 21:20:08 +03:00
Georgy Bronnikov
baaecaa052
JVM_IR: write serialized IR to an annotation
2021-07-14 21:20:06 +03:00
Georgy Bronnikov
b177779b66
IR: compute signatures for fields
2021-07-14 21:20:05 +03:00
Georgy Bronnikov
b2617199bc
JVM_IR: call serialization for IR.
...
Serializer for IR is called when -Xserialize-ir flag is set.
2021-07-14 21:20:04 +03:00
Georgy Bronnikov
9efd0d7589
JVM_IR: JvmIrSerializer
2021-07-14 21:20:02 +03:00
Mikhail Glukhikh
113d2653aa
Drop deprecated -Xexperimental flag from compiler and tests
2021-07-14 21:18:23 +03:00