Files
sdk/compiler/lib/implementation/array.js
T
zundel@google.com 1486f2602d Revert "Removes dartc reliance on its own libraries, now can be targeted at any implementation's libraries"
This reverts commit r5885 which works locally, but not on the builder

Review URL: https://chromiumcodereview.appspot.com//9865025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@5886 260f80e4-7a28-3924-810f-c04153c831b5
2012-03-27 17:04:03 +00:00

58 lines
1.6 KiB
JavaScript

// Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
function native_ListImplementation_INDEX(index) {
var i = index | 0;
if (i !== index) {
native__NumberJsUtil__throwIllegalArgumentException(index);
} else if (i < 0 || i >= this.length) {
native__ListJsUtil__throwIndexOutOfRangeException(index);
}
return this[i];
}
function native_ListImplementation_ASSIGN_INDEX(index, value) {
var i = index | 0;
if (i !== index) {
native__NumberJsUtil__throwIllegalArgumentException(index);
} else if (i < 0 || i >= this.length) {
native__ListJsUtil__throwIndexOutOfRangeException(index);
}
this[i] = value;
}
function native_ListImplementation_get$length() {
return this.length;
}
function native_ListImplementation__setLength(length) {
this.length = length;
}
function native_ListImplementation__add(element) {
this.push(element);
}
function native_ListImplementation__removeRange(start, length) {
this.splice(start, length);
}
function native_ListImplementation__insertRange(start, length, initialValue) {
var array = [start, 0];
for (var i = 0; i < length; i++){
array.push(initialValue);
}
this.splice.apply(this, array);
}
function $inlineArrayIndexCheck(array, index) {
var i = index | 0;
if (i !== index) {
native__NumberJsUtil__throwIllegalArgumentException(index);
} else if (i < 0 || i >= array.length) {
native__ListJsUtil__throwIndexOutOfRangeException(index);
}
return i;
}