QSObject QSFuncRefClass::refBase( const QSObject &ref ) { if( ref.isFunction() ) { return ( (QSReferenceData*) ref.shVal() )->base; } qWarning( "QSFuncRefClass::refBase() - not a reference" ); return ref.env()->createUndefined(); }
QSObject QSRegExpClass::test( QSEnv *env ) { QSObject obj = env->thisValue(); QRegExp *re = regExp( &obj ); QString s = env->arg( 0 ).toString(); uint length = s.length(); int i = obj.get( QString::fromLatin1("lastIndex") ).toInt32(); QSObject tmp = obj.get( QString::fromLatin1("global") ); if ( !tmp.toBoolean() ) i = 0; if ( i < 0 || i >(int) length ) { obj.put( QString::fromLatin1("lastIndex"), 0 ); return env->createBoolean( FALSE ); } i = re->search( s, i ); obj.env()->regexpClass()->lastCaptures = re->capturedTexts(); return env->createBoolean( i >= 0 ); }