Igor Laevsky
e331a52e75
[Wasm] Mute/unmute box tests after kotlin.test support
2021-10-14 17:24:05 +03:00
Svyatoslav Kuzmich
9ef899ef10
[Wasm] Reuse Callable reference and SAM lowerings from JS
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
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
6eb81517a0
[Wasm] Unmute passed Wasm tests
2021-10-02 06:14:35 +00:00
Svyatoslav Kuzmich
c88cde2f8b
[Wasm] DONT_TARGET_WASM_BACKEND => IGNORE_BACKEND in testdata
2021-10-02 06:14:35 +00:00
Svyatoslav Kuzmich
ab9a23cbfa
[Wasm][Stdlib] Reuse K/N collections and StringBuilder
2021-10-01 17:18:49 +03:00
Svyatoslav Kuzmich
6db7154876
[Wasm] Build bridges for non-virtual functions that implement interfaces
2021-09-22 19:49:43 +03:00
Igor Yakovlev
41a69ad388
[WASM] Add receiver capturing to callable references
2021-09-20 19:08:22 +03:00
Mads Ager
b51ff799cb
Fix IteratorNext intrinsic to cast its dispatch receiver to
...
the expected type.
^KT-47741 Fixed.
2021-07-16 21:07:11 +02:00
Andrey Zinovyev
ddc9c1bd1b
[FIR] Fix extension property reference resolution
...
On type with star projection
#KT-44372 Fixed
2021-06-09 15:15:28 +03:00
pyos
d5d6736e67
PSI2IR/FIR2IR: do not approximate T!! before translation
...
This leads to weird effects when it's in a contravariant position,
because it's approximated by Nothing.
2021-05-12 11:37:48 +03:00
pyos
a37db99841
JVM_IR: remove a hack from InlineCallableReferenceToLambda
...
It breaks other things, the same problem is hit by FunctionReference,
and it's the translation layer's fault anyway.
#KT-46555 Fixed
2021-05-12 11:37:47 +03:00
Svyatoslav Kuzmich
b6ad1584c9
[Wasm] Improve interface method dispatch
...
- Use typed Wasm tables for each interface method to avoid runtime
function type check
- Use linear search by implemented interface rather than by individual
virtual function signature
2020-12-30 19:29:10 +03:00
Denis Zharkov
14305d1eba
FIR: Simplify callable references resolution
...
Also that fixes some bugs
2020-11-16 15:50:39 +03:00
Svyatoslav Kuzmich
fdd7fa5aea
[Wasm] Mute codegen box tests
2020-11-09 16:04:43 +03:00
Alexander Udalov
2f003bdcb5
Minor, add regression test
...
#KT-42527
2020-10-07 21:31:43 +02:00
Denis Zharkov
3dfbd36f15
FIR: Unmute passing blackbox tests
2020-10-01 17:49:02 +03:00
Jinseong Jeon
72dea05854
FIR2IR: approximate type argument if reified
2020-09-17 09:43:46 +03:00
Dmitriy Novozhilov
b21a0213df
[NI] Get rid of FE 1.0 types in AbstractTypeApproximator
2020-08-28 10:59:51 +03:00
Ilya Gorbunov
2fe222e8e7
Add SKIP_DCE_DRIVEN directive in JS-IR tests
...
Otherwise they fail with a compiler exception:
"An operation is not implemented: SAM conversion"
2020-06-17 19:45:15 +03:00
Mikhail Zarechenskiy
718f23b34f
Compatibility warning for references to companion via name (KT-13934)
2020-06-05 13:24:18 +03:00
simon.ogorodnik
8afbb4542b
[FIR2IR] Fix check if interface is SAM
2020-05-29 21:10:56 +03:00
Vitaly
fe047f9b47
[JS BE] mutes tests for JS_IR_ES6, which muted for JS_IR
2020-05-27 00:32:56 +03:00
Denis Zharkov
e1e149a062
FIR: Support coercion-to-unit semantics for callable references
2020-05-18 11:17:45 +03:00
Mikhail Glukhikh
e7e80be34a
[FIR2IR] Populate overridden symbols even for !isOverride
...
Before this commit we considered !isOverride as a sign that
function / field / accessor has no overridden symbols.
However, it's false for deserialized, because isOverride
is always false there.
This commit fixes 68 BB tests but breaks 25 BB tests (not yet muted)
2020-05-14 13:40:36 +03:00
Mikhail Glukhikh
96d8b0bea3
FIR: make KFunctionX derived from KFunction
2020-04-20 17:05:37 +03:00
simon.ogorodnik
356e42196c
[FIR2IR] Fix inner class constructor receiver parameter type
2020-04-13 20:26:19 +03:00
Mikhail Glukhikh
a377a6fccb
[FIR2IR] Handle references to constructors separately
2020-03-31 20:27:40 +03:00
Jinseong Jeon
078cf02c8a
FIR: Provide dispatch receiver for 'field' according to property type
2020-03-30 16:57:53 +03:00
Mikhail Glukhikh
d4ae992417
[FIR] Apply type arguments for callable references
2020-03-30 16:23:11 +03:00
Mikhail Glukhikh
697006d782
[FIR2IR] Re-use receiver application logic in callable ref conversion
2020-03-30 16:23:10 +03:00
Jinseong Jeon
cdf5a2a5a1
FIR: set dispatch receiver parameter for inner class's constructor.
2020-03-25 12:40:09 +03:00
Mikhail Glukhikh
9836520287
[FIR2IR] Generate synthetic bodies for Enum.values() and valueOf()
2020-03-20 11:55:34 +03:00
Mikhail Glukhikh
20c4a7b244
[FIR2IR] Introduce staged transformation (first step)
...
Now FE IR -> BE IR transformation is performed in multiple stages
controller by Fir2IrConverter. Stages are
* files & classes registration
* supertypes & type parameters handling
* functions & properties signature generation
* body generation
After each step we have guarantee (with exception of local classes &
type inference combination, and external symbols) that required symbols
(class/function/property/variable/type parameter)
are already bound to real declarations and have correct parents.
This commit also fixes incorrect parents for local classes
2020-03-13 12:18:02 +03:00
Steven Schäfer
bb5a639153
JVM IR: Turn static callable references into singletons
2020-03-05 22:19:53 +03:00
Roman Artemev
161bb72439
[JS IR] Update test data
2020-03-03 18:54:36 +03:00
Mikhail Glukhikh
2308e5bb7c
FIR2IR: in case of use-site generic type use call from original class
2020-02-28 15:29:02 +03:00
Mikhail Glukhikh
096dc25701
FIR: change callableId of fake overrides to derived class owner
2020-02-28 15:29:02 +03:00
Georgy Bronnikov
963258189a
JVM_IR: change parameter type computation in InlineCallableReferenceToLambda
...
The reference type is approximated in Psi2Ir, so we may get Nothing as
a reference type argument. Better look at the arguments of the
referenced function.
2020-02-28 12:59:21 +03:00
Juan Chen
9dd8eda1c9
[FIR]: fix library methods in packages
...
Library methods such as 'listOf' are resolved
to have the package fragments as their parents,
but JVM expects their containing file classes as parents.
This fix generates those file classes and
uses them as parent replacements for such library methods.
2020-02-20 14:24:02 +03:00
Mikhail Glukhikh
ace259314b
Use 'symbol' instead of 'classId' in FirResolvedQualifier
...
This commit solves problem with resolved qualifier of local class
#KT-36758 Fixed
2020-02-19 22:41:23 +03:00
Denis Zharkov
5a2cdfcab4
FIR: Run callable references resolution for synthetic-select calls
2020-02-12 16:05:11 +03:00
Juan Chen
04e8cba857
[FIR] fixed overridden symbols of "invoke" in KFunction
...
IR expects overridden symbols of "invoke" in KFunction to be "invoke"
in the corresponding Function classes.
Before this commit we don't set overriddenSymbol, now we do.
2020-02-11 16:09:21 +03:00
Juan Chen
7249d2f889
[FIR] Fix translation of invokes & add return expressions for lambdas
...
* fixed NoSuchMethod caused by mismatched signatures of the "invoke" method generated for lambda arguments
* added test cases in invoke.kt for KFunction and anonymous functions
* added a transformer to wrap the last expression in the bodies of lambdas with return
2020-02-06 12:44:14 +03:00
Dmitriy Novozhilov
5111d1721a
[TEST] Add js runtime to failing box test
2020-01-15 22:12:29 +03:00
Dmitriy Novozhilov
04ce10b6c1
[NI] Improve completing callable references with type variable as expected type
...
#KT-32462 Fixed
2020-01-15 22:12:28 +03:00
Steven Schäfer
929fb5c82b
Mute FIR tests containing broken function calls
2020-01-08 13:20:00 +01:00
Mark Punzalan
9df2f69f09
[FIR] Disable failing blackbox codegen tests for FIR.
2019-11-19 11:00:09 +03:00
Anton Bannykh
fadeac083f
JS: fix reified T::class for primitive T (e.g. Int) (KT-32215 fixed)
2019-06-28 13:49:22 +03:00