3#ifndef QV4REGEXPOBJECT_H
4#define QV4REGEXPOBJECT_H
17#include <private/qv4context_p.h>
18#include <private/qv4engine_p.h>
19#include <private/qv4functionobject_p.h>
20#include <private/qv4managed_p.h>
22#include <QtCore/qhash.h>
23#include <QtCore/qstring.h>
31#define RegExpObjectMembers(class, Member) \
32 Member(class, Pointer, RegExp *, value)
39#if QT_CONFIG(regularexpression)
44#define RegExpCtorMembers(class, Member) \
45 Member(class, HeapValue, HeapValue, lastMatch) \
46 Member(class, Pointer, String *, lastInput) \
47 Member(class, NoMark, int, lastMatchStart) \
48 Member(class, NoMark, int, lastMatchEnd)
54 void clearLastMatch();
68 RegExp_IgnoreCase = 0x02,
69 RegExp_Multiline = 0x04,
70 RegExp_Unicode = 0x08,
76 Index_ArrayIndex = Heap::ArrayObject::LengthPropertyIndex + 1,
77 Index_ArrayInput = Index_ArrayIndex + 1
80 enum { NInlineProperties = 5 };
86 Q_ASSERT(internalClass()->verifyIndex(
engine()->id_lastIndex()->propertyKey(), Index_LastIndex));
87 return propertyData(Index_LastIndex)->toInt32();
90 Q_ASSERT(internalClass()->verifyIndex(
engine()->id_lastIndex()->propertyKey(), Index_LastIndex));
91 if (!internalClass()->propertyData[Index_LastIndex].isWritable()) {
92 engine()->throwTypeError();
98#if QT_CONFIG(regularexpression)
106 return s->toQString();
112 template<
typename RegExp = Heap::RegExp>
114 template<
typename RegExp = Heap::RegExp>
116 template<
typename RegExp = Heap::RegExp>
117 bool global()
const {
return value<RegExp>()->global(); }
118 template<
typename RegExp = Heap::RegExp>
119 bool sticky()
const {
return value<RegExp>()->sticky(); }
120 template<
typename RegExp = Heap::RegExp>
121 bool unicode()
const {
return value<RegExp>()->unicode(); }
162 template <u
int index>
\inmodule QtCore \reentrant
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
static QDBusError::ErrorType get(const char *name)
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
GLboolean GLboolean GLboolean b
static bool initProperties(QQuickStackElement *element, const QV4::Value &props, QQmlV4FunctionPtr args)
static QT_BEGIN_NAMESPACE void init(QTextBoundaryFinder::BoundaryType type, QStringView str, QCharAttributes *attributes)
#define Q_MANAGED_TYPE(type)
#define V4_INTERNALCLASS(c)
#define DECLARE_HEAP_OBJECT(name, base)
#define DECLARE_MARKOBJECTS(class)
#define V4_OBJECT2(DataClass, superClass)
char * toString(const MyType &t)
[31]
args<< 1<< 2;QJSValue threeAgain=fun.call(args);QString fileName="helloworld.qs";QFile scriptFile(fileName);if(!scriptFile.open(QIODevice::ReadOnly)) QTextStream stream(&scriptFile);QString contents=stream.readAll();scriptFile.close();myEngine.evaluate(contents, fileName);myEngine.globalObject().setProperty("myNumber", 123);...QJSValue myNumberPlusOne=myEngine.evaluate("myNumber + 1");QJSValue result=myEngine.evaluate(...);if(result.isError()) qDebug()<< "Uncaught exception at line"<< result.property("lineNumber").toInt()<< ":"<< result.toString();QPushButton *button=new QPushButton;QJSValue scriptButton=myEngine.newQObject(button);myEngine.globalObject().setProperty("button", scriptButton);myEngine.evaluate("button.checkable = true");qDebug()<< scriptButton.property("checkable").toBool();scriptButton.property("show").call();QJSEngine engine;QObject *myQObject=new QObject();myQObject- setProperty)("dynamicProperty", 3)
String * id_source() const
ExecutionEngine * engine() const
Heap::String * lastInput()
void setLastIndex(int index)
static ReturnedValue method_get_leftContext(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_compile(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue execFirstMatch(const FunctionObject *b, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_sticky(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_unicode(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_flags(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_source(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_lastMatch_n(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_split(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_match(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_toString(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_multiline(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
void init(ExecutionEngine *engine, Object *ctor)
static ReturnedValue method_exec(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_search(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_input(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_rightContext(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_lastParen(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_replace(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_test(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_ignoreCase(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
static ReturnedValue method_get_global(const FunctionObject *, const Value *thisObject, const Value *argv, int argc)
QV4_NEARLY_ALWAYS_INLINE constexpr quint32 value() const
static constexpr VTable::CallAsConstructor virtualCallAsConstructor
static constexpr VTable::Call virtualCall