pyos
3171129c3c
JS_IR: remove traces of @kotlin.native.internal.InlineConstructor
...
This is a hack used by Kotlin/Native purely to implement Array
constructors. Since there's a lowering that does that, and inline
constructors are not part of the language (although they theoretically
could be), the code is redundant.
(cherry picked from commit a74fae246b )
2019-05-09 11:54:35 +02:00
pyos
08da078842
JVM_IR: implement IrReturnableBlock codegen
...
(cherry picked from commit 530ad368fe )
2019-05-09 11:54:26 +02:00
pyos
683f8417d3
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
(cherry picked from commit 4a29e3cfcf )
2019-05-09 11:54:18 +02:00
max-kammerer
e74e0ea013
Revert "Add a common JVM/JS lowering for Array(size, function)"
...
This reverts commit 4a29e3cfcf .
2019-05-09 11:49:34 +02:00
max-kammerer
856a1649c6
Revert "JVM_IR: implement IrReturnableBlock codegen"
...
This reverts commit 530ad368fe .
2019-05-09 11:49:34 +02:00
max-kammerer
05d352769b
Revert "JS_IR: remove traces of @kotlin.native.internal.InlineConstructor"
...
This reverts commit a74fae246b .
2019-05-09 11:49:34 +02:00
max-kammerer
8560459dc6
Revert "Test reification of type parameters into Array(size, init)"
...
This reverts commit 6daa61ef5f .
2019-05-09 11:49:34 +02:00
pyos
6daa61ef5f
Test reification of type parameters into Array(size, init)
2019-05-09 08:03:18 +02:00
pyos
a74fae246b
JS_IR: remove traces of @kotlin.native.internal.InlineConstructor
...
This is a hack used by Kotlin/Native purely to implement Array
constructors. Since there's a lowering that does that, and inline
constructors are not part of the language (although they theoretically
could be), the code is redundant.
2019-05-09 08:03:18 +02:00
pyos
530ad368fe
JVM_IR: implement IrReturnableBlock codegen
2019-05-09 08:03:18 +02:00
pyos
4a29e3cfcf
Add a common JVM/JS lowering for Array(size, function)
...
and remove the hack from JVM_IR codegen that replaces this call with
hardcoded inline function bytecode.
2019-05-09 08:03:18 +02:00
Svyatoslav Kuzmich
f4bb1354c9
[JS IR BE] Support friend modules
2019-05-08 23:34:00 +03:00
Mikhail Zarechenskiy
516fccbe7b
[NI] Complete call if return type contains only "good" type variables
2019-05-08 12:19:52 +03:00
Mikhail Zarechenskiy
61bd3a8d03
[NI] Complete call if return type has proper lower or equal constraints
...
There was a silly bug: equal constraint is actually a lower and an upper
constraint, but we checked only presence of lower constraints.
Test is important as here we have one equal constraint and should
complete inner call `foo<Int>()` without propagating it to `bar` to
avoid using `NoInfer` annotation multiple times
2019-05-08 12:19:50 +03:00
Mikhail Zarechenskiy
6c9394f0b2
[NI] Use original implicit receiver for DSL violation check
...
There is an inconsistency between old and new inference for storing
receivers of resolved calls. In new inference, for captured types,
receiver will be changed and to preserve behavior of the old inference,
we use original one during important checks.
This is more a workaround than a solution and should be revisited.
#KT-31356 Fixed
#KT-29948 Fixed
#KT-31360 Fixed
2019-05-08 12:19:48 +03:00
Mikhail Zarechenskiy
c283e15425
[NI] Preserve annotations during type substitution
...
#KT-31346 Fixed
2019-05-08 11:26:20 +03:00
Svyatoslav Kuzmich
f9c12db3b5
[JS IR] Unmute tests
2019-05-07 21:49:12 +03:00
Svyatoslav Kuzmich
e3bcabeae3
[JS IR] stdlib: Fix bugs in Long.toString(radix)
2019-05-07 21:49:12 +03:00
Nikolay Krasko
9b9bfe7ba3
Don't produce references for Kotlin block
2019-05-07 16:12:24 +03:00
Nikolay Krasko
78200dd38e
Get Kotlin references through Kotlin contributors only (KT-31129)
...
Speed up getting references and protect Kotlin from slow
references contributors.
#KT-31129 Fixed
2019-05-07 16:12:24 +03:00
Svyatoslav Kuzmich
0de1242f68
[JS IR BE] Unmute passed tests
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
331625a9bb
[JS IR BE] Lower kotlin.js.Json external interface methods
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
d6c9375196
[JS IR BE] Preserve package fqName when moving external declarations out
...
Create separate package fragment for each fqName of external declaration package
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
2741ecaaad
[JS IR BE] Materialize Unit object during upcasts in AutoBoxingTransformer
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
58bed0f932
[JS IR BE] Fix types of in secondary ctor lowering
...
Type of IrDelegatingConstructorCall is 'kotlin.Unit'
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
d6761d323c
[JS IR BE] Fix return targets inside state machine
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
feeb6e9862
[JS IR BE] Fix type for lowered cast expression
...
Safe cast result type is different from its type operand.
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
fc0a0f41d2
[JS IR BE] Fix: patch parents problems
...
* Patch parents for state machine builder
* Patch parents for declarations inside default value of actual parameter
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
130d2d00c3
[JS IR BE] Fix unboxing empty inline class varargs
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
0aae760469
[JS IR BE] Fix block decomposition lowering for dynamic expressions
2019-05-06 19:34:25 +03:00
Svyatoslav Kuzmich
17178628fb
[JS IR BE] Support bridges for special methods
...
Mostly reused from JVM IR lowering.
Shared logic moved to common backend module.
2019-05-06 19:34:25 +03:00
Mikhael Bogdanov
ec6904afd1
Minor. Fix test data
2019-05-06 17:34:02 +02:00
Mikhail Zarechenskiy
1fecd15355
[NI] Fix exception on capturing stub type from coroutine-inference
...
#KT-30853 Fixed
2019-05-06 18:05:02 +03:00
pyos
90f11211d3
JVM_IR: wrap performInline in enterIntoInlining/exitFromInliningOf
2019-05-06 16:23:28 +02:00
Mikhail Zarechenskiy
931bbd8cec
[NI] Support ad-hoc implicit integer coercion for Kotlin/Native
2019-05-06 16:59:30 +03:00
Dmitry Gridin
9062a2fe72
Fix false positive "Unused import directive" for imports under several alias
...
#KT-30949 Fixed
2019-05-06 18:10:51 +07:00
Mikhail Zarechenskiy
2f835ed66f
Specify type arguments to fix compilation against bootstrap compiler
2019-05-06 14:00:19 +03:00
Mikhail Zarechenskiy
8446ea8a6b
[NI] Avoid substituting type variables inside captured types
...
This fixes exception in CreateAnnotation#testAnnotationType test
2019-05-06 14:00:17 +03:00
Mikhail Zarechenskiy
4ed5c5363f
[NI] Update testdata after 03e5e55f
2019-05-06 13:59:32 +03:00
Mikhail Zarechenskiy
871925ba31
Fix compilation after rebase
2019-05-06 11:36:32 +03:00
Dmitriy Novozhilov
03c34691af
[NI] Expand TYPE_INFERENCE_ERRORS with diagnostics from NI
2019-05-06 11:36:25 +03:00
Dmitriy Novozhilov
e46f552a8d
[NI] Update testdata in diagnostic tests
2019-05-06 11:36:20 +03:00
Dmitriy Novozhilov
ad1b8a6fb1
[NI] Add substitution of lambda return type in diagnostics
2019-05-06 11:36:18 +03:00
Dmitriy Novozhilov
b4dbf0f9a4
[NI] Fix inference for constraints with captured in projection
2019-05-06 11:36:16 +03:00
Dmitriy Novozhilov
8f22d43d01
Typo: fix function name in kotlinToResolvedCallTransformer
2019-05-06 11:36:15 +03:00
Dmitriy Novozhilov
d18c55a412
[NI] Fix reporting type mismatch on lambda parameters
2019-05-06 11:36:13 +03:00
Dmitriy Novozhilov
f7091dd1e9
[NI] Uncapture captured types in diagnostics
2019-05-06 11:36:11 +03:00
Dmitriy Novozhilov
e6deaf3315
[NI] Fix reporting UNSAFE_IMPLICIT_INVOKE_CALL diagnostic
2019-05-06 11:36:09 +03:00
Dmitriy Novozhilov
251a02f71d
[NI] Fix recording type of lambda in trace
2019-05-06 11:36:08 +03:00
Dmitriy Novozhilov
233dd3ffba
[IDEA] Approximate IntegerLiteralType on IDEA side
2019-05-06 11:36:06 +03:00