Commit Graph

37717 Commits

Author SHA1 Message Date
Mikhail Glukhikh 39fe457f91 Add test reproducing KT-49087 and KT-49069 2021-10-12 16:22:54 +03:00
Ilmir Usmanov d0a70e5cc0 Minor. Use safe cast in isStaticInlineClassReplacementDelegatingCall 2021-10-12 15:09:07 +02:00
pyos 226306ac83 IR: check whether local declarations need to throw after Nothing return
^KT-48982 Fixed
2021-10-12 15:09:05 +02:00
Dmitry Petrov a213dad9ab JVM_IR add more tests for specialized generics and reification 2021-10-12 15:56:38 +03:00
Dmitry Petrov 0098103376 JVM_IR minor: update test 2021-10-12 15:56:36 +03:00
Dmitry Petrov b184c72e3d JVM_IR make proxy funs synthetic, fix some typos 2021-10-12 15:56:35 +03:00
Dmitry Petrov e0c2a2efd7 JVM_IR Minor: remove outdated TODO 2021-10-12 15:56:34 +03:00
Dmitry Petrov 005d3b1f6f JVM_IR pass reified type parameters in indy SAM conversion proxy 2021-10-12 15:56:33 +03:00
Dmitry Petrov 40fe67880b JVM_IR wrap function into a proxy if indy SAM-conversion becomes valid 2021-10-12 15:56:31 +03:00
Svyatoslav Kuzmich a6afb7cb41 [JS IR][Wasm] Preload (Suspend)FunctionN needed in lowerings
This reverts commit 15d178d850d15675ee39cbd833d13f4c8aed83ff.
2021-10-12 08:42:01 +03:00
Svyatoslav Kuzmich 3bce0cc055 [Wasm] Support coroutines
- Reuse JS IR Suspend function lowering
  - Fix types
  - Disable reinterpretCast-based optimization for inline
    classes
- Add basic support to Wasm stdlib
- Explicitly transform suspend functions into regular functions
  with continuations
- Clean suspend function handling from JS IR codegen
2021-10-12 08:42:01 +03:00
Svyatoslav Kuzmich e3f826d1b9 [Wasm] Handle IrClass::thisReceiver receiver outside of constructors 2021-10-12 08:42:01 +03:00
Svyatoslav Kuzmich bcab78599f [Wasm] Fix result of statically-know type operators
- Use subclass with erased types to match runtime behavior
- Handle casting to Nothing
2021-10-12 08:42:01 +03:00
Svyatoslav Kuzmich 15acc412ba [Wasm] Update testdata after coroutines support 2021-10-12 08:42:00 +03:00
Roman Artemev 686e5e7f2b [TEST] Fix test data.
Due to JS IR runner doesn't override stdout test fails.
Remove using stdout from test.
2021-10-11 21:19:28 +03:00
Sergej Jaskiewicz 360c0170be fixup! Mute the test on WASM 2021-10-11 15:57:53 +00:00
Sergej Jaskiewicz 9ee8f1e961 [JS IR] Enable StringTrimLowering for JS IR backend 2021-10-11 15:57:53 +00:00
Mikhail Glukhikh 9a5058849e Delay ExtensionPropertyTypeParameterInDelegate forbiddance to 1.7
Related to KT-24643
2021-10-11 13:04:39 +03:00
Ilmir Usmanov 5a47eaf215 Fix @JvmInline value class tests for JS BE 2021-10-11 12:09:52 +03:00
zhelenskiy 1da46586bd Replaced deprecated inline classes with JvmInline value classes in tests 2021-10-11 12:09:51 +03:00
Ilya Goncharov b0aefd543a [JS IR] Fix offsets and add new test
[JS IR] Use TypeSubstitutor for full substitution of types

- adding new tests

[JS IR] Commonize context and use in wasm

[JS IR] Add test with receiver with callable reference

[JS IR] Add prerequisites around inlining and callable references

[JS IR] Review fixes

- Add test with bounded type parameter
- Remove redundant casts
- Use offsets for synth function
- Correct traversing

[JS IR] Not use origin for not inlined function reference

[JS IR] Move util into common place

[JS IR] Fix offsets

[JS IR] Add type parameter argument and using value in test

[JS IR] Wrap inlined callable references with reified parameters

[JS IR] Add test on callable reference inlined fun

Merge-request: KT-MR-4722
2021-10-11 09:02:08 +00:00
Artem Kobzar c9510af2c7 test(KT-47806): add tests for the uncovered behavior for generic companion function extensions. 2021-10-11 08:56:52 +00:00
Georgy Bronnikov a9ce25cf33 JVM_IR: only serialize inline functions themselves with -Xserialize-ir=inline 2021-10-11 11:53:30 +03:00
Georgy Bronnikov 4caa71538d JVM_IR: introduce modes for IR serialization
Instead of a Boolean flag -Xserialize-ir, use modes: none,inline,all.
In "inline" mode, only information needed to deserialize bodies of inline
functions is serialized.
In the "all" mode, all declarations are serialized completely.
2021-10-11 11:53:29 +03:00
Ilmir Usmanov f760cd6736 Make CHECKCAST Object not break tail-call optimization
Since CHECKCAST Object does nothing for return value of suspend
function - the function returns references only, this is safe.
 #KT-49157 Fixed
2021-10-11 06:40:26 +00:00
Dmitry Petrov 31d7d341d4 JVM_IR KT-41214 minor: update testData 2021-10-09 17:07:37 +03:00
Dmitriy Novozhilov 8fd2474b9e [Test] Generated FIR codegen tests on modern jdk 2021-10-09 17:07:37 +03:00
Dmitriy Novozhilov 63d841247c [FIR2IR] Properly setup IrClass.sealedSubclasses 2021-10-09 17:07:36 +03:00
Dmitry Petrov 146f0f4904 JVM_IR KT-41214 emit PermittedSubclasses on JDK17+ 2021-10-09 17:07:35 +03:00
Artem Kobzar dca4a8e722 fix(KT-45056, KT-47516): use enum as an IR class instead of enum entity class. 2021-10-08 16:21:49 +00:00
Ivan Kochurkin 3dd8ad3599 [FIR] Fix resolving of local class reference chain ^KT-47135 Fixed 2021-10-08 18:52:21 +03:00
Ivan Kochurkin cbfe0ac073 [FIR] Coerce first parameter to extension receiver ^KT-46371 Fixed
Fix typos
2021-10-08 18:52:20 +03:00
Ivan Kochurkin cc4dac5bec [FIR] Fix false positive TYPE_VARIANCE_CONFLICT in nested class ^KT-49078 Fixed 2021-10-08 18:52:19 +03:00
Ivan Kochurkin 6c7c1a7a0d [FIR] Convert REDUNDANT_MODIFIER, DEPRECATED_MODIFIER_PAIR to warnings ^KT-49073 Fixed 2021-10-08 18:52:18 +03:00
Roman Artemev 876a0d9b7b [IR] Add test about default arguments in expect declaration for HMMP
KT-45542
2021-10-08 16:07:10 +03:00
Roman Artemev 5a64f64ba3 [KLIB] Propagate default arguments in expect-actual resolution
- refactor code a bit
 - fix KT-45542
2021-10-08 16:07:04 +03:00
Ilya Goncharov 669965d56c [JS IR] Generate main method call only for main module 2021-10-08 10:08:57 +00:00
Dmitry Petrov 27860ef008 JVM_IR KT-49136 don't optimize null checks on fields and calls 2021-10-08 08:55:24 +03:00
Svyatoslav Kuzmich 9ef899ef10 [Wasm] Reuse Callable reference and SAM lowerings from JS 2021-10-08 07:24:41 +03:00
Svyatoslav Kuzmich fbbd436e54 [Wasm] Log interfaces implementations ids in type info logging 2021-10-08 07:24:41 +03:00
Svyatoslav Kuzmich 1ed2748334 [Wasm] Generate [K][Suspend]FunctionN on demand and support big arity 2021-10-08 07:24:41 +03:00
Simon Ogorodnik 64a30cd95e KT-44765: Fix classloader leak in CoreJrtFileSystem 2021-10-08 04:09:56 +03:00
Svyatoslav Kuzmich aa5f98f919 [JS] Remove KJS_WITH_FULL_RUNTIME for tests that already have WITH_RUNTIME 2021-10-07 22:36:18 +03:00
Svyatoslav Kuzmich e18980b7ad [Wasm] Clean wasm testdata annotations 2021-10-07 22:36:17 +03:00
Ilya Muradyan 58831eacca [scripting] Make properties from destructing declarations available with reflection 2021-10-07 18:17:21 +03:00
Denis.Zharkov 1c16f2f8c9 Fix ClassCastException at FirUninitializedEnumChecker 2021-10-07 17:26:29 +03:00
Denis.Zharkov 0d072de737 Do not check package validness for ones that we just checked already 2021-10-07 17:26:28 +03:00
Denis.Zharkov f5da8957b4 FIR2IR: Support not found dependencies classes
^KT-49119 Relates
2021-10-07 17:26:27 +03:00
Denis.Zharkov 9230195317 FIR2IR: Prettify some parts at Fir2IrTypeConverter.kt 2021-10-07 17:26:26 +03:00
Denis.Zharkov 9d9f191f51 FIR: Fix exception caused by empty supertypes of java.lang.Object 2021-10-07 17:26:25 +03:00