Ilya Gorbunov
ebc64da52a
Update EXPECTED_REACHABLE_NODES after introducing top-level comparator
...
#KT-18067
2018-08-15 21:28:57 +03:00
Dmitry Petrov
8e95ecb821
Use underlying type when computing type mapping mode for inline classes
2018-08-15 15:37:46 +03:00
Ilmir Usmanov
a470fd21ca
Eliminate only first {ASTORE, ALOAD} in locals elimination
...
of ALOAD.
#KT-25912: Fixed.
2018-08-15 13:45:24 +03:00
Svyatoslav Kuzmich
ff70b837ee
[JS IR BE] Support local delegated properties
2018-08-15 13:35:14 +03:00
Svyatoslav Kuzmich
392ad521fd
[JS IR BE] Reflection support
2018-08-15 13:35:14 +03:00
Dmitry Petrov
ebf8ec455d
Box/unbox nullable inline class values with null check
...
When we have a nullable inline class value with non-null underlying
type, corresponding value in unboxed representation is nullable. E.g.:
inline class Str(val value: String)
fun test(s: Str?) = listOf(s)
Here 'test(s: Str?)' accepts nullable 'java.lang.String' as a parameter.
When boxing/unboxing nullable values of such inline classes, take care
of nulls.
#KT-26052 Fixed Target versions 1.3-M2
2018-08-14 10:22:07 +03:00
Dmitry Petrov
0af33462ef
Fix code generation for Array<C> element access where C is inline class
2018-08-13 08:49:04 +03:00
Anton Bannykh
a2f44c3caf
JS: Recreate Nashorn script engine occasionally
...
Otherwise execution slows down significantly.
2018-08-10 22:15:37 +03:00
Dmitry Petrov
4f6aa50417
Fix == for inline classes with boxes
...
TODO generalize code generating object vs primitive equality
#KT-25914 Fixed
#KT-25981 Fixed
#KT-25983 Fixed
2018-08-10 10:34:57 +03:00
Roman Artemev
6c8e30eb05
Fix test failures
...
* add metadata
* unmute working tests
* mute temporary broken ones
2018-08-09 20:55:50 +03:00
Zalim Bashorov
3c765e3625
[JS BE] Support val in when subject
...
#KT-25014 Fixed
2018-08-09 16:22:25 +03:00
Zalim Bashorov
289ff845c4
Minor: remove extra slash from a testdata file
2018-08-09 16:22:25 +03:00
Anton Bannykh
2c4e21ca36
JS box tests via Mocha: respect the ignoreTestFailures flag
2018-08-09 15:00:54 +03:00
Mikhail Zarechenskiy
be38263fc7
Introduce conversions from signed pure constants to unsigned ones
...
#KT-24717 In Progress
#KT-25996 Open
#KT-25997 Open
2018-08-09 09:47:48 +03:00
Roman Artemev
36a99da820
Break/finally chain in suspend function test fix & workaround
2018-08-08 19:11:17 +03:00
Roman Artemev
efec82c0eb
Update test data
...
* add new tests for coroutines
* add copy of some tests without dependency on stdlib
2018-08-08 18:33:41 +03:00
Roman Artemev
c62e4b4fcf
[JS IR BE] Support coroutines
...
* Move FinallyBlockLowering to common part
* Fix catching of dynamic exception
* Fix bridges for suspend functions
* Disable explicit cast to Unit
* Run lowering per module
* Update some test data
2018-08-08 18:33:39 +03:00
Svyatoslav Kuzmich
a1c10956cb
[JS IR BE] Support super calls for methods of Any
2018-08-07 14:41:50 +03:00
Alexander Udalov
14b8f4b52b
Minor, change package of outputUtils.kt
2018-08-07 13:38:30 +02:00
Mikhail Zarechenskiy
55e7def3c1
Fix coercion for stack value property in case of inline classes
...
#KT-25771 Fixed
2018-08-06 17:45:20 +03:00
Mikhail Zarechenskiy
6d4d244c28
Generate function from Any for inline classes same as for data classes
...
#KT-24873 Fixed
#KT-25293 Fixed
#KT-25299 Fixed
2018-08-06 10:56:01 +03:00
Mikhail Zarechenskiy
043ce1cb27
Support secondary constructors for inline classes
...
#KT-25614 Fixed
#KT-25246 Fixed
KT-25599 Will be fixed after recompilation of unsigned classes
2018-08-06 10:55:57 +03:00
Dmitry Petrov
1bfb75a51b
Generate intrinsic-based numeric comparison only for FP types
2018-08-03 09:34:59 +03:00
Ilmir Usmanov
0c867b4804
Disable callable references to suspend functions in 1.2
...
#KT-25604: Fixed
2018-08-02 18:55:49 +03:00
Mikhael Bogdanov
cb53e86183
Move ir box test under "box/ir"
2018-08-02 09:52:48 +02:00
Alexander Udalov
0c8b231fde
Add tests on coercion to Unit for callable references
...
#KT-11723
2018-08-01 16:26:07 +02:00
Alexander Udalov
9babd90999
Support default arguments and varargs for callable references
...
#KT-8834
#KT-19869
#KT-25514
2018-08-01 16:26:06 +02:00
Zalim Bashorov
8d97512179
[JS IR BE] Improve diagnostics in tests
2018-07-31 11:28:39 +03:00
Zalim Bashorov
2fb286e39c
[JS IR BE] Update tests
2018-07-31 11:28:39 +03:00
Zalim Bashorov
0da14e4189
[JS IR BE] Support calls, property accesses and most of operators on expressions with dynamic type
2018-07-31 11:28:38 +03:00
Roman Artemev
14b1f0ef6a
Fix issue #KT-24475
...
* count coroutine metadata references during RemoveUnusedImport pass in JsInliner
* add cases to test usage of stdlib symbols in inlined functions
2018-07-26 19:23:06 +03:00
Anton Bannykh
75c7045ea7
JS: fix bug in resolveTemporaryNames.kt
2018-07-26 18:23:20 +03:00
Roman Artemev
dec307799a
Fix infinite loop in suspend function in case of return from finally [#KT-21961]
...
* add test
2018-07-25 23:04:57 +03:00
Ilya Gorbunov
a81c06049a
Fix creatures web-demo example
...
Rewrite val reassignment in getter with lazy property
2018-07-25 20:25:36 +03:00
Ilya Gorbunov
293e5794f0
Allow to skip JS IR tests with gradle property kotlin.compiler.js.ir.tests.skip
2018-07-25 20:25:15 +03:00
Nikolay Krasko
c210d3d10a
Minor: remove duplicated copyright comment
2018-07-25 19:52:26 +03:00
Zalim Bashorov
a6cd552a71
[JS IR BE] Implement Long.rangeTo and unmute tests
2018-07-25 14:51:08 +03:00
Roman Artemev
eb420a1e0f
Fix [#KT-23921]
...
* make name collector in inliner process handle JsCatch
* visit JsParameter during live analyser in coroutine transformer
2018-07-25 14:22:11 +03:00
Roman Artemev
5241b37ad9
Fix fallthrough in suspendable switch [#KT-22694, #KT-23687]
...
* do not explicitly put break for each case
* add test for related cases
2018-07-24 20:19:35 +03:00
Roman Artemev
0c6256d003
Fix initialization order
...
* put inheritance code in the beginning
* put top-level initializer after any declaration
2018-07-24 20:16:39 +03:00
Alexey Tsvetkov
8f002fdb43
JS IC: track lookups from libraries
...
Otherwise we don't track lookups from other modules
#KT-25540 fixed
2018-07-23 15:43:17 +03:00
Svyatoslav Kuzmich
625983b28a
[JS IR BE] Enum class lowering
2018-07-23 15:08:18 +03:00
Mikhail Zarechenskiy
045058c29a
Support inline class values inside string templates through boxing
...
#KT-25626 Fixed
#KT-25613 Open
2018-07-20 13:58:31 +03:00
Mikhail Zarechenskiy
ec9d8e580e
Leave boxing for compareTo/areEqual methods for inline classes
...
Inline classes can override methods and thus introduce side effects
2018-07-20 11:51:34 +03:00
Alexander Udalov
871b896a21
Add internal compiler argument to change metadata version
...
Will be used in tests to check how we behave on binaries produced by a
"future" compiler
2018-07-18 17:59:37 +02:00
Alexander Udalov
cfc0f5e453
Support correct way of writing/loading version requirement table
...
Tests are added in subsequent commits.
KT-25120 Fixed
2018-07-18 17:59:37 +02:00
Alexander Udalov
4122021090
Add BinaryVersion to DeserializationContext
...
This will be useful to implement version-dependent deserialization,
which is needed for gradual fixes of issues in metadata
#KT-25120 In Progress
2018-07-18 17:58:46 +02:00
Alexander Udalov
1e9694f1db
Fix version requirement serialization for nested classes
...
Use the version requierement table of the outer DescriptorSerializer
instance when serializing metadata for a class. Pass parent serializer
to DescriptorSerializer.create to make sure the correct table is used.
Serialize nested classes before the outer class in JS and common code,
to make sure requirements are not lost. Also, split
VersionRequirementTest to JVM and JS
#KT-25120 In Progress
2018-07-18 17:58:46 +02:00
Roman Artemev
e4b314c26c
Fix inlining of invoke operator [#KT-25474]
...
* add test
2018-07-18 16:12:41 +03:00
Svyatoslav Kuzmich
b23dabb8b7
Revert EXPECTED_REACHABLE_NODES for failed tests
2018-07-18 15:31:29 +03:00