Make Array.indices extension property, move to stdlib

This is not something that needs to be intrinsified. Note that compiler
optimizations are still possible and the fact whether 'indices' is a member or
an extension is irrelevant to the optimizer
This commit is contained in:
Alexander Udalov
2014-11-14 20:56:27 +03:00
parent 36a9a99b4f
commit 93696ff9bd
22 changed files with 234 additions and 294 deletions
@@ -138,7 +138,6 @@ public final class ArrayFIF extends CompositeFIF {
add(pattern(ARRAYS, "get"), GET_INTRINSIC);
add(pattern(ARRAYS, "set"), SET_INTRINSIC);
add(pattern(ARRAYS, "size"), LENGTH_PROPERTY_INTRINSIC);
add(pattern(ARRAYS, "<get-indices>"), new KotlinFunctionIntrinsic("arrayIndices"));
add(pattern(ARRAYS, "iterator"), new KotlinFunctionIntrinsic("arrayIterator"));
add(pattern(ARRAY, "<init>"), new KotlinFunctionIntrinsic("arrayFromFun"));
add(pattern(NUMBER_ARRAY, "<init>"),new KotlinFunctionIntrinsic("numberArrayOfSize"));
-4
View File
@@ -974,10 +974,6 @@
return result;
};
Kotlin.arrayIndices = function (arr) {
return new Kotlin.NumberRange(0, arr.length - 1);
};
Kotlin.arrayIterator = function (array) {
return new Kotlin.ArrayIterator(array);
};