Igor Chevdar
6d86d6ccdc
[box-tests] Turned on some tests on fun interfaces for JS & Native
2020-04-16 16:01:17 +05:00
Mikhail Zarechenskiy
4ffcbc0c2f
[NI] Properly support UnsafeVariance annotation
...
#KT-38134 Fixed
#KT-34433 Fixed
#KT-31823 Fixed
2020-04-16 13:55:47 +03:00
Anton Bannykh
81798282b9
JS: support explicit SAM constructor invocation
2020-04-15 17:13:21 +03:00
Mikhail Bogdanov
1de0fbfc3a
Add delegation tests for new default modes
2020-04-15 15:25:03 +02:00
Dmitriy Dolovov
76b0e7994b
JVM, JS: Use faster checks in IdePlatformKind.supportsTargetPlatform()
2020-04-14 21:07:06 +07:00
Dmitry Petrov
f42d9eefa1
KT-30330 Support KotlinNothingValueException in JVM
2020-04-10 08:47:03 +03:00
Mikhail Zarechenskiy
a7b959b88b
Fix delegated property resolve with intermediate ID provideDelegate
...
#KT-37406 Fixed
2020-04-09 13:34:29 +03:00
Mikhael Bogdanov
0c0bd67a6b
Add new tests
2020-04-09 07:37:30 +02:00
Alexander Udalov
fa879e667f
Add some tests on adapted references with varargs and reflection
...
Also rename "varargAndDefaults" test directory to "adaptedReferences"
2020-04-08 19:15:40 +02:00
Dmitry Petrov
ddf7f53118
Add more tests on inline class boxing in covariant overrides
2020-04-08 19:56:26 +03:00
Dmitry Petrov
9615b20e5d
Box inline class return value in lambdas (including suspend lambdas)
2020-04-08 19:56:26 +03:00
Dmitry Petrov
0c21d63290
Box inline class return value in covariant override of suspend fun
2020-04-08 10:50:58 +03:00
Igor Chevdar
b54148a6f1
Added a test on lateinit var inside a local class
2020-04-08 10:33:14 +03:00
pyos
b3e124ad66
Add a test where classes call inline functions from each other
2020-04-08 07:04:16 +02:00
pyos
82899e6243
JVM_IR: reuse MethodNodes for inline functions in same module
...
This fixes the weird cases when a class gets overwritten by an imperfect
copy, reduces the number of classes in the output if an inline function
contains an inline call that causes it to have regenerated anonymous
objects, and makes inlining of same module functions a bit faster in
general. On the other hand, this may increase memory footprint a bit
because classes cannot be flushed to the output jar, as the inliner
would not be able to locate classes for anonymous objects if they have
already been unloaded from memory.
2020-04-08 07:04:16 +02:00
Alexander Gorshenev
97be5617ca
Renamed -Xklib-mpp to -Xexpect-actual-linker to reduce user confusion
2020-04-08 05:23:12 +03:00
Svyatoslav Kuzmich
3ec13d5bd6
[JS IR BE] Support companion objects in external interfaces
...
These objects are referenced but value is not actually used.
Replace access to these references with null literals.
2020-04-07 21:19:14 +03:00
Victor Turansky
79bec82430
KT-34770 JS. Configurable properties. Test
2020-04-07 16:15:02 +03:00
Victor Turansky
5652d2657d
KT-34770 JS. Configurable properties. Old backend
2020-04-07 16:14:21 +03:00
Dmitry Petrov
dae8872aba
KT-37779 Treat named value arguments in vararg as arguments with '*'
2020-04-07 15:40:43 +03:00
Ilya Gorbunov
d115792d9a
Move a couple ad-hoc properties to buildSrc/BuildPropertiesExt
2020-04-07 10:54:34 +03:00
Victor Turansky
4d219d1eed
KT-31126 JS. Fix super constructor call. Test infra comment
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Victor Turansky
be39151fad
KT-31126 JS. Fix super constructor call. Tests
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Victor Turansky
6859e87be1
KT-31126 JS. Fix super constructor call. Old backend
...
Primary ordinary -> secondary external
2020-04-07 09:30:22 +03:00
Dmitry Petrov
d5ace43614
KT-37986 Force boxing of inline class returned from function reference
...
KT-37998 Provide KotlinType for safe call
2020-04-04 01:32:45 +03:00
pyos
5ed845d0b4
JVM_IR: reuse same bodies for suspend funs and $$forInline versions
2020-04-03 19:51:45 +02:00
Dmitry Petrov
24b8495e00
KT-30419 Box inline classes in return types of covariant overrides
...
Use boxed version of an inline class in return type position for
covariant and generic-specialized overrides.
Also fixes KT-35234 and KT-31585.
2020-04-01 22:59:14 +03:00
Mathias Quintero
34a64d9171
Making var arg kParameters default to empty array no argument given
...
fixes KT-29969
2020-04-01 16:00:16 +02:00
Alexander Udalov
3269a7e693
Change behavior of equals/hashCode on adapted function references
...
Function references are now equal if they refer to the same function,
and if the parameter/return type adaptation, which happens when a
reference is used where some function type is expected, is exactly the
same. This includes the number of expected positional parameters (which
can be affected by defaults/varargs), whether the coercion of vararg
parameter to Array type happened, and whether the coercion of return
type to Unit happened.
#KT-37543 Fixed
2020-04-01 14:18:49 +02:00
pyos
e98bdc6f8e
JVM: preserve call site markers when inlining lambdas
...
and default functions into their own stubs.
Fixes #KT-35006
2020-03-31 16:06:57 +02:00
pyos
9d21800d8f
JVM: fix SMAP range extension logic
...
If `mapLineNumber` was called in non-monotonic order, e.g. N then N+2
then N+1, the first two calls created a range that spans [N; N+2] but
the third call did not reuse it.
2020-03-31 16:06:57 +02:00
Mikhail Zarechenskiy
38a719cb22
[NI] Fix trace manipulations for builder inference and ::-expressions
...
For a class literal Type::class we are resolving Type as a constructor,
getting all diagnostics (about missing arguments, for example) and then
just not committing this trace with errors
#KT-37626 Fixed
2020-03-31 15:50:58 +03:00
Dmitry Petrov
cec64a2ec7
KT-37861 'this' is uninitialized in constructor default parameters
2020-03-30 17:23:15 +03:00
Alexander Udalov
844b0078ba
Minor, remove unneeded dependency of 'js.parser' on 'util'
2020-03-28 21:30:06 +01:00
Alexander Udalov
7bb77e5672
Move JS binary version utilities to 'js.config'
...
This allows to replace dependency of 'util' on 'deserialization' with
dependency on 'descriptors'.
2020-03-28 21:30:06 +01:00
Alexander Udalov
fe5104b865
Move package org.jetbrains.kotlin.incremental.js to 'js.config'
...
This allows to replace dependency on 'js.frontend' with 'js.config', in
'kotlin-build-common' and 'daemon-common'. Also simplify some other
dependencies.
2020-03-28 21:30:05 +01:00
Alexander Udalov
4dcd0d1cb6
Extract module 'config' out of 'frontend'
...
Also move deprecated TargetPlatform there. This allows to get rid of the
dependency cli.common -> frontend, and even on frontend.common.
2020-03-28 21:30:05 +01:00
Alexander Udalov
143aef938b
Extract module 'js.config' out of 'js.frontend'
...
This allows to get rid of dependency cli.common -> js.frontend.
2020-03-28 21:30:05 +01:00
Alexander Udalov
8dd04789ad
Remove obsolete InlineStrategy
...
Replace corresponding metadata property in js.ast with Boolean. This
allows to get rid of dependency of 'js.ast' on 'frontend'.
2020-03-28 21:30:03 +01:00
Igor Chevdar
d808ef10b2
Added some tests on local classes in inline bodies
2020-03-28 15:26:19 +03:00
Igor Chevdar
90abf1fda0
[JS_IR] Don't capture the bound receiver of a CR
2020-03-28 15:26:19 +03:00
Dmitry Petrov
042424d599
KT-27524 Don't box (some) inline classes in suspend fun return
...
If an inline class is mapped to a reference type (or an array), it's Ok
to treat JVM view on a suspend function as returning a value of
corresponding inline class (although in reality it returns 'Any?'
because of COROUTINE_SUSPENDED).
2020-03-27 18:29:36 +03:00
Roman Artemev
6e01ec8dd3
[IR] Fix translation of synthetic generic java properties
...
- Compute substituted accessor descriptor to avoid unbound type parameters
2020-03-27 10:52:33 +03:00
Mikhail Glukhikh
afa7899799
Regenerate compiler tests
2020-03-25 19:17:51 +03:00
pyos
be37e7135a
Add a test for SMAPs with interleaved files
2020-03-25 14:03:32 +01:00
pyos
4558d48481
JVM: add a language feature to omit *E between SMAP strata
...
Fixes #KT-37704
2020-03-25 10:33:59 +01:00
Dmitry Petrov
afacb4b4b2
KT-37604 Use proper type when generating constructor call
2020-03-24 11:31:47 +03:00
Mikhail Zarechenskiy
191fb02bf6
[NI] Consider intersection type with number type as Nothing
...
Currently, only for "in": In<in Int & A> == In<in Nothing> == In<*>
#KT-37302 Fixed
2020-03-23 16:39:21 +03:00
Georgy Bronnikov
4742057b51
IR: generate lambdas in place in Psi2Ir
...
even when arguments are to be rearranged.
Lambdas have no side effects, and storing them in temporary variables
prevents processing in the backend
(such as inserting continuation parameter in AddContinuationLowering).
2020-03-23 11:09:30 +03:00
Zalim Bashorov
d07436c831
[IDE KJS] Move JsResolverForModuleFactory to proper place
2020-03-20 01:27:41 +03:00