Denis.Zharkov
5a55d56320
IR: Fix offsets for value parameters for bridges
...
Previously, offsets from super class parameter have been used
and they might belong to a different file and those offsets are irrelevant
to the current file
2021-02-03 15:05:22 +03:00
Dmitry Petrov
ab20a8ffff
JVM_IR indy-lambdas: minor updates and fixes
...
KT-44278 KT-26060 KT-42621
2021-02-03 14:16:25 +03:00
Dmitry Petrov
088448043a
JVM_IR indy-lambdas: don't use indy for big arity lambdas
...
KT-44278 KT-26060 KT-42621
2021-02-03 14:16:24 +03:00
Dmitry Petrov
d94912ed62
JVM_IR indy-lambdas: initial implementation and tests
...
KT-44278 KT-26060 KT-42621
2021-02-03 14:16:22 +03:00
Igor Chevdar
0bc386cb08
[IR] Fixed bug with reflectionTarget evaluation
2021-02-03 15:26:40 +05:00
Igor Chevdar
bb8bf28b8b
[PSI2IR] Set reflectionTarget for all adapted references
2021-02-03 15:26:40 +05:00
Ilya Goncharov
d6e74b9620
[JS IR] Use local scope for SAM if there are scopes
...
[JS IR] Use private for top level sam wrappers and local otherwise
^KT-44433 fixed
2021-02-03 12:13:52 +03:00
Mads Ager
6a959fefd0
[JVM_IR] Fix accessibility bridges for static protected fields.
...
Super-qualifiers have to be taken into account. Otherwise, too
few accessibility bridges will be generated which can lead to
binary compatibility issues.
2021-02-02 12:46:08 -08:00
Mikhael Bogdanov
5b64ceceb3
JVM_IR. Generate additional checkcast for when/try epressions to avoid frame map problems on reification
2021-02-02 14:32:50 +01:00
Roman Artemev
59551eb037
[Plugin API] Provide diagnostic API for IR plugins
2021-02-02 12:05:35 +03:00
Roman Artemev
daa65a2fff
[KLIB] Handle linkage error
...
Do not crash compiler with ugly stacktrace in case of misconfiguration.
Report relatively friendly diagnostic message instead
2021-02-02 12:05:35 +03:00
Roman Artemev
bf67308cc2
[KLIB] Use IrMessageLogger in klib linker to report errors
2021-02-02 12:05:35 +03:00
Roman Artemev
6891ad0dfc
[IR] Add IrMessageLogger interface for diagnostic reporting from IR
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
Roman Artemev
24d82c63e0
[JS IR] Commonize CLI error reporting
...
Use general `AnalysisResult.CompilationErrorException` instead of
custom JsIrCompilationError to indicate about unsuccessful compilation
- Drop JsIrCompilationError
2021-02-02 12:05:34 +03:00
Roman Artemev
ba5193870e
[IR] Drop unused language version settings parameters from DependenciesGenerator
2021-02-02 12:05:34 +03:00
Dmitry Petrov
4ec369ac5b
JVM_IR fix special bridge generation for inline classes
2021-02-01 17:57:58 +03:00
pyos
bd3bc13e75
JVM_IR: give loops somewhat more debuggable labels
2021-02-01 15:51:31 +01:00
pyos
0f2ca5d84c
JVM_IR: support non-local break/continue in the inliner
...
Not in the frontend or psi2ir, though, so this not a complete
implementation of KT-1436, but rather a part of it that is currently
useful to make other code compile. In particular, lambdas passed to
array constructors and JVM-style `assert` are inlined as IR returnable
blocks, which are then converted into `do { ... } while (false)` loops,
so non-local returns from them become non-local `break`s.
2021-02-01 15:51:31 +01:00
Steven Schäfer
482e217b5e
JVM IR: Fix inline class mangling for calls to internal functions
...
...in a different module, e.g., using -Xfriend-paths.
2021-01-29 16:23:15 +01:00
Victor Petukhov
9efac8f68b
Propagate all annotations during creating simple functional types
...
^KT-44563 Fixed
2021-01-29 13:50:46 +03:00
Dmitry Petrov
5d7dc5fa39
JVM_IR indy-SAM conversions: minor updates
...
See: KT-44575 KT-44577
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:48 +03:00
Dmitry Petrov
f0abd8bc68
JVM_IR indy-SAM conversions: prohibit in crossinline lambdas
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:47 +03:00
Dmitry Petrov
98b0c07b18
JVM_IR indy-SAM conversions: inline funs and lambdas
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:47 +03:00
Dmitry Petrov
4da2f3d9d4
JVM_IR indy-SAM conversions: use old scheme for suspend funs
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:46 +03:00
Dmitry Petrov
1f16b96796
JVM_IR indy-SAM conversions: inline classes
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:46 +03:00
Dmitry Petrov
f30e25aa52
JVM_IR indy-SAM conversions: more cases
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:45 +03:00
Dmitry Petrov
3140cca050
JVM_IR indy-SAM conversions, 1st passing tests
...
KT-44278 KT-26060 KT-42621
2021-01-29 12:59:45 +03:00
Ilya Goncharov
5fa9acc17a
[JS IR] Add additional exported declarations inside dce loop
...
[JS IR] Remove useless filter in dce for more log information
^KT-44469 fixed
2021-01-28 18:56:34 +03:00
Ilya Goncharov
d88d1d048e
[JS IR] Context to NameTables for stable names in additional exported declarations
...
[JS IR] BridgesConstruction with generic without cast
^KT-44469 fixed
2021-01-28 18:56:21 +03:00
Ilya Goncharov
f186047101
[JS IR] Add additional exported declarations with exported stub to dce
...
^KT-44469 fixed
2021-01-28 18:56:01 +03:00
Ilya Goncharov
6e98b81f3a
[JS IR] Use recursive isExported for stable name detection
...
^KT-44469 fixed
2021-01-28 18:55:48 +03:00
Dmitriy Novozhilov
81fd8b5940
[IR] Fix undeterministic order in signature clash reporting
2021-01-28 13:19:29 +03:00
Alexander Udalov
d87d0cceae
JVM IR: report all sources as outputs for .kotlin_module file
...
This fixes some tests for LV=1.5 in KotlinJpsBuildTest,
KotlinJpsBuildTestIncremental, IncrementalJvmJpsTestGenerated,
IncrementalCacheVersionChangedTestGenerated.
#KT-42069 Fixed
2021-01-28 13:19:26 +03:00
Svyatoslav Kuzmich
4bde884844
[JS IR] Use non-persistent IR for non-dce-driven mode
...
Eliminate overhead of persistency that we don't use in this mode.
2021-01-27 14:58:33 +03:00
Svyatoslav Kuzmich
02615ec569
[JS IR] Fix: Use proper parameter in ExportedDefaultParameterStub
2021-01-27 14:57:42 +03:00
Roman Artemev
b0adcffed9
[JS IR] Fix transitive dependency resolve
2021-01-26 19:23:25 +03:00
Roman Artemev
cd9e341fa9
[JS IR] Support additional repositories in CLI (compiler part)
2021-01-26 19:23:22 +03:00
Mikhail Glukhikh
76c2288e21
IrInterpreter: interpret IrGetField properly
2021-01-26 16:19:14 +03:00
Svyatoslav Kuzmich
f85263ca7f
[JS IR] Add fast path to JsCodeOutliningLowering
2021-01-25 19:18:44 +03:00
Svyatoslav Kuzmich
cb3b1f8ae2
[JS IR] Fix referencing Kotin variables in inline JS code
...
Fixed by outlining JS code that uses Kotlin variables making usages of
these locals explicit and preventing bugs due to one-sided variable renaming.
This prevents using Kotlin variables as lvalue in JS code.
2021-01-25 19:18:44 +03:00
Dmitry Petrov
708e6914bd
JVM JVM_IR hide sealed class constructors
2021-01-25 17:29:38 +03:00
Ilya Goncharov
aa1e23d9b0
[JS IR] Use origins for bridge with and without stable names
...
^KT-44415 fixed
2021-01-25 15:16:47 +03:00
Ilya Goncharov
57fdabdace
[JS IR] Add BRIDGE origin as ignore for stabitility of names
...
^KT-44415 fixed
2021-01-25 15:16:35 +03:00
Mads Ager
ef36b81c67
[JVM_IR] Reduce the amount of super suffixes on accesibility bridges.
...
The super suffix was used for any static field/method that needed
an accessor. We should only use it when that field or method is
inherited.
2021-01-22 13:20:25 +01:00
Dmitriy Novozhilov
87ffbd8206
[IR] Collect all dependencies of module recursively
2021-01-22 13:51:24 +03:00
Dmitriy Novozhilov
aaa3fa5845
[Test] Migrate IrTextTestGenerated to new infrastructure
2021-01-22 13:51:23 +03:00
Dmitriy Novozhilov
a2ae618185
[Test] Introduce IGNORE_ERRORS diagnostic to suppressing backend errors
2021-01-22 13:51:21 +03:00
Ilmir Usmanov
952576e98f
JVM_IR: Do not unbox Result parameter if it not only one inline class
...
parameter, since in this case, the compiler generates a bridge, where
the result is unboxed.
2021-01-20 18:30:00 +01:00