namespace JSC {
-const ClassInfo RegExpConstructor::s_info = { "Function", &InternalFunction::s_info, 0, ExecState::regExpConstructorTable, CREATE_METHOD_TABLE(RegExpConstructor) };
+const ClassInfo RegExpConstructor::s_info = { "Function", &InternalFunction::s_info, ®ExpConstructorTable, CREATE_METHOD_TABLE(RegExpConstructor) };
/* Source for RegExpConstructor.lut.h
@begin regExpConstructorTable
void RegExpConstructor::finishCreation(VM& vm, RegExpPrototype* regExpPrototype)
{
- Base::finishCreation(vm, Identifier(&vm, "RegExp").string());
+ Base::finishCreation(vm, regExpPrototype->classInfo()->className);
ASSERT(inherits(info()));
// ECMA 15.10.5.1 RegExp.prototype
{
RegExpConstructor* thisObject = jsCast<RegExpConstructor*>(cell);
ASSERT_GC_OBJECT_INHERITS(thisObject, info());
- COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
- ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
-
Base::visitChildren(thisObject, visitor);
thisObject->m_cachedResult.visitChildren(visitor);
}
JSValue RegExpConstructor::getBackref(ExecState* exec, unsigned i)
{
- RegExpMatchesArray* array = m_cachedResult.lastResult(exec, this);
+ JSArray* array = m_cachedResult.lastResult(exec, this);
if (i < array->length()) {
JSValue result = JSValue(array).get(exec, i);
JSValue RegExpConstructor::getLastParen(ExecState* exec)
{
- RegExpMatchesArray* array = m_cachedResult.lastResult(exec, this);
+ JSArray* array = m_cachedResult.lastResult(exec, this);
unsigned length = array->length();
if (length > 1) {
JSValue result = JSValue(array).get(exec, length - 1);
JSValue RegExpConstructor::getLeftContext(ExecState* exec)
{
- return m_cachedResult.lastResult(exec, this)->leftContext(exec);
+ return m_cachedResult.leftContext(exec, this);
}
JSValue RegExpConstructor::getRightContext(ExecState* exec)
{
- return m_cachedResult.lastResult(exec, this)->rightContext(exec);
+ return m_cachedResult.rightContext(exec, this);
}
bool RegExpConstructor::getOwnPropertySlot(JSObject* object, ExecState* exec, PropertyName propertyName, PropertySlot& slot)
{
- return getStaticValueSlot<RegExpConstructor, InternalFunction>(exec, ExecState::regExpConstructorTable(exec->vm()), jsCast<RegExpConstructor*>(object), propertyName, slot);
+ return getStaticValueSlot<RegExpConstructor, InternalFunction>(exec, regExpConstructorTable, jsCast<RegExpConstructor*>(object), propertyName, slot);
}
EncodedJSValue regExpConstructorDollar1(ExecState* exec, JSObject* slotBase, EncodedJSValue, PropertyName)