Mark Punzalan
dd65e0876f
Simplify loop building by encoding open/closed bound information in the
...
HeaderInfo object, and modifying the operator in the loop condition.
The "additional emptiness condition" is no longer necessary with this.
The open/closed property was removed from HeaderInfo in an earlier
commit, but bringing it back in to simplify the loop building makes
more sense.
Also expanded tests for evaluation order of range bounds.
2019-04-04 09:07:19 +02:00
Mark Punzalan
8e1be5424f
Handle for (i in a until Int.MIN_VALUE) corner case by adding
...
an additional "not empty" condition produced by the UntilHandler.
2019-04-04 09:07:19 +02:00
Mark Punzalan
7b153b2b68
Move building of "not empty" condition (used to check if loop is empty)
...
from ForLoopsLowering into ForLoopHeader, reducing the building logic in
ForLoopsLowering.
2019-04-04 09:07:19 +02:00
Svyatoslav Kuzmich
b239c80531
[JS IR BE] Add a few kotlin.test stubs to IR runtime
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
ab3eb06a62
[JS IR BE] Fix lowering Long comprising operators
2019-01-29 19:06:31 +03:00
Svyatoslav Kuzmich
75328f26ea
[JS IR BE] Add missing KJS_WITH_FULL_RUNTIME to some tests
...
+ ranges test generator
2019-01-27 01:14:51 +03:00
Svyatoslav Kuzmich
aa811dcfb3
[JS IR BE] Add KJS_WITH_FULL_RUNTIME directive to compiler tests
2019-01-24 16:14:40 +03:00
Mikhael Bogdanov
02d9c526e2
Proper resort variables on inlining lowered ir closures
...
Original problem is that lowered ir closures doesn't meet inliner expectations
about captured variable position in inlining method.
E.g.: Call 'foo(valueParam) { capturedParam }' to
inline function 'foo' with declaration
inline fun foo(valueParam: Foo, inlineParamWithCaptured: Bar.() ->) ....
is reorganized through inlining to equivalent call foo(valueParam, capturedParam1, cp2 ...).
But lowered closure for lambda parameter has totally different parameters order:
fun loweredLambda$x(extensionReceiver, captured1, cp2..., valueParam1, vp2...)
So before inlining lowered closure should be transformed to
fun loweredLambda$x(extensionReceiver, valueParam1, vp2..., captured1, cp2..)
#KT-28547 Fixed
2019-01-03 07:57:36 +01:00
Mikhael Bogdanov
d1efac617d
Get rid of reduntant jvm parts in tests
2018-12-21 16:09:12 +01:00
Mikhael Bogdanov
f59b6a350f
Specify JVM target backend for other java related tests
2018-12-21 16:09:11 +01:00
Svyatoslav Kuzmich
4c38d55f21
[JS IR BE] Unmute tests
2018-10-15 00:03:45 +03:00
Anton Bannykh
8c6337f3f6
[JS IR BE]: support dynamic_var["foo"] = "bar"
...
Used EQ origin to detect. Added a test to check dynamic_var = "bar" case
is not affected
2018-10-10 13:43:22 +03:00
Anton Bannykh
7afb81a7df
JVM_IR: fix ranges' test generator
2018-10-10 13:13:36 +03:00
Georgy Bronnikov
ade640eadb
JVM_IR. Support compile time constants
2018-10-01 12:25:55 +03:00
Georgy Bronnikov
487f500f85
Revert "JVM_IR. Support compile time constants"
...
This reverts commit 055215c54f .
2018-09-25 05:24:48 +03:00
Georgy Bronnikov
055215c54f
JVM_IR. Support compile time constants
2018-09-25 01:38:51 +03:00
Svyatoslav Kuzmich
b79dcbe8e6
[JS IR BE] Refactor equals and compareTo lowering
2018-09-24 18:21:57 +03:00
Anton Bannykh
beaf6df8c5
[JS IR BE] support CharSequence and String methods
2018-09-21 18:16:03 +03:00
Anton Bannykh
06ecca4144
[JS IR BE] unsigned literal support
2018-09-19 17:45:07 +03:00
Anton Bannykh
7d5a304cf6
[JS IR BE] support Char.rangeTo()
2018-09-18 15:43:55 +03:00
Anton Bannykh
2e709a81fa
[JS IR BE] Arrays, varargs
2018-09-18 14:36:20 +03:00
Svyatoslav Kuzmich
ad58fdd158
[JS IR BE] Unmute tests after adding stdlib
2018-09-04 20:19:04 +03:00
Georgy Bronnikov
2fccf6875f
Mute tests involving Char.{MIN,MAX}_VALUE, analogously to other primitive types
2018-08-31 15:44:05 +03:00
Anton Bannykh
e7f9727783
JS: fix tests related to 1.3 migration
2018-08-30 22:27:24 +03:00
Georgy Bronnikov
769344569d
Mute tests that are new to 1.3-M2
2018-08-30 16:24:48 +03:00
Ilya Gorbunov
6d33313d2e
Regenerate range iteration tests
2018-08-30 14:58:22 +03:00
Anton Bannykh
a83baee67b
review fixes + DCE data update + test (un)muting
2018-08-30 14:57:27 +03:00
Ilya Gorbunov
1b1713a849
Simplify long constants in range iteration tests
2018-08-30 14:56:19 +03:00
Ilya Gorbunov
bb1ce52267
Add support for generating unsigned progression iteration codegen tests
2018-08-30 14:56:17 +03:00
Ilya Gorbunov
f010231ff7
Change range iteration tests so they are runnable on all platforms
...
Remove JS and Native backend exclusions
2018-08-30 14:56:13 +03:00
Ilya Gorbunov
5f3a7f0147
Use Char.MIN_VALUE and MAX_VALUE in tests
2018-08-30 14:55:45 +03:00
Pavel Punegov
2ff6047845
Update ignore tag for Native backend
2018-08-28 13:48:43 +03:00
Roman Artemev
cc14442be1
Add tests for primitive companion object
...
Update test data
2018-08-24 14:58:42 +03:00
Zalim Bashorov
8966e220f0
Update tests
2018-08-17 21:44:08 +03:00
Svyatoslav Kuzmich
f5a80a30f7
Mute and unmute tests
2018-08-15 18:20:07 +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
Mikhael Bogdanov
357359b1dd
Unmute ir-tests after CR support
2018-08-09 14:22:50 +03:00
Mikhael Bogdanov
06b16a6459
Unmute ir-tests after prev commit
2018-08-09 14:22:46 +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
Zalim Bashorov
a6cd552a71
[JS IR BE] Implement Long.rangeTo and unmute tests
2018-07-25 14:51:08 +03:00
Svyatoslav Kuzmich
1abb4f42ac
[JS IR BE] Add ranges to runtime, rangeTo for primitive numbers
2018-07-17 20:18:29 +03:00
Ilya Gorbunov
be8cb94105
Add failing tests for overflow in empty progressions KT-24204
2018-07-09 22:08:01 +03:00
Mikhael Bogdanov
e149cbe852
Mute failed jvm ir tests
2018-06-28 12:26:41 +02:00
Anton Bannykh
05123c13f8
[JS IR BE] mute ranges' tests
2018-06-14 18:17:43 +03:00
Alexander Udalov
bb4972b00e
Regenerate tests
2018-06-12 14:01:33 +02:00
Anton Bannykh
96355e2732
JS IR: mute codegen box tests automatically
2018-06-09 19:15:38 +03:00
Dmitry Petrov
c22dfeaf82
KT-24156 Do not optimize for-loops over Strings with custom iterator
...
'fun CharSequence.iterator()' is an extension function, so one can
overload it with custom implementation.
Other "predefined" containers such as arrays and ranges have member
'fun iterator()', so these containers are not affected.
Check that 'iterator' call corresponds to an extension function
'iterator' defined in package 'kotlin.text' with a receiver of type
'kotlin.CharSequence'.
#KT-24156 Fixed
2018-05-22 10:02:52 +03:00
Anton Bannykh
f8c0c54a66
Revert "Clean up test skips after KT-17137"
...
This reverts commit 715d5e9
2018-04-10 20:45:07 +03:00
Dmitry Petrov
d38258d7a0
Use specified comparison generator for chars in optimized ranges
...
Otherwise if Char value is a result of some erased generic call,
coercing it to I (primitive int) causes CCE at run-time.
#KT-23104 Fixed Target versions 1.2.40
2018-03-13 09:34:10 +03:00