Igor Yakovlev
ab9e8c2d3a
Add @get/@set JvmName support for properties
2019-05-13 11:21:11 +03:00
Denis Zharkov
1b5f72bd59
Enable ultra-light classes by default
...
^KT-29267 Fixed
2019-05-13 11:21:11 +03:00
Mads Ager
e8fbd42f7c
JVM_IR: Support access flag jvm annotations on fields and methods.
2019-05-13 08:34:52 +02:00
Jiaxiang Chen
0020e953e1
Change order of line number geneartion for function call, and also force
...
line number generation after visiting inline functions.
2019-05-11 13:38:24 +02:00
max-kammerer
eeb1c0a0fc
Merge pull request #2321 from neetopia/irLineNumberTestFix
...
Fix compareCustom function in IrLineNumberTest class, to exclude comment
2019-05-10 11:40:19 +02:00
Steven Schäfer
570ee38256
Implement special cases for the hashCode intrinsic in JVM_IR
2019-05-10 09:40:57 +02:00
Ting-Yuan Huang
1c3b895fc0
Generate accessors for super calls if necessary
...
Current implementation of calls with super qualifier relies on
invokespecial, which has some more constraints than regular virtual
invocations. When those constraints aren't met, accessors are needed.
2019-05-10 08:57:37 +02:00
Mads Ager
99e7ae6b3f
Fix typo in expectation files for command line tests.
...
The expectations contained ';' instead of ':' which makes two
CLI tests fail.
2019-05-09 16:57:29 +02:00
pyos
4d9661890a
Test reification of type parameters into Array(size, init)
...
(cherry picked from commit 6daa61ef5f )
2019-05-09 11:54:43 +02:00
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
Jiaxiang Chen
2c5ebf3ab2
Fix compareCustom function in IrLineNumberTest class, to exclude comment
...
lines that are not related for line number verification.
Unmute a test case should have been unmuted but shadowed by this bug.
2019-05-08 12:53:45 -07: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