From 882c2cb28d9c34bdf2afb881f9a3fb1620bbb681 Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Wed, 13 Feb 2013 16:22:08 +0400 Subject: [PATCH] Added tests with NaN ends to codegen tests. --- .../ranges/expression/emptyDownto.kt | 1 + .../ranges/expression/emptyRange.kt | 1 + .../ranges/expression/inexactSteppedDownTo.kt | 1 + .../ranges/expression/inexactSteppedRange.kt | 1 + .../ranges/expression/infiniteSteps.kt | 43 +++++++ .../ranges/expression/nanEnds.kt | 115 ++++++++++++++++++ .../ranges/expression/oneElementDownTo.kt | 1 + .../ranges/expression/oneElementRange.kt | 1 + .../ranges/expression/reversedBackSequence.kt | 1 + .../expression/reversedEmptyBackSequence.kt | 1 + .../ranges/expression/reversedEmptyRange.kt | 1 + .../reversedInexactSteppedDownTo.kt | 1 + .../ranges/expression/reversedRange.kt | 1 + .../expression/reversedSimpleSteppedRange.kt | 1 + .../ranges/expression/simpleDownTo.kt | 1 + .../ranges/expression/simpleRange.kt | 1 + .../simpleRangeWithNonConstantEnds.kt | 1 + .../ranges/expression/simpleSteppedDownTo.kt | 1 + .../ranges/expression/simpleSteppedRange.kt | 1 + .../ranges/literal/emptyDownto.kt | 1 + .../ranges/literal/emptyRange.kt | 1 + .../ranges/literal/inexactSteppedDownTo.kt | 1 + .../ranges/literal/inexactSteppedRange.kt | 1 + .../ranges/literal/infiniteSteps.kt | 39 ++++++ .../boxWithStdlib/ranges/literal/nanEnds.kt | 103 ++++++++++++++++ .../ranges/literal/oneElementDownTo.kt | 1 + .../ranges/literal/oneElementRange.kt | 1 + .../ranges/literal/reversedBackSequence.kt | 1 + .../literal/reversedEmptyBackSequence.kt | 1 + .../ranges/literal/reversedEmptyRange.kt | 1 + .../literal/reversedInexactSteppedDownTo.kt | 1 + .../ranges/literal/reversedRange.kt | 1 + .../literal/reversedSimpleSteppedRange.kt | 1 + .../ranges/literal/simpleDownTo.kt | 1 + .../ranges/literal/simpleRange.kt | 1 + .../literal/simpleRangeWithNonConstantEnds.kt | 1 + .../ranges/literal/simpleSteppedDownTo.kt | 1 + .../ranges/literal/simpleSteppedRange.kt | 1 + ...lackBoxWithStdlibCodegenTestGenerated.java | 20 +++ .../tests/GenerateRangesCodegenTestData.java | 7 ++ 40 files changed, 361 insertions(+) create mode 100644 compiler/testData/codegen/boxWithStdlib/ranges/expression/infiniteSteps.kt create mode 100644 compiler/testData/codegen/boxWithStdlib/ranges/expression/nanEnds.kt create mode 100644 compiler/testData/codegen/boxWithStdlib/ranges/literal/infiniteSteps.kt create mode 100644 compiler/testData/codegen/boxWithStdlib/ranges/literal/nanEnds.kt diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyDownto.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyDownto.kt index f0f0533d210..92571e752fa 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyDownto.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyDownto.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyRange.kt index d8101158721..cff42474fb3 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/emptyRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedDownTo.kt index 757a65db9b6..6571e0b4110 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedRange.kt index e49a143edb0..d055fe71051 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/infiniteSteps.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/infiniteSteps.kt new file mode 100644 index 00000000000..344c66148ed --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/infiniteSteps.kt @@ -0,0 +1,43 @@ +// Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! +import java.util.ArrayList +import java.lang as j + +fun box(): String { + val list1 = ArrayList() + val range1 = 0.0..5.0 step j.Double.POSITIVE_INFINITY + for (i in range1) { + list1.add(i) + } + if (list1 != listOf(0.0)) { + return "Wrong elements for 0.0..5.0 step j.Double.POSITIVE_INFINITY: $list1" + } + + val list2 = ArrayList() + val range2 = 0.0.toFloat()..5.0.toFloat() step j.Float.POSITIVE_INFINITY + for (i in range2) { + list2.add(i) + } + if (list2 != listOf(0.0)) { + return "Wrong elements for 0.0.toFloat()..5.0.toFloat() step j.Float.POSITIVE_INFINITY: $list2" + } + + val list3 = ArrayList() + val range3 = 5.0 downTo 0.0 step j.Double.POSITIVE_INFINITY + for (i in range3) { + list3.add(i) + } + if (list3 != listOf(5.0)) { + return "Wrong elements for 5.0 downTo 0.0 step j.Double.POSITIVE_INFINITY: $list3" + } + + val list4 = ArrayList() + val range4 = 5.0.toFloat() downTo 0.0.toFloat() step j.Float.POSITIVE_INFINITY + for (i in range4) { + list4.add(i) + } + if (list4 != listOf(5.0)) { + return "Wrong elements for 5.0.toFloat() downTo 0.0.toFloat() step j.Float.POSITIVE_INFINITY: $list4" + } + + return "OK" +} diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/nanEnds.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/nanEnds.kt new file mode 100644 index 00000000000..150bcee767a --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/nanEnds.kt @@ -0,0 +1,115 @@ +// Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! +import java.util.ArrayList +import java.lang as j + +fun box(): String { + val list1 = ArrayList() + val range1 = j.Double.NaN..5.0 + for (i in range1) { + list1.add(i) + } + if (list1 != listOf()) { + return "Wrong elements for j.Double.NaN..5.0: $list1" + } + + val list2 = ArrayList() + val range2 = j.Float.NaN.toFloat()..5.0.toFloat() + for (i in range2) { + list2.add(i) + } + if (list2 != listOf()) { + return "Wrong elements for j.Float.NaN.toFloat()..5.0.toFloat(): $list2" + } + + val list3 = ArrayList() + val range3 = j.Double.NaN downTo 0.0 + for (i in range3) { + list3.add(i) + } + if (list3 != listOf()) { + return "Wrong elements for j.Double.NaN downTo 0.0: $list3" + } + + val list4 = ArrayList() + val range4 = j.Float.NaN.toFloat() downTo 0.0.toFloat() + for (i in range4) { + list4.add(i) + } + if (list4 != listOf()) { + return "Wrong elements for j.Float.NaN.toFloat() downTo 0.0.toFloat(): $list4" + } + + val list5 = ArrayList() + val range5 = 0.0..j.Double.NaN + for (i in range5) { + list5.add(i) + } + if (list5 != listOf()) { + return "Wrong elements for 0.0..j.Double.NaN: $list5" + } + + val list6 = ArrayList() + val range6 = 0.0.toFloat()..j.Float.NaN + for (i in range6) { + list6.add(i) + } + if (list6 != listOf()) { + return "Wrong elements for 0.0.toFloat()..j.Float.NaN: $list6" + } + + val list7 = ArrayList() + val range7 = 5.0 downTo j.Double.NaN + for (i in range7) { + list7.add(i) + } + if (list7 != listOf()) { + return "Wrong elements for 5.0 downTo j.Double.NaN: $list7" + } + + val list8 = ArrayList() + val range8 = 5.0.toFloat() downTo j.Float.NaN + for (i in range8) { + list8.add(i) + } + if (list8 != listOf()) { + return "Wrong elements for 5.0.toFloat() downTo j.Float.NaN: $list8" + } + + val list9 = ArrayList() + val range9 = j.Double.NaN..j.Double.NaN + for (i in range9) { + list9.add(i) + } + if (list9 != listOf()) { + return "Wrong elements for j.Double.NaN..j.Double.NaN: $list9" + } + + val list10 = ArrayList() + val range10 = j.Float.NaN..j.Float.NaN + for (i in range10) { + list10.add(i) + } + if (list10 != listOf()) { + return "Wrong elements for j.Float.NaN..j.Float.NaN: $list10" + } + + val list11 = ArrayList() + val range11 = j.Double.NaN downTo j.Double.NaN + for (i in range11) { + list11.add(i) + } + if (list11 != listOf()) { + return "Wrong elements for j.Double.NaN downTo j.Double.NaN: $list11" + } + + val list12 = ArrayList() + val range12 = j.Float.NaN downTo j.Float.NaN + for (i in range12) { + list12.add(i) + } + if (list12 != listOf()) { + return "Wrong elements for j.Float.NaN downTo j.Float.NaN: $list12" + } + + return "OK" +} diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementDownTo.kt index 6be85399636..3b00f72a284 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementRange.kt index ece26af7178..9170e18b334 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedBackSequence.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedBackSequence.kt index e67b6c59d94..53ccda5a584 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedBackSequence.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedBackSequence.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyBackSequence.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyBackSequence.kt index 944f9ead5fe..61a5c3cdb5c 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyBackSequence.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyBackSequence.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyRange.kt index bcaf4345bf5..a493181c0dd 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedEmptyRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedInexactSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedInexactSteppedDownTo.kt index 5ffb29b254d..e639e17447a 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedInexactSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedInexactSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedRange.kt index 7e59a42d687..8c8adfd47fe 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedSimpleSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedSimpleSteppedRange.kt index 1bb39cd41a3..bcd75d9034f 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedSimpleSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/reversedSimpleSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleDownTo.kt index 25ea6d9eae3..3fc16e23fd6 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRange.kt index 604f11d081d..8d9a7da508c 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRangeWithNonConstantEnds.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRangeWithNonConstantEnds.kt index 9c09e865392..eb07ee505a4 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRangeWithNonConstantEnds.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleRangeWithNonConstantEnds.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedDownTo.kt index ece43bd869e..5fba12b32ff 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedRange.kt index 57e2e1e17aa..4ca86a792ba 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/expression/simpleSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyDownto.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyDownto.kt index 74afce2cb7d..3ed19157778 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyDownto.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyDownto.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyRange.kt index 624ea7b1459..6d0cd54010b 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/emptyRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedDownTo.kt index c90429cab6d..acf1c0ed06f 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedRange.kt index 44858823bb9..b2d0f0e2e30 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/infiniteSteps.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/infiniteSteps.kt new file mode 100644 index 00000000000..8f1d3d63dc2 --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/infiniteSteps.kt @@ -0,0 +1,39 @@ +// Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! +import java.util.ArrayList +import java.lang as j + +fun box(): String { + val list1 = ArrayList() + for (i in 0.0..5.0 step j.Double.POSITIVE_INFINITY) { + list1.add(i) + } + if (list1 != listOf(0.0)) { + return "Wrong elements for 0.0..5.0 step j.Double.POSITIVE_INFINITY: $list1" + } + + val list2 = ArrayList() + for (i in 0.0.toFloat()..5.0.toFloat() step j.Float.POSITIVE_INFINITY) { + list2.add(i) + } + if (list2 != listOf(0.0)) { + return "Wrong elements for 0.0.toFloat()..5.0.toFloat() step j.Float.POSITIVE_INFINITY: $list2" + } + + val list3 = ArrayList() + for (i in 5.0 downTo 0.0 step j.Double.POSITIVE_INFINITY) { + list3.add(i) + } + if (list3 != listOf(5.0)) { + return "Wrong elements for 5.0 downTo 0.0 step j.Double.POSITIVE_INFINITY: $list3" + } + + val list4 = ArrayList() + for (i in 5.0.toFloat() downTo 0.0.toFloat() step j.Float.POSITIVE_INFINITY) { + list4.add(i) + } + if (list4 != listOf(5.0)) { + return "Wrong elements for 5.0.toFloat() downTo 0.0.toFloat() step j.Float.POSITIVE_INFINITY: $list4" + } + + return "OK" +} diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/nanEnds.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/nanEnds.kt new file mode 100644 index 00000000000..e1c98648da0 --- /dev/null +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/nanEnds.kt @@ -0,0 +1,103 @@ +// Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! +import java.util.ArrayList +import java.lang as j + +fun box(): String { + val list1 = ArrayList() + for (i in j.Double.NaN..5.0) { + list1.add(i) + } + if (list1 != listOf()) { + return "Wrong elements for j.Double.NaN..5.0: $list1" + } + + val list2 = ArrayList() + for (i in j.Float.NaN.toFloat()..5.0.toFloat()) { + list2.add(i) + } + if (list2 != listOf()) { + return "Wrong elements for j.Float.NaN.toFloat()..5.0.toFloat(): $list2" + } + + val list3 = ArrayList() + for (i in j.Double.NaN downTo 0.0) { + list3.add(i) + } + if (list3 != listOf()) { + return "Wrong elements for j.Double.NaN downTo 0.0: $list3" + } + + val list4 = ArrayList() + for (i in j.Float.NaN.toFloat() downTo 0.0.toFloat()) { + list4.add(i) + } + if (list4 != listOf()) { + return "Wrong elements for j.Float.NaN.toFloat() downTo 0.0.toFloat(): $list4" + } + + val list5 = ArrayList() + for (i in 0.0..j.Double.NaN) { + list5.add(i) + } + if (list5 != listOf()) { + return "Wrong elements for 0.0..j.Double.NaN: $list5" + } + + val list6 = ArrayList() + for (i in 0.0.toFloat()..j.Float.NaN) { + list6.add(i) + } + if (list6 != listOf()) { + return "Wrong elements for 0.0.toFloat()..j.Float.NaN: $list6" + } + + val list7 = ArrayList() + for (i in 5.0 downTo j.Double.NaN) { + list7.add(i) + } + if (list7 != listOf()) { + return "Wrong elements for 5.0 downTo j.Double.NaN: $list7" + } + + val list8 = ArrayList() + for (i in 5.0.toFloat() downTo j.Float.NaN) { + list8.add(i) + } + if (list8 != listOf()) { + return "Wrong elements for 5.0.toFloat() downTo j.Float.NaN: $list8" + } + + val list9 = ArrayList() + for (i in j.Double.NaN..j.Double.NaN) { + list9.add(i) + } + if (list9 != listOf()) { + return "Wrong elements for j.Double.NaN..j.Double.NaN: $list9" + } + + val list10 = ArrayList() + for (i in j.Float.NaN..j.Float.NaN) { + list10.add(i) + } + if (list10 != listOf()) { + return "Wrong elements for j.Float.NaN..j.Float.NaN: $list10" + } + + val list11 = ArrayList() + for (i in j.Double.NaN downTo j.Double.NaN) { + list11.add(i) + } + if (list11 != listOf()) { + return "Wrong elements for j.Double.NaN downTo j.Double.NaN: $list11" + } + + val list12 = ArrayList() + for (i in j.Float.NaN downTo j.Float.NaN) { + list12.add(i) + } + if (list12 != listOf()) { + return "Wrong elements for j.Float.NaN downTo j.Float.NaN: $list12" + } + + return "OK" +} diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementDownTo.kt index e55680cb676..d5b5f4b2381 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementRange.kt index 77cb582d791..891eb9cb7b4 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedBackSequence.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedBackSequence.kt index cea5d5182ac..4236e5d32bd 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedBackSequence.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedBackSequence.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyBackSequence.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyBackSequence.kt index b9e7a7b89be..6bd4d10e2a9 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyBackSequence.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyBackSequence.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyRange.kt index 7e684b1ffdb..dbbb6ef61e3 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedEmptyRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedInexactSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedInexactSteppedDownTo.kt index 3c342f9187c..71252cbf93e 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedInexactSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedInexactSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedRange.kt index 323d739278e..af36f4fc816 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedSimpleSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedSimpleSteppedRange.kt index 5d4dc1c9748..8c27f607f35 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedSimpleSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/reversedSimpleSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleDownTo.kt index 1026d0a8a31..64a28d75a93 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRange.kt index 34e6b516ada..3efabe43227 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRangeWithNonConstantEnds.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRangeWithNonConstantEnds.kt index f5215f7af66..d26272d298e 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRangeWithNonConstantEnds.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleRangeWithNonConstantEnds.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedDownTo.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedDownTo.kt index d6f5d1f14cc..1546b1a4c60 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedDownTo.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedDownTo.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedRange.kt b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedRange.kt index 5a897dc13e7..9374e456f4e 100644 --- a/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedRange.kt +++ b/compiler/testData/codegen/boxWithStdlib/ranges/literal/simpleSteppedRange.kt @@ -1,5 +1,6 @@ // Auto-generated by org.jetbrains.jet.generators.tests.GenerateRangesCodegenTestData. DO NOT EDIT! import java.util.ArrayList +import java.lang as j fun box(): String { val list1 = ArrayList() diff --git a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java index 6b1ad8221e5..7d08f49fb5a 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java +++ b/compiler/tests/org/jetbrains/jet/codegen/generated/BlackBoxWithStdlibCodegenTestGenerated.java @@ -416,6 +416,16 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/expression/inexactSteppedRange.kt"); } + @TestMetadata("infiniteSteps.kt") + public void testInfiniteSteps() throws Exception { + doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/expression/infiniteSteps.kt"); + } + + @TestMetadata("nanEnds.kt") + public void testNanEnds() throws Exception { + doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/expression/nanEnds.kt"); + } + @TestMetadata("oneElementDownTo.kt") public void testOneElementDownTo() throws Exception { doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/expression/oneElementDownTo.kt"); @@ -509,6 +519,16 @@ public class BlackBoxWithStdlibCodegenTestGenerated extends AbstractBlackBoxCode doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/literal/inexactSteppedRange.kt"); } + @TestMetadata("infiniteSteps.kt") + public void testInfiniteSteps() throws Exception { + doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/literal/infiniteSteps.kt"); + } + + @TestMetadata("nanEnds.kt") + public void testNanEnds() throws Exception { + doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/literal/nanEnds.kt"); + } + @TestMetadata("oneElementDownTo.kt") public void testOneElementDownTo() throws Exception { doTestWithStdlib("compiler/testData/codegen/boxWithStdlib/ranges/literal/oneElementDownTo.kt"); diff --git a/generators/org/jetbrains/jet/generators/tests/GenerateRangesCodegenTestData.java b/generators/org/jetbrains/jet/generators/tests/GenerateRangesCodegenTestData.java index 4678b42d353..0fe7ffd2f7f 100644 --- a/generators/org/jetbrains/jet/generators/tests/GenerateRangesCodegenTestData.java +++ b/generators/org/jetbrains/jet/generators/tests/GenerateRangesCodegenTestData.java @@ -66,6 +66,12 @@ public class GenerateRangesCodegenTestData { if (Pattern.compile("\\d\\.\\d").matcher(rangeExpression).find()) { return "Double"; } + if (rangeExpression.contains("Float.NaN")) { + return "Float"; + } + if (rangeExpression.contains("Double.NaN")) { + return "Double"; + } return "Int"; } @@ -92,6 +98,7 @@ public class GenerateRangesCodegenTestData { out.println("// Auto-generated by " + GenerateRangesCodegenTestData.class.getName() + ". DO NOT EDIT!"); out.println("import java.util.ArrayList"); + out.println("import java.lang as j"); out.println(); out.println("fun box(): String {"); out.print(generatedBody);