Dmitry Petrov
81b30b7399
Update bytecode text tests for JVM_IR
2020-02-20 14:20:21 +03:00
Dmitry Petrov
0531bd4fe6
KT-29229 Intrinsify 'in' operator for unsigned integer ranges
...
Support mixed type case, e.g., '[UByte] in [UIntRange]'.
2019-09-17 15:50:47 +03:00
Dmitry Petrov
b878626919
Intrinsify 'in' with unsigned ranges
2019-01-10 17:17:51 +03:00
Mads Ager
3a11322506
Enable bytecode text tests for the JVM_IR backend.
2018-12-21 16:20:45 +01:00
Alexander Udalov
f5ff3d2fa9
Remove directives that have no effect from bytecode text tests
...
All bytecode text tests are run with stdlib in the classpath and only
for JVM backend, therefore directives WITH_RUNTIME, TARGET_BACKEND,
IGNORE_BACKEND are not needed
2018-12-20 12:53:24 +01:00
Dmitry Petrov
354d54aef6
Don't generate DUPX instructions for in-range-literal expressions
...
Store argument into a local variable instead.
2017-11-16 10:54:25 +03:00
Dmitry Petrov
aa7db727ba
Fold I2L with ICONST_n when beneficial
...
ICONST_0; I2L -> LCONST_0
ICONST_1; I2L -> LCONST_1
2017-07-10 10:51:26 +03:00
Dmitry Petrov
ad80c3cd7f
If at least one of the range bounds is "pure", order doesn't matter
2017-07-10 10:51:26 +03:00
Dmitry Petrov
22e12dc139
Minor: use method names in bytecode text tests
2017-07-10 10:51:26 +03:00
Dmitry Petrov
6a3ff5ca46
Add tests for intrinsified in/!in and mismatching range types
2017-07-10 10:51:26 +03:00
Dmitry Petrov
850e1b11fc
Minor: test modification after review
2017-07-10 10:51:26 +03:00
Dmitry Petrov
9d1901fc7c
Intrinsify some mismatching range/element combinations for in/in!
...
It's safe to upcast integer types to Long,
floating-point types to Double.
So we don't have to create a range instance for cases such as
fun testLongInInt(x: Long, a: Int, b: Int) =
x in a .. b
which is equivalent to
fun testLongInInt(x: Long, a: Int, b: Int) =
x in a.toLong() .. b.toLong()
2017-07-10 10:51:26 +03:00
Dmitry Petrov
36cbc0defd
Ensure that {Collection, CharSequence}.indices intrinsic works with 'in'
2017-07-10 10:51:26 +03:00
Dmitry Petrov
ec99fa2142
Ensure that 'in/!in x until y' intrinsic works
2017-07-10 10:51:26 +03:00
Dmitry Petrov
05cad83c79
Fix tests for in/in! with primitive range literals
...
- ClosedFloatingPointRange<T>
- IntRange, etc
- extensions in kotlin.ranges for ranges of Byte/Int/Short
2017-07-10 10:51:26 +03:00
Dmitry Petrov
5decf65d6a
Ensure that no range instance is created for 'x in array.indices'
2017-07-10 10:51:26 +03:00
Dmitry Petrov
4320b63922
Ensure that no boolean negation is generated for !in expression
...
#KT-18777 Fixed Target versions 1.1.4
2017-07-10 10:51:26 +03:00
Dmitry Petrov
b9c0ecf2b1
Ensure that ranges are not created for in-Comparable-range-literal
...
#KT-6247 Fixed Target versions 1.1.4
2017-07-10 10:51:26 +03:00
Dmitry Petrov
a7071ae7af
Provide intrinsic generators for in/!in expression
...
TODO some tests should fail because range of comparables
(e.g., '"Alpha" .. "Omega"') is currently not implemented
2017-07-10 10:51:26 +03:00
Vsevolod
bd6f83b9b7
KT-5044 intrinsify all contains calls for primitive ranges from stdlib
2016-10-13 10:11:32 +03:00