diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java index b002239d3c4..286af7926cb 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/intrinsics/ArrayIndices.java @@ -41,7 +41,7 @@ public class ArrayIndices implements IntrinsicMethod { ) { receiver.put(receiver.type, v); v.arraylength(); - v.invokestatic(AsmTypeConstants.JET_INT_RANGE_TYPE.getInternalName(), "count", "(I)Ljet/IntRange;"); + v.invokestatic("jet/runtime/Ranges", "arrayIndices", "(I)Ljet/IntRange;"); return StackValue.onStack(AsmTypeConstants.JET_INT_RANGE_TYPE); } } diff --git a/generators/org/jetbrains/jet/generators/runtime/GenerateRanges.java b/generators/org/jetbrains/jet/generators/runtime/GenerateRanges.java index a3946951c5a..b5742f0decd 100644 --- a/generators/org/jetbrains/jet/generators/runtime/GenerateRanges.java +++ b/generators/org/jetbrains/jet/generators/runtime/GenerateRanges.java @@ -97,6 +97,11 @@ public class GenerateRanges { } } + out.println(" public static IntRange arrayIndices(int length) {"); + out.println(" return new IntRange(0, length);"); + out.println(" }"); + out.println(); + out.println(" private Ranges() {}"); out.println("}"); } diff --git a/runtime/src/jet/IntRange.java b/runtime/src/jet/IntRange.java index 5497910d7a3..abcc00fee18 100644 --- a/runtime/src/jet/IntRange.java +++ b/runtime/src/jet/IntRange.java @@ -111,10 +111,6 @@ public final class IntRange implements Range, IntIterable { return new IntIteratorImpl(start, count, 1); } - public static IntRange count(int length) { - return new IntRange(0, length); - } - private static class IntIteratorImpl extends IntIterator { private int cur; private int step; diff --git a/runtime/src/jet/runtime/Ranges.java b/runtime/src/jet/runtime/Ranges.java index 70e4e0f2657..e51e906a200 100644 --- a/runtime/src/jet/runtime/Ranges.java +++ b/runtime/src/jet/runtime/Ranges.java @@ -342,5 +342,9 @@ public class Ranges { } } + public static IntRange arrayIndices(int length) { + return new IntRange(0, length); + } + private Ranges() {} }