Pavel Mikhailovskii
bcd8a28d4c
KT-47823 IR.JVM Fix handling of for loop ranges with inline types and break/continue/return
2022-06-10 18:42:28 +00:00
Pavel Mikhailovskii
ecb3cc193c
KT-51883 Don't use "-" in generated unique lifted declaration names
2022-06-10 18:36:04 +00:00
Kristoffer Andersen
fb9c5c13bd
[IR] Have JVM codegen respect the GenerateClassFilter supplied to GenerationState
...
ClassCodegen bails before generating code if the filter supplied to
the GenerationState rejects it based on the containing file or class
declaration itself.
2022-06-10 19:10:34 +02:00
Nikolay Egorov
149402cf00
Make TypeMapper use signatureWriter for scripts expression evaluation;
...
Support nullability detection for IrScriptSymbol;
tests in IJ commit: "[scripting] Introduce tests for KT-51755"
2022-06-09 14:08:28 +00:00
pyos
87dc1f7fde
JVM_IR: remove ExpressionCodegen.inlinedInto
2022-06-08 23:59:58 +02:00
pyos
27c51f5f88
JVM_IR: skip SAM lambdas when computing enclosing method of objects
...
This is what Java 15+ does, and it permits accessing captured type
parameters via reflection. The alternative is to emit generic signatures
on the lambda methods, but that was disabled and I have no clue why.
^KT-52417 Fixed
2022-06-08 23:59:58 +02:00
Pavel Mikhailovskii
f81d47bad6
KT-46797 Generate generic signatures for suspendImpl
2022-06-08 16:15:08 +02:00
Steven Schäfer
dbb6144ab0
JVM IR: Avoid boxing in generic floating point equality (KT-48635)
2022-06-08 15:38:06 +02:00
Igor Yakovlev
f996278171
[WASM] Support for mjs universal launcher
2022-06-07 20:59:03 +00:00
Dmitriy Novozhilov
83d0a3e7a3
[FIR] Extract FirPluginKey into :core:compiler.common and rename it to GeneratedDeclarationKey
...
This is needed to avoid dependency on :compiler:fir:fir2ir module in
backend parts of compiler plugins. It will allow to publish those
parts into jars for IDE, where they are needed for working of debugger
and bytecode toolwindow
2022-06-07 14:12:25 +00:00
Dmitriy Novozhilov
67589b1b09
[FIR] Don't report TAILREC_ON_VIRTUAL_MEMBER_ERROR on private declarations
2022-06-07 14:12:13 +00:00
Pavel Mikhailovskii
65b2cee913
KT-23397 Optimize out field for property delegate when it's safe (JVM)
2022-06-07 10:46:01 +00:00
Pavel Mikhailovskii
3b5179686e
KT-52592 Fix NPE from KProperty.getExtensionDelegate on property delegated to another property; make $delegate methods private
2022-06-01 14:02:28 +00:00
Sergej Jaskiewicz
e03747ea7d
[JS IR] Introduce the GENERATE_INLINE_ANONYMOUS_FUNCTIONS feature flag
2022-06-01 09:02:31 +00:00
Sergej Jaskiewicz
c10af22b27
[JS IR] Lower lambdas into in-line anonymous functions when possible
...
Previously we always generated factories for contextful lambdas:
```kt
fun foo(a: Int) = { a }
```
```js
function foo(a_38) {
return foo$lambda(a_38);
}
// factory!
function foo$lambda($a) {
return function () {
return $a;
};
}
```
After this patch, the generated code for `foo` is more concise:
```js
function foo(a) {
return function() { return a; };
}
```
2022-06-01 09:02:30 +00:00
Sergej Jaskiewicz
5b61e60f2f
[JS IR] Support IrFunctionExpression in jsBind intrinsic
2022-06-01 09:02:29 +00:00
Victor Petukhov
96d1f89836
[BE] Support until operator in back-ends
2022-05-31 08:42:56 +00:00
Pavel Mikhailovskii
2ceccec2b8
KT-52551 Create a static initialization section in case of delegation to a property reference from a file class
2022-05-30 14:16:18 +00:00
Sergej Jaskiewicz
0614c519af
[JS] Convert SourceFilePathResolver to Kotlin, fix usages
2022-05-26 16:32:05 +00:00
Ivan Kylchik
07ba9be2e0
Fix error with interpreting name of java property
2022-05-24 08:25:17 +00:00
Zalim Bashorov
f22eed6dd8
[Wasm] Fix running wasm in the browser
2022-05-23 17:50:24 +02:00
Kristoffer Andersen
fcbc6b8459
[IR] Improve IR Symbols API and null discipline in ReflectiveAccess lowering
2022-05-20 23:06:19 +02:00
Kristoffer Andersen
0142d96319
[EE-IR] Account for toplevel properties in reflective lowering
2022-05-20 23:06:19 +02:00
Igor Yakovlev
3d3526e3d0
[WASM] Workaround for compiled wasm runs under node
2022-05-20 16:33:58 +02:00
Igor Yakovlev
73a86fffe5
[WASM] Bootstrap std compatibility fix
2022-05-20 16:33:57 +02:00
Igor Yakovlev
526e99891a
[WASM] Refcast and Reftest refactorings
2022-05-20 16:33:57 +02:00
Igor Yakovlev
1eaa266a95
[WASM] Minor refactorings
2022-05-20 16:33:57 +02:00
Igor Yakovlev
8da6ab7a04
[WASM] New VTable format
2022-05-20 16:33:57 +02:00
Svyatoslav Kuzmich
84ed3ff5b0
[Wasm] Don't generate wat format by default in box tests
...
Gives ~15% tests speedup
Use kotlin.wasm.debugMode=1 to enable old behaviour
2022-05-20 13:34:28 +00:00
Svyatoslav Kuzmich
d1c81eb6ba
[Wasm] Support Wasm GC milestone 5
2022-05-20 12:22:43 +03:00
Georgy Bronnikov
a8cc3ec316
Fir2IR: introduce IdSignature?.iscomposite()
2022-05-19 12:02:44 +02:00
Georgy Bronnikov
ad625a4631
Fir2Ir: deal with Java fields in FirIrProvider
2022-05-19 12:02:43 +02:00
Georgy Bronnikov
571ba9298e
Fir2Ir: put properties data from IrBuiltinsOverFir into symbol table
...
Properties themselves, accessors, backing fields.
2022-05-19 12:02:43 +02:00
Georgy Bronnikov
12d34589d8
Psi2Ir, Fir2Ir: always include return type into signature mangle of a function
2022-05-19 12:02:42 +02:00
Georgy Bronnikov
0ef474a8d3
Do not set parent for deserialized IR declarations
2022-05-19 12:02:42 +02:00
Georgy Bronnikov
ffe1615e9c
Fir: simplify IrBuiltInsOverFir
2022-05-19 12:02:42 +02:00
Georgy Bronnikov
0012ba79e1
Fir2Ir: rework FirIrProvider
2022-05-19 12:02:41 +02:00
Georgy Bronnikov
3f66b31a47
Fir2Ir: add irProviders to Fir2IrComponents
...
Removes the last use of DeclarationStubGenerator in the FIR pipeline.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov
13d4d60afa
Fir2Ir: pass Fir2IrExtensions to backend
2022-05-19 12:02:41 +02:00
Georgy Bronnikov
3c3c1be543
Fir2Ir: introduce Fir2IrExtensions
...
This allows us to remove DeclarationStubGenerator from Fir2IrConverter,
thus reducing dependency on descriptor-based code.
2022-05-19 12:02:41 +02:00
Georgy Bronnikov
6bc01f031c
JVM_IR: remove dependency of JvmFileFacadeClass on stub generator
2022-05-19 12:02:41 +02:00
Ivan Kylchik
73a571ef7f
Report warning from backend if constant expression cannot be evaluated
2022-05-18 21:20:04 +03:00
Ivan Kylchik
f3252334b2
Move most of ir utils from backend.common to ir.tree
2022-05-18 21:20:03 +03:00
Ivan Kylchik
40d224d5fe
Change error message of EXCEPTION_IN_CONST_VAL_INITIALIZER
2022-05-18 21:20:03 +03:00
Ivan Kylchik
20d0a531df
Add new tests to check evaluation of intrinsic сonsts
2022-05-18 21:20:02 +03:00
Ivan Kylchik
dca22d745a
Drop excessive lowerings that are replaced by ConstEvaluationLowering
2022-05-18 21:20:02 +03:00
Ivan Kylchik
0f0b48f87b
Move reporting of interpreter's backend errors tests to fir module
2022-05-18 21:20:01 +03:00
Ivan Kylchik
44cf64a00c
Convert const values in ranges without explicit cast
2022-05-18 21:20:01 +03:00
Ivan Kylchik
fac98b7787
Add possibility to dump lowered ir in tests before lowering execution
2022-05-18 21:20:00 +03:00
Ivan Kylchik
592baf134e
Change ir const checker to match new rules of IntrinsicConstEvaluation
2022-05-18 21:20:00 +03:00