JSGenericTypedArrayViewPrototypeInlines.h [plain text]
#ifndef JSGenericTypedArrayViewPrototypeInlines_h
#define JSGenericTypedArrayViewPrototypeInlines_h
#include "JSGenericTypedArrayViewPrototype.h"
namespace JSC {
template<typename ViewClass>
JSGenericTypedArrayViewPrototype<ViewClass>::JSGenericTypedArrayViewPrototype(VM& vm, Structure* structure)
: Base(vm, structure)
{
}
template<typename ViewClass>
void JSGenericTypedArrayViewPrototype<ViewClass>::finishCreation(
VM& vm, JSGlobalObject*)
{
Base::finishCreation(vm);
ASSERT(inherits(info()));
putDirect(vm, vm.propertyNames->BYTES_PER_ELEMENT, jsNumber(ViewClass::elementSize), DontEnum | ReadOnly | DontDelete);
}
template<typename ViewClass>
JSGenericTypedArrayViewPrototype<ViewClass>*
JSGenericTypedArrayViewPrototype<ViewClass>::create(
VM& vm, JSGlobalObject* globalObject, Structure* structure)
{
JSGenericTypedArrayViewPrototype* prototype =
new (NotNull, allocateCell<JSGenericTypedArrayViewPrototype>(vm.heap))
JSGenericTypedArrayViewPrototype(vm, structure);
prototype->finishCreation(vm, globalObject);
return prototype;
}
template<typename ViewClass>
Structure* JSGenericTypedArrayViewPrototype<ViewClass>::createStructure(
VM& vm, JSGlobalObject* globalObject, JSValue prototype)
{
return Structure::create(
vm, globalObject, prototype, TypeInfo(ObjectType, StructureFlags), info());
}
}
#endif // JSGenericTypedArrayViewPrototypeInlines_h