Generate test data for in-expression tests, fix bug with indices

This commit is contained in:
Dmitry Petrov
2017-07-12 11:56:03 +03:00
parent 890c6a9983
commit 6a673a03e4
25 changed files with 11651 additions and 128 deletions
@@ -31,7 +31,7 @@ class ArrayIndicesRangeValue(rangeCall: ResolvedCall<out CallableDescriptor>): P
private val expectedReceiverType: KotlinType = ExpressionCodegen.getExpectedReceiverType(rangeCall)
override fun getBoundedValue(codegen: ExpressionCodegen) =
object : AbstractBoundedValue(codegen, rangeCall) {
object : AbstractBoundedValue(codegen, rangeCall, isHighInclusive = false) {
override fun putHighLow(v: InstructionAdapter, type: Type) {
codegen.generateCallReceiver(rangeCall).put(codegen.asmType(expectedReceiverType), v)
v.arraylength()
@@ -31,7 +31,7 @@ class CharSequenceIndicesRangeValue(rangeCall: ResolvedCall<out CallableDescript
private val expectedReceiverType: KotlinType = ExpressionCodegen.getExpectedReceiverType(rangeCall)
override fun getBoundedValue(codegen: ExpressionCodegen) =
object : AbstractBoundedValue(codegen, rangeCall) {
object : AbstractBoundedValue(codegen, rangeCall, isHighInclusive = false) {
override fun putHighLow(v: InstructionAdapter, type: Type) {
codegen.generateCallReceiver(rangeCall).put(codegen.asmType(expectedReceiverType), v)
v.invokeinterface("java/lang/CharSequence", "length", "()I")
@@ -31,7 +31,7 @@ class CollectionIndicesRangeValue(rangeCall: ResolvedCall<out CallableDescriptor
private val expectedReceiverType: KotlinType = ExpressionCodegen.getExpectedReceiverType(rangeCall)
override fun getBoundedValue(codegen: ExpressionCodegen) =
object : AbstractBoundedValue(codegen, rangeCall) {
object : AbstractBoundedValue(codegen, rangeCall, isHighInclusive = false) {
override fun putHighLow(v: InstructionAdapter, type: Type) {
codegen.generateCallReceiver(rangeCall).put(codegen.asmType(expectedReceiverType), v)
v.invokeinterface("java/util/Collection", "size", "()I")