Source Code (Use browser search to find items of interest.)
Class Index
kdelibs'ArrayObject (./kdelibs/kjs/array_object.h:28)
class ArrayObject : public Constructor {
public:
ArrayObject(Object *p) : Constructor(p, 1) { }
KJSO* execute(const List &);
Object* construct(const List &);
};
kdelibs'ArrayObject::execute() (./kdelibs/kjs/array_object.cpp:27)
KJSO* ArrayObject::execute(const List &args)
{
// equivalent to 'new Array(....)'
Ptr result = construct(args);
return newCompletion(Normal, result);
}
// ECMA 15.6.2
kdelibs'ArrayObject::construct() (./kdelibs/kjs/array_object.cpp:36)
Object* ArrayObject::construct(const List &args)
{
Object *result = Object::create(ArrayClass);
unsigned int len;
ListIterator it = args.begin();
// a single argument might denote the array size
if (args.size() == 1 && it->isA(NumberType))
len = toUInt32(it);
else {
// initialize array
len = args.size();
for (unsigned int u = 0; it != args.end(); it++, u++)
result->put(UString::from(u), it);
}
// array size
result->put("length", len, DontEnum | DontDelete);
return result;
}
// ECMA 15.6.4