wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
https://bugs.webkit.org/show_bug.cgi?id=192728
<rdar://problem/46746779>
Reviewed by Geoff Garen.
Source/JavaScriptCore:
* API/*:
* Scripts/*:
* assembler/*:
* b3/*:
* bytecode/*:
* bytecompiler/*:
* debugger/*:
* dfg/*:
* ftl/*:
* heap/*:
* inspector/*:
* jit/*:
* llint/*:
* parser/*:
* runtime/*:
* tools/*:
* wasm/*:
* yarr/*:
Source/WebCore:
* Modules/*:
* animation/*:
* bindings/*:
* crypto/*:
* css/*:
* dom/*:
* editing/*:
* fileapi/*:
* html/*:
* inspector/*:
* layout/*:
* loader/*:
* mathml/*:
* page/*:
* platform/*:
* plugins/*:
* rendering/*:
* testing/*:
* workers/*:
* xml/*:
Source/WebCore/PAL:
* pal/*:
Source/WebDriver:
* :
Source/WebKit:
* NetworkProcess/*:
* Platform/*:
* Scripts/*:
* Shared/*:
* UIProcess/*:
* WebProcess/*:
Source/WebKitLegacy/mac:
* DOM/*:
* Plugins/*:
* WebCoreSupport/*:
* WebView/*:
Source/WebKitLegacy/win:
* Plugins/*:
* WebCoreSupport/*:
Source/WTF:
Update optional's move-constructor and move-assignment operator to disengage the value being moved from.
Rename to optional to Optional, make_optional() to makeOptional(), and move class from std to WTF namespace.
Based on patch by David Kilzer.
* wtf/*:
Tools:
* DumpRenderTree/*:
* MiniBrowser/*:
* TestRunnerShared/*:
* TestWebKitAPI/*:
* WebGPUAPIStructure/*:
* WebKitTestRunner/*:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@239427 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp b/Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp
index 3006fca..7350898 100644
--- a/Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp
+++ b/Source/JavaScriptCore/API/glib/JSCCallbackFunction.cpp
@@ -53,7 +53,7 @@
const ClassInfo JSCCallbackFunction::s_info = { "CallbackFunction", &InternalFunction::s_info, nullptr, nullptr, CREATE_METHOD_TABLE(JSCCallbackFunction) };
-JSCCallbackFunction* JSCCallbackFunction::create(VM& vm, JSGlobalObject* globalObject, const String& name, Type type, JSCClass* jscClass, GRefPtr<GClosure>&& closure, GType returnType, std::optional<Vector<GType>>&& parameters)
+JSCCallbackFunction* JSCCallbackFunction::create(VM& vm, JSGlobalObject* globalObject, const String& name, Type type, JSCClass* jscClass, GRefPtr<GClosure>&& closure, GType returnType, Optional<Vector<GType>>&& parameters)
{
Structure* structure = globalObject->glibCallbackFunctionStructure();
JSCCallbackFunction* function = new (NotNull, allocateCell<JSCCallbackFunction>(vm.heap)) JSCCallbackFunction(vm, structure, type, jscClass, WTFMove(closure), returnType, WTFMove(parameters));
@@ -61,7 +61,7 @@
return function;
}
-JSCCallbackFunction::JSCCallbackFunction(VM& vm, Structure* structure, Type type, JSCClass* jscClass, GRefPtr<GClosure>&& closure, GType returnType, std::optional<Vector<GType>>&& parameters)
+JSCCallbackFunction::JSCCallbackFunction(VM& vm, Structure* structure, Type type, JSCClass* jscClass, GRefPtr<GClosure>&& closure, GType returnType, Optional<Vector<GType>>&& parameters)
: InternalFunction(vm, structure, APICallbackFunction::call<JSCCallbackFunction>, type == Type::Constructor ? APICallbackFunction::construct<JSCCallbackFunction> : nullptr)
, m_functionCallback(callAsFunction)
, m_constructCallback(callAsConstructor)
diff --git a/Source/JavaScriptCore/API/glib/JSCCallbackFunction.h b/Source/JavaScriptCore/API/glib/JSCCallbackFunction.h
index 17e3210..04663fa 100644
--- a/Source/JavaScriptCore/API/glib/JSCCallbackFunction.h
+++ b/Source/JavaScriptCore/API/glib/JSCCallbackFunction.h
@@ -52,7 +52,7 @@
Constructor
};
- static JSCCallbackFunction* create(VM&, JSGlobalObject*, const String& name, Type, JSCClass*, GRefPtr<GClosure>&&, GType, std::optional<Vector<GType>>&&);
+ static JSCCallbackFunction* create(VM&, JSGlobalObject*, const String& name, Type, JSCClass*, GRefPtr<GClosure>&&, GType, Optional<Vector<GType>>&&);
static void destroy(JSCell*);
static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype)
@@ -69,7 +69,7 @@
private:
static IsoSubspace* subspaceForImpl(VM&);
- JSCCallbackFunction(VM&, Structure*, Type, JSCClass*, GRefPtr<GClosure>&&, GType, std::optional<Vector<GType>>&&);
+ JSCCallbackFunction(VM&, Structure*, Type, JSCClass*, GRefPtr<GClosure>&&, GType, Optional<Vector<GType>>&&);
JSObjectCallAsFunctionCallback functionCallback() { return m_functionCallback; }
JSObjectCallAsConstructorCallback constructCallback() { return m_constructCallback; }
@@ -80,7 +80,7 @@
GRefPtr<JSCClass> m_class;
GRefPtr<GClosure> m_closure;
GType m_returnType;
- std::optional<Vector<GType>> m_parameters;
+ Optional<Vector<GType>> m_parameters;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/API/glib/JSCClass.cpp b/Source/JavaScriptCore/API/glib/JSCClass.cpp
index 652928e..49c3fee 100644
--- a/Source/JavaScriptCore/API/glib/JSCClass.cpp
+++ b/Source/JavaScriptCore/API/glib/JSCClass.cpp
@@ -552,7 +552,7 @@
return jscClass->priv->parentClass;
}
-static GRefPtr<JSCValue> jscClassCreateConstructor(JSCClass* jscClass, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, std::optional<Vector<GType>>&& parameters)
+static GRefPtr<JSCValue> jscClassCreateConstructor(JSCClass* jscClass, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, Optional<Vector<GType>>&& parameters)
{
JSCClassPrivate* priv = jscClass->priv;
GRefPtr<GClosure> closure = adoptGRef(g_cclosure_new(callback, userData, reinterpret_cast<GClosureNotify>(reinterpret_cast<GCallback>(destroyNotify))));
@@ -689,10 +689,10 @@
if (!name)
name = priv->name.data();
- return jscClassCreateConstructor(jscClass, name ? name : priv->name.data(), callback, userData, destroyNotify, returnType, std::nullopt).leakRef();
+ return jscClassCreateConstructor(jscClass, name ? name : priv->name.data(), callback, userData, destroyNotify, returnType, WTF::nullopt).leakRef();
}
-static void jscClassAddMethod(JSCClass* jscClass, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, std::optional<Vector<GType>>&& parameters)
+static void jscClassAddMethod(JSCClass* jscClass, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, Optional<Vector<GType>>&& parameters)
{
JSCClassPrivate* priv = jscClass->priv;
GRefPtr<GClosure> closure = adoptGRef(g_cclosure_new(callback, userData, reinterpret_cast<GClosureNotify>(reinterpret_cast<GCallback>(destroyNotify))));
@@ -798,7 +798,7 @@
g_return_if_fail(callback);
g_return_if_fail(jscClass->priv->context);
- jscClassAddMethod(jscClass, name, callback, userData, destroyNotify, returnType, std::nullopt);
+ jscClassAddMethod(jscClass, name, callback, userData, destroyNotify, returnType, WTF::nullopt);
}
/**
diff --git a/Source/JavaScriptCore/API/glib/JSCValue.cpp b/Source/JavaScriptCore/API/glib/JSCValue.cpp
index 6e274f8..85ed0aa 100644
--- a/Source/JavaScriptCore/API/glib/JSCValue.cpp
+++ b/Source/JavaScriptCore/API/glib/JSCValue.cpp
@@ -1105,7 +1105,7 @@
JSC_TYPE_VALUE, value, G_TYPE_STRING, propertyName, JSC_TYPE_VALUE, descriptor.get(), G_TYPE_NONE));
}
-static GRefPtr<JSCValue> jscValueFunctionCreate(JSCContext* context, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, std::optional<Vector<GType>>&& parameters)
+static GRefPtr<JSCValue> jscValueFunctionCreate(JSCContext* context, const char* name, GCallback callback, gpointer userData, GDestroyNotify destroyNotify, GType returnType, Optional<Vector<GType>>&& parameters)
{
GRefPtr<GClosure> closure = adoptGRef(g_cclosure_new(callback, userData, reinterpret_cast<GClosureNotify>(reinterpret_cast<GCallback>(destroyNotify))));
JSC::ExecState* exec = toJS(jscContextGetJSContext(context));
@@ -1207,7 +1207,7 @@
g_return_val_if_fail(JSC_IS_CONTEXT(context), nullptr);
g_return_val_if_fail(callback, nullptr);
- return jscValueFunctionCreate(context, name, callback, userData, destroyNotify, returnType, std::nullopt).leakRef();
+ return jscValueFunctionCreate(context, name, callback, userData, destroyNotify, returnType, WTF::nullopt).leakRef();
}
/**
diff --git a/Source/JavaScriptCore/ChangeLog b/Source/JavaScriptCore/ChangeLog
index 6619070..7017533 100644
--- a/Source/JavaScriptCore/ChangeLog
+++ b/Source/JavaScriptCore/ChangeLog
@@ -1,3 +1,30 @@
+2018-12-19 Chris Dumez <cdumez@apple.com>
+
+ wtf/Optional.h: move-constructor and move-assignment operator should disengage the value being moved from
+ https://bugs.webkit.org/show_bug.cgi?id=192728
+ <rdar://problem/46746779>
+
+ Reviewed by Geoff Garen.
+
+ * API/*:
+ * Scripts/*:
+ * assembler/*:
+ * b3/*:
+ * bytecode/*:
+ * bytecompiler/*:
+ * debugger/*:
+ * dfg/*:
+ * ftl/*:
+ * heap/*:
+ * inspector/*:
+ * jit/*:
+ * llint/*:
+ * parser/*:
+ * runtime/*:
+ * tools/*:
+ * wasm/*:
+ * yarr/*:
+
2018-12-18 Simon Fraser <simon.fraser@apple.com>
Web Inspector: Timelines: correctly label Intersection Observer callbacks
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result
index 26fe0e6..fc1e996 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Combined.js-result
@@ -159,7 +159,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result
index 4d7cd22..b5a9493 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.Promise-Separate.js-result
@@ -158,7 +158,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN.PROMISE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result
index 7b77602..247b97a 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Combined.js-result
@@ -281,7 +281,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result
index b2b72cd..b74db98 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-Builtin.prototype-Separate.js-result
@@ -282,7 +282,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN.PROTOTYPE_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result
index 660daa2..eab9f74 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Combined.js-result
@@ -213,7 +213,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result
index 6ff597f..c05a2fc 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-BuiltinConstructor-Separate.js-result
@@ -212,7 +212,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTINCONSTRUCTOR_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result
index bb12117..0571bd1 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/JavaScriptCore-InternalClashingNames-Combined.js-result
@@ -142,7 +142,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); }
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); }
JSC_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result
index b8bcfb8..3e2acde 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result
@@ -220,7 +220,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().anotherGuardedInternalBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().anotherGuardedInternalBuiltinBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().anotherGuardedInternalBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().anotherGuardedInternalBuiltinBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_ANOTHERGUARDEDINTERNALBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result
index d4d41bf..2624478 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result
@@ -190,7 +190,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().arbitraryConditionalGuardBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_ARBITRARYCONDITIONALGUARD_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result
index 59254ce..38f78de 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result
@@ -190,7 +190,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().guardedBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().guardedBuiltinBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().guardedBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().guardedBuiltinBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_GUARDEDBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result
index 65dd3e8..8f5d320 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result
@@ -222,7 +222,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().guardedInternalBuiltinBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_GUARDEDINTERNALBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result
index 06c935a..e6ff62f 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result
@@ -184,7 +184,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().unguardedBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().unguardedBuiltinBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().unguardedBuiltinBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().unguardedBuiltinBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_UNGUARDEDBUILTIN_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result
index b24bca3..e5639fd 100644
--- a/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result
+++ b/Source/JavaScriptCore/Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result
@@ -275,7 +275,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \
{\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \
- return clientData->builtinFunctions().xmlCasingTestBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().xmlCasingTestBuiltins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return clientData->builtinFunctions().xmlCasingTestBuiltins().codeName##Executable()->link(vm, clientData->builtinFunctions().xmlCasingTestBuiltins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
WEBCORE_FOREACH_XMLCASINGTEST_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py b/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py
index 907a6d7..4c293cc 100644
--- a/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py
+++ b/Source/JavaScriptCore/Scripts/wkbuiltins/builtins_templates.py
@@ -85,7 +85,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \\
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \\
{\\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
${macroPrefix}_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
@@ -96,7 +96,7 @@
#define DEFINE_BUILTIN_GENERATOR(codeName, functionName, overriddenName, argumentCount) \\
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \\
{\\
- return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \
+ return vm.builtinExecutables()->codeName##Executable()->link(vm, vm.builtinExecutables()->codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \
}
${macroPrefix}_FOREACH_${objectMacro}_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
@@ -108,7 +108,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \\
{\\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \\
- return clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Executable()->link(vm, clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \\
+ return clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Executable()->link(vm, clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \\
}
${macroPrefix}_FOREACH_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
@@ -120,7 +120,7 @@
JSC::FunctionExecutable* codeName##Generator(JSC::VM& vm) \\
{\\
JSVMClientData* clientData = static_cast<JSVMClientData*>(vm.clientData); \\
- return clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Executable()->link(vm, clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Source(), std::nullopt, s_##codeName##Intrinsic); \\
+ return clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Executable()->link(vm, clientData->builtinFunctions().${objectNameLC}Builtins().codeName##Source(), WTF::nullopt, s_##codeName##Intrinsic); \\
}
${macroPrefix}_FOREACH_${objectMacro}_BUILTIN_CODE(DEFINE_BUILTIN_GENERATOR)
#undef DEFINE_BUILTIN_GENERATOR
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
index d91921a..9b20665 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
@@ -3835,7 +3835,7 @@
return static_cast<RelationalCondition>(Assembler::invert(static_cast<Assembler::Condition>(cond)));
}
- static std::optional<ResultCondition> commuteCompareToZeroIntoTest(RelationalCondition cond)
+ static Optional<ResultCondition> commuteCompareToZeroIntoTest(RelationalCondition cond)
{
switch (cond) {
case Equal:
@@ -3848,7 +3848,7 @@
return PositiveOrZero;
break;
default:
- return std::nullopt;
+ return WTF::nullopt;
}
}
diff --git a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
index ec52181..1243422 100644
--- a/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
+++ b/Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
@@ -3123,7 +3123,7 @@
}
}
- static std::optional<ResultCondition> commuteCompareToZeroIntoTest(RelationalCondition cond)
+ static Optional<ResultCondition> commuteCompareToZeroIntoTest(RelationalCondition cond)
{
switch (cond) {
case Equal:
@@ -3136,7 +3136,7 @@
return PositiveOrZero;
break;
default:
- return std::nullopt;
+ return WTF::nullopt;
}
}
diff --git a/Source/JavaScriptCore/b3/B3CheckSpecial.cpp b/Source/JavaScriptCore/b3/B3CheckSpecial.cpp
index 7c5372a..ce64466 100644
--- a/Source/JavaScriptCore/b3/B3CheckSpecial.cpp
+++ b/Source/JavaScriptCore/b3/B3CheckSpecial.cpp
@@ -111,7 +111,7 @@
void CheckSpecial::forEachArg(Inst& inst, const ScopedLambda<Inst::EachArgCallback>& callback)
{
using namespace Air;
- std::optional<Width> optionalDefArgWidth;
+ Optional<Width> optionalDefArgWidth;
Inst hidden = hiddenBranch(inst);
hidden.forEachArg(
[&] (Arg& arg, Arg::Role role, Bank bank, Width width) {
@@ -123,7 +123,7 @@
callback(inst.args[1 + index], role, bank, width);
});
- std::optional<unsigned> firstRecoverableIndex;
+ Optional<unsigned> firstRecoverableIndex;
if (m_checkKind.opcode == BranchAdd32 || m_checkKind.opcode == BranchAdd64)
firstRecoverableIndex = 1;
forEachArgImpl(numB3Args(inst), m_numCheckArgs + 1, inst, m_stackmapRole, firstRecoverableIndex, callback, optionalDefArgWidth);
@@ -150,11 +150,11 @@
return admitsStack(inst, argIndex);
}
-std::optional<unsigned> CheckSpecial::shouldTryAliasingDef(Inst& inst)
+Optional<unsigned> CheckSpecial::shouldTryAliasingDef(Inst& inst)
{
- if (std::optional<unsigned> branchDef = hiddenBranch(inst).shouldTryAliasingDef())
+ if (Optional<unsigned> branchDef = hiddenBranch(inst).shouldTryAliasingDef())
return *branchDef + 1;
- return std::nullopt;
+ return WTF::nullopt;
}
CCallHelpers::Jump CheckSpecial::generate(Inst& inst, CCallHelpers& jit, GenerationContext& context)
diff --git a/Source/JavaScriptCore/b3/B3CheckSpecial.h b/Source/JavaScriptCore/b3/B3CheckSpecial.h
index b9183fa..693e2ce 100644
--- a/Source/JavaScriptCore/b3/B3CheckSpecial.h
+++ b/Source/JavaScriptCore/b3/B3CheckSpecial.h
@@ -124,7 +124,7 @@
bool isValid(Air::Inst&) final;
bool admitsStack(Air::Inst&, unsigned argIndex) final;
bool admitsExtendedOffsetAddr(Air::Inst&, unsigned) final;
- std::optional<unsigned> shouldTryAliasingDef(Air::Inst&) final;
+ Optional<unsigned> shouldTryAliasingDef(Air::Inst&) final;
// NOTE: the generate method will generate the hidden branch and then register a LatePath that
// generates the stackmap. Super crazy dude!
diff --git a/Source/JavaScriptCore/b3/B3Common.cpp b/Source/JavaScriptCore/b3/B3Common.cpp
index 661020e..07a5b0a 100644
--- a/Source/JavaScriptCore/b3/B3Common.cpp
+++ b/Source/JavaScriptCore/b3/B3Common.cpp
@@ -65,12 +65,12 @@
return Options::verboseValidationFailure();
}
-std::optional<GPRReg> pinnedExtendedOffsetAddrRegister()
+Optional<GPRReg> pinnedExtendedOffsetAddrRegister()
{
#if CPU(ARM64)
return static_cast<GPRReg>(+MacroAssembler::dataTempRegister);
#elif CPU(X86_64)
- return std::nullopt;
+ return WTF::nullopt;
#else
#error Unhandled architecture.
#endif
diff --git a/Source/JavaScriptCore/b3/B3Common.h b/Source/JavaScriptCore/b3/B3Common.h
index d0d7dd3..1198564 100644
--- a/Source/JavaScriptCore/b3/B3Common.h
+++ b/Source/JavaScriptCore/b3/B3Common.h
@@ -182,7 +182,7 @@
return Options::defaultB3OptLevel();
}
-std::optional<GPRReg> pinnedExtendedOffsetAddrRegister();
+Optional<GPRReg> pinnedExtendedOffsetAddrRegister();
} } // namespace JSC::B3
diff --git a/Source/JavaScriptCore/b3/B3LowerToAir.cpp b/Source/JavaScriptCore/b3/B3LowerToAir.cpp
index 006527a..06834e0 100644
--- a/Source/JavaScriptCore/b3/B3LowerToAir.cpp
+++ b/Source/JavaScriptCore/b3/B3LowerToAir.cpp
@@ -448,12 +448,12 @@
}
template<typename Int, typename = Value::IsLegalOffset<Int>>
- std::optional<unsigned> scaleForShl(Value* shl, Int offset, std::optional<Width> width = std::nullopt)
+ Optional<unsigned> scaleForShl(Value* shl, Int offset, Optional<Width> width = WTF::nullopt)
{
if (shl->opcode() != Shl)
- return std::nullopt;
+ return WTF::nullopt;
if (!shl->child(1)->hasInt32())
- return std::nullopt;
+ return WTF::nullopt;
unsigned logScale = shl->child(1)->asInt32();
if (shl->type() == Int32)
logScale &= 31;
@@ -463,10 +463,10 @@
// to signed since that's what all of our APIs want.
int64_t bigScale = static_cast<uint64_t>(1) << static_cast<uint64_t>(logScale);
if (!isRepresentableAs<int32_t>(bigScale))
- return std::nullopt;
+ return WTF::nullopt;
unsigned scale = static_cast<int32_t>(bigScale);
if (!Arg::isValidIndexForm(scale, offset, width))
- return std::nullopt;
+ return WTF::nullopt;
return scale;
}
@@ -492,7 +492,7 @@
Value* right = address->child(1);
auto tryIndex = [&] (Value* index, Value* base) -> Arg {
- std::optional<unsigned> scale = scaleForShl(index, offset, width);
+ Optional<unsigned> scale = scaleForShl(index, offset, width);
if (!scale)
return Arg();
if (m_locked.contains(index->child(0)) || m_locked.contains(base))
@@ -2088,7 +2088,7 @@
}
auto tryShl = [&] (Value* shl, Value* other) -> bool {
- std::optional<unsigned> scale = scaleForShl(shl, offset);
+ Optional<unsigned> scale = scaleForShl(shl, offset);
if (!scale)
return false;
if (!canBeInternal(shl))
diff --git a/Source/JavaScriptCore/b3/B3Opcode.cpp b/Source/JavaScriptCore/b3/B3Opcode.cpp
index dc10249..90937df 100644
--- a/Source/JavaScriptCore/b3/B3Opcode.cpp
+++ b/Source/JavaScriptCore/b3/B3Opcode.cpp
@@ -36,7 +36,7 @@
namespace JSC { namespace B3 {
-std::optional<Opcode> invertedCompare(Opcode opcode, Type type)
+Optional<Opcode> invertedCompare(Opcode opcode, Type type)
{
switch (opcode) {
case Equal:
@@ -46,19 +46,19 @@
case LessThan:
if (isInt(type))
return GreaterEqual;
- return std::nullopt;
+ return WTF::nullopt;
case GreaterThan:
if (isInt(type))
return LessEqual;
- return std::nullopt;
+ return WTF::nullopt;
case LessEqual:
if (isInt(type))
return GreaterThan;
- return std::nullopt;
+ return WTF::nullopt;
case GreaterEqual:
if (isInt(type))
return LessThan;
- return std::nullopt;
+ return WTF::nullopt;
case Above:
return BelowEqual;
case Below:
@@ -68,7 +68,7 @@
case BelowEqual:
return Above;
default:
- return std::nullopt;
+ return WTF::nullopt;
}
}
diff --git a/Source/JavaScriptCore/b3/B3Opcode.h b/Source/JavaScriptCore/b3/B3Opcode.h
index 25f3af1..f109f59 100644
--- a/Source/JavaScriptCore/b3/B3Opcode.h
+++ b/Source/JavaScriptCore/b3/B3Opcode.h
@@ -374,7 +374,7 @@
}
}
-std::optional<Opcode> invertedCompare(Opcode, Type);
+Optional<Opcode> invertedCompare(Opcode, Type);
inline Opcode constPtrOpcode()
{
diff --git a/Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp b/Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
index 516917b..daae243 100644
--- a/Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
+++ b/Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
@@ -60,7 +60,7 @@
callback(inst.args[argIndex++], role, inst.origin->resultBank(), inst.origin->resultWidth());
}
- forEachArgImpl(0, argIndex, inst, SameAsRep, std::nullopt, callback, std::nullopt);
+ forEachArgImpl(0, argIndex, inst, SameAsRep, WTF::nullopt, callback, WTF::nullopt);
argIndex += inst.origin->numChildren();
for (unsigned i = patchpoint->numGPScratchRegisters; i--;)
diff --git a/Source/JavaScriptCore/b3/B3StackmapSpecial.cpp b/Source/JavaScriptCore/b3/B3StackmapSpecial.cpp
index cfd1a1e..e7c6b49 100644
--- a/Source/JavaScriptCore/b3/B3StackmapSpecial.cpp
+++ b/Source/JavaScriptCore/b3/B3StackmapSpecial.cpp
@@ -75,8 +75,8 @@
void StackmapSpecial::forEachArgImpl(
unsigned numIgnoredB3Args, unsigned numIgnoredAirArgs,
- Inst& inst, RoleMode roleMode, std::optional<unsigned> firstRecoverableIndex,
- const ScopedLambda<Inst::EachArgCallback>& callback, std::optional<Width> optionalDefArgWidth)
+ Inst& inst, RoleMode roleMode, Optional<unsigned> firstRecoverableIndex,
+ const ScopedLambda<Inst::EachArgCallback>& callback, Optional<Width> optionalDefArgWidth)
{
StackmapValue* value = inst.origin->as<StackmapValue>();
ASSERT(value);
diff --git a/Source/JavaScriptCore/b3/B3StackmapSpecial.h b/Source/JavaScriptCore/b3/B3StackmapSpecial.h
index 6e8eac3..e09b936 100644
--- a/Source/JavaScriptCore/b3/B3StackmapSpecial.h
+++ b/Source/JavaScriptCore/b3/B3StackmapSpecial.h
@@ -59,8 +59,8 @@
// subclasses that implement that.
void forEachArgImpl(
unsigned numIgnoredB3Args, unsigned numIgnoredAirArgs,
- Air::Inst&, RoleMode, std::optional<unsigned> firstRecoverableIndex,
- const ScopedLambda<Air::Inst::EachArgCallback>&, std::optional<Width> optionalDefArgWidth);
+ Air::Inst&, RoleMode, Optional<unsigned> firstRecoverableIndex,
+ const ScopedLambda<Air::Inst::EachArgCallback>&, Optional<Width> optionalDefArgWidth);
bool isValidImpl(
unsigned numIgnoredB3Args, unsigned numIgnoredAirArgs,
diff --git a/Source/JavaScriptCore/b3/B3Value.cpp b/Source/JavaScriptCore/b3/B3Value.cpp
index e76afe5..9bea1b1 100644
--- a/Source/JavaScriptCore/b3/B3Value.cpp
+++ b/Source/JavaScriptCore/b3/B3Value.cpp
@@ -459,7 +459,7 @@
{
if (!numChildren())
return nullptr;
- if (std::optional<Opcode> invertedOpcode = B3::invertedCompare(opcode(), child(0)->type())) {
+ if (Optional<Opcode> invertedOpcode = B3::invertedCompare(opcode(), child(0)->type())) {
ASSERT(!kind().hasExtraBits());
return proc.add<Value>(*invertedOpcode, type(), origin(), children());
}
diff --git a/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp b/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp
index c282d50..8f49765 100644
--- a/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp
+++ b/Source/JavaScriptCore/b3/air/AirAllocateRegistersByGraphColoring.cpp
@@ -1673,7 +1673,7 @@
m_worklistMoves.startAddingLowPriorityMoves();
for (BasicBlock* block : m_code) {
for (Inst& inst : *block) {
- if (std::optional<unsigned> defArgIndex = inst.shouldTryAliasingDef()) {
+ if (Optional<unsigned> defArgIndex = inst.shouldTryAliasingDef()) {
Arg op1 = inst.args[*defArgIndex - 2];
Arg op2 = inst.args[*defArgIndex - 1];
Arg dest = inst.args[*defArgIndex];
diff --git a/Source/JavaScriptCore/b3/air/AirArg.h b/Source/JavaScriptCore/b3/air/AirArg.h
index 964548b..1f925c0 100644
--- a/Source/JavaScriptCore/b3/air/AirArg.h
+++ b/Source/JavaScriptCore/b3/air/AirArg.h
@@ -586,7 +586,7 @@
}
// If you don't pass a Width, this optimistically assumes that you're using the right width.
- static bool isValidScale(unsigned scale, std::optional<Width> width = std::nullopt)
+ static bool isValidScale(unsigned scale, Optional<Width> width = WTF::nullopt)
{
switch (scale) {
case 1:
@@ -1181,7 +1181,7 @@
}
template<typename Int, typename = Value::IsLegalOffset<Int>>
- static bool isValidAddrForm(Int offset, std::optional<Width> width = std::nullopt)
+ static bool isValidAddrForm(Int offset, Optional<Width> width = WTF::nullopt)
{
if (isX86())
return true;
@@ -1207,7 +1207,7 @@
}
template<typename Int, typename = Value::IsLegalOffset<Int>>
- static bool isValidIndexForm(unsigned scale, Int offset, std::optional<Width> width = std::nullopt)
+ static bool isValidIndexForm(unsigned scale, Int offset, Optional<Width> width = WTF::nullopt)
{
if (!isValidScale(scale, width))
return false;
@@ -1221,7 +1221,7 @@
// If you don't pass a width then this optimistically assumes that you're using the right width. But
// the width is relevant to validity, so passing a null width is only useful for assertions. Don't
// pass null widths when cascading through Args in the instruction selector!
- bool isValidForm(std::optional<Width> width = std::nullopt) const
+ bool isValidForm(Optional<Width> width = WTF::nullopt) const
{
switch (kind()) {
case Invalid:
diff --git a/Source/JavaScriptCore/b3/air/AirCode.cpp b/Source/JavaScriptCore/b3/air/AirCode.cpp
index 2bf11fb..2f55346 100644
--- a/Source/JavaScriptCore/b3/air/AirCode.cpp
+++ b/Source/JavaScriptCore/b3/air/AirCode.cpp
@@ -192,14 +192,14 @@
return false;
}
-std::optional<unsigned> Code::entrypointIndex(BasicBlock* block) const
+Optional<unsigned> Code::entrypointIndex(BasicBlock* block) const
{
RELEASE_ASSERT(m_entrypoints.size());
for (unsigned i = 0; i < m_entrypoints.size(); ++i) {
if (m_entrypoints[i].block() == block)
return i;
}
- return std::nullopt;
+ return WTF::nullopt;
}
void Code::setCalleeSaveRegisterAtOffsetList(RegisterAtOffsetList&& registerAtOffsetList, StackSlot* slot)
diff --git a/Source/JavaScriptCore/b3/air/AirCode.h b/Source/JavaScriptCore/b3/air/AirCode.h
index 2969cea..258c24a 100644
--- a/Source/JavaScriptCore/b3/air/AirCode.h
+++ b/Source/JavaScriptCore/b3/air/AirCode.h
@@ -170,7 +170,7 @@
const FrequentedBlock& entrypoint(unsigned index) const { return m_entrypoints[index]; }
bool isEntrypoint(BasicBlock*) const;
// Note: It is only valid to call this function after LowerEntrySwitch.
- std::optional<unsigned> entrypointIndex(BasicBlock*) const;
+ Optional<unsigned> entrypointIndex(BasicBlock*) const;
// Note: We allow this to be called even before we set m_entrypoints just for convenience to users of this API.
// However, if you call this before setNumEntrypoints, setNumEntrypoints will overwrite this value.
diff --git a/Source/JavaScriptCore/b3/air/AirCustom.h b/Source/JavaScriptCore/b3/air/AirCustom.h
index 62abfc6..e98afea 100644
--- a/Source/JavaScriptCore/b3/air/AirCustom.h
+++ b/Source/JavaScriptCore/b3/air/AirCustom.h
@@ -88,7 +88,7 @@
return inst.args[0].special()->admitsExtendedOffsetAddr(inst, argIndex);
}
- static std::optional<unsigned> shouldTryAliasingDef(Inst& inst)
+ static Optional<unsigned> shouldTryAliasingDef(Inst& inst)
{
return inst.args[0].special()->shouldTryAliasingDef(inst);
}
diff --git a/Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp b/Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp
index 60a8cc0..89a4563 100644
--- a/Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp
+++ b/Source/JavaScriptCore/b3/air/AirFixObviousSpills.cpp
@@ -121,11 +121,11 @@
else if (isSpillSlot(inst.args[1]))
func(SlotConst(inst.args[1].stackSlot(), inst.args[0].value()));
} else if (isSpillSlot(inst.args[0]) && inst.args[1].isReg()) {
- if (std::optional<int64_t> constant = m_state.constantFor(inst.args[0]))
+ if (Optional<int64_t> constant = m_state.constantFor(inst.args[0]))
func(RegConst(inst.args[1].reg(), *constant));
func(RegSlot(inst.args[1].reg(), inst.args[0].stackSlot(), RegSlot::AllBits));
} else if (inst.args[0].isReg() && isSpillSlot(inst.args[1])) {
- if (std::optional<int64_t> constant = m_state.constantFor(inst.args[0]))
+ if (Optional<int64_t> constant = m_state.constantFor(inst.args[0]))
func(SlotConst(inst.args[1].stackSlot(), *constant));
func(RegSlot(inst.args[0].reg(), inst.args[1].stackSlot(), RegSlot::AllBits));
}
@@ -138,11 +138,11 @@
else if (isSpillSlot(inst.args[1]))
func(SlotConst(inst.args[1].stackSlot(), static_cast<uint32_t>(inst.args[0].value())));
} else if (isSpillSlot(inst.args[0]) && inst.args[1].isReg()) {
- if (std::optional<int64_t> constant = m_state.constantFor(inst.args[0]))
+ if (Optional<int64_t> constant = m_state.constantFor(inst.args[0]))
func(RegConst(inst.args[1].reg(), static_cast<uint32_t>(*constant)));
func(RegSlot(inst.args[1].reg(), inst.args[0].stackSlot(), RegSlot::ZExt32));
} else if (inst.args[0].isReg() && isSpillSlot(inst.args[1])) {
- if (std::optional<int64_t> constant = m_state.constantFor(inst.args[0]))
+ if (Optional<int64_t> constant = m_state.constantFor(inst.args[0]))
func(SlotConst(inst.args[1].stackSlot(), static_cast<int32_t>(*constant)));
func(RegSlot(inst.args[0].reg(), inst.args[1].stackSlot(), RegSlot::Match32));
}
@@ -504,19 +504,19 @@
return nullptr;
}
- std::optional<int64_t> constantFor(const Arg& arg)
+ Optional<int64_t> constantFor(const Arg& arg)
{
if (arg.isReg()) {
if (const RegConst* alias = getRegConst(arg.reg()))
return alias->constant;
- return std::nullopt;
+ return WTF::nullopt;
}
if (arg.isStack()) {
if (const SlotConst* alias = getSlotConst(arg.stackSlot()))
return alias->constant;
- return std::nullopt;
+ return WTF::nullopt;
}
- return std::nullopt;
+ return WTF::nullopt;
}
void clobber(const Arg& arg)
diff --git a/Source/JavaScriptCore/b3/air/AirGenerate.cpp b/Source/JavaScriptCore/b3/air/AirGenerate.cpp
index d532ed5..de0c8f8 100644
--- a/Source/JavaScriptCore/b3/air/AirGenerate.cpp
+++ b/Source/JavaScriptCore/b3/air/AirGenerate.cpp
@@ -207,7 +207,7 @@
if (disassembler)
disassembler->startBlock(block, jit);
- if (std::optional<unsigned> entrypointIndex = code.entrypointIndex(block)) {
+ if (Optional<unsigned> entrypointIndex = code.entrypointIndex(block)) {
ASSERT(code.isEntrypoint(block));
if (disassembler)
diff --git a/Source/JavaScriptCore/b3/air/AirInst.h b/Source/JavaScriptCore/b3/air/AirInst.h
index f2c0f02..b572339 100644
--- a/Source/JavaScriptCore/b3/air/AirInst.h
+++ b/Source/JavaScriptCore/b3/air/AirInst.h
@@ -199,7 +199,7 @@
// For example,
// Add Tmp1, Tmp2, Tmp3
// returns 2 if 0 and 1 benefit from aliasing to Tmp3.
- std::optional<unsigned> shouldTryAliasingDef();
+ Optional<unsigned> shouldTryAliasingDef();
// This computes a hash for comparing this to JSAir's Inst.
unsigned jsHash() const;
diff --git a/Source/JavaScriptCore/b3/air/AirInstInlines.h b/Source/JavaScriptCore/b3/air/AirInstInlines.h
index 835b105..af0d203 100644
--- a/Source/JavaScriptCore/b3/air/AirInstInlines.h
+++ b/Source/JavaScriptCore/b3/air/AirInstInlines.h
@@ -116,10 +116,10 @@
return admitsExtendedOffsetAddr(&arg - &args[0]);
}
-inline std::optional<unsigned> Inst::shouldTryAliasingDef()
+inline Optional<unsigned> Inst::shouldTryAliasingDef()
{
if (!isX86())
- return std::nullopt;
+ return WTF::nullopt;
switch (kind.opcode) {
case Add32:
@@ -147,7 +147,7 @@
case MulFloat:
#if CPU(X86) || CPU(X86_64)
if (MacroAssembler::supportsAVX())
- return std::nullopt;
+ return WTF::nullopt;
#endif
if (args.size() == 3)
return 2;
@@ -178,7 +178,7 @@
default:
break;
}
- return std::nullopt;
+ return WTF::nullopt;
}
inline bool isShiftValid(const Inst& inst)
diff --git a/Source/JavaScriptCore/b3/air/AirSpecial.cpp b/Source/JavaScriptCore/b3/air/AirSpecial.cpp
index e825767..c0c0136 100644
--- a/Source/JavaScriptCore/b3/air/AirSpecial.cpp
+++ b/Source/JavaScriptCore/b3/air/AirSpecial.cpp
@@ -50,9 +50,9 @@
return out.toCString();
}
-std::optional<unsigned> Special::shouldTryAliasingDef(Inst&)
+Optional<unsigned> Special::shouldTryAliasingDef(Inst&)
{
- return std::nullopt;
+ return WTF::nullopt;
}
bool Special::isTerminal(Inst&)
diff --git a/Source/JavaScriptCore/b3/air/AirSpecial.h b/Source/JavaScriptCore/b3/air/AirSpecial.h
index 504050d..a659d03 100644
--- a/Source/JavaScriptCore/b3/air/AirSpecial.h
+++ b/Source/JavaScriptCore/b3/air/AirSpecial.h
@@ -56,7 +56,7 @@
virtual bool isValid(Inst&) = 0;
virtual bool admitsStack(Inst&, unsigned argIndex) = 0;
virtual bool admitsExtendedOffsetAddr(Inst&, unsigned argIndex) = 0;
- virtual std::optional<unsigned> shouldTryAliasingDef(Inst&);
+ virtual Optional<unsigned> shouldTryAliasingDef(Inst&);
// This gets called on for each Inst that uses this Special. Note that there is no way to
// guarantee that a Special gets used from just one Inst, because Air might taildup late. So,
diff --git a/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp b/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp
index 0366f21..f2e81e9 100644
--- a/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp
+++ b/Source/JavaScriptCore/builtins/BuiltinExecutables.cpp
@@ -163,7 +163,7 @@
unsigned lineCount = 0;
unsigned endColumn = 0;
unsigned offsetOfLastNewline = 0;
- std::optional<unsigned> offsetOfSecondToLastNewline;
+ Optional<unsigned> offsetOfSecondToLastNewline;
for (unsigned i = 0; i < view.length(); ++i) {
if (characters[i] == '\n') {
if (lineCount)
diff --git a/Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp b/Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp
index 6b5e68e..d681d2d 100644
--- a/Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp
+++ b/Source/JavaScriptCore/bytecode/BytecodeGeneratorification.cpp
@@ -130,7 +130,7 @@
if (m_storages.size() <= index)
m_storages.resize(index + 1);
- if (std::optional<Storage> storage = m_storages[index])
+ if (Optional<Storage> storage = m_storages[index])
return *storage;
Identifier identifier = Identifier::fromUid(PrivateName());
@@ -153,7 +153,7 @@
UnlinkedCodeBlock* m_codeBlock;
InstructionStreamWriter& m_instructions;
BytecodeGraph m_graph;
- Vector<std::optional<Storage>> m_storages;
+ Vector<Optional<Storage>> m_storages;
Yields m_yields;
Strong<SymbolTable> m_generatorFrameSymbolTable;
int m_generatorFrameSymbolTableIndex;
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.cpp b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
index 0e80517..7afda36 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.cpp
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.cpp
@@ -3066,29 +3066,29 @@
m_pcToCodeOriginMap = WTFMove(map);
}
-std::optional<CodeOrigin> CodeBlock::findPC(void* pc)
+Optional<CodeOrigin> CodeBlock::findPC(void* pc)
{
if (m_pcToCodeOriginMap) {
- if (std::optional<CodeOrigin> codeOrigin = m_pcToCodeOriginMap->findPC(pc))
+ if (Optional<CodeOrigin> codeOrigin = m_pcToCodeOriginMap->findPC(pc))
return codeOrigin;
}
for (auto iter = m_stubInfos.begin(); !!iter; ++iter) {
StructureStubInfo* stub = *iter;
if (stub->containsPC(pc))
- return std::optional<CodeOrigin>(stub->codeOrigin);
+ return Optional<CodeOrigin>(stub->codeOrigin);
}
- if (std::optional<CodeOrigin> codeOrigin = m_jitCode->findPC(this, pc))
+ if (Optional<CodeOrigin> codeOrigin = m_jitCode->findPC(this, pc))
return codeOrigin;
- return std::nullopt;
+ return WTF::nullopt;
}
#endif // ENABLE(JIT)
-std::optional<unsigned> CodeBlock::bytecodeOffsetFromCallSiteIndex(CallSiteIndex callSiteIndex)
+Optional<unsigned> CodeBlock::bytecodeOffsetFromCallSiteIndex(CallSiteIndex callSiteIndex)
{
- std::optional<unsigned> bytecodeOffset;
+ Optional<unsigned> bytecodeOffset;
JITCode::JITType jitType = this->jitType();
if (jitType == JITCode::InterpreterThunk || jitType == JITCode::BaselineJIT) {
#if USE(JSVALUE64)
diff --git a/Source/JavaScriptCore/bytecode/CodeBlock.h b/Source/JavaScriptCore/bytecode/CodeBlock.h
index e7c66e2..8d23bbc 100644
--- a/Source/JavaScriptCore/bytecode/CodeBlock.h
+++ b/Source/JavaScriptCore/bytecode/CodeBlock.h
@@ -239,7 +239,7 @@
void expressionRangeForBytecodeOffset(unsigned bytecodeOffset, int& divot,
int& startOffset, int& endOffset, unsigned& line, unsigned& column) const;
- std::optional<unsigned> bytecodeOffsetFromCallSiteIndex(CallSiteIndex);
+ Optional<unsigned> bytecodeOffsetFromCallSiteIndex(CallSiteIndex);
void getICStatusMap(const ConcurrentJSLocker&, ICStatusMap& result);
void getICStatusMap(ICStatusMap& result);
@@ -851,7 +851,7 @@
#if ENABLE(JIT)
void setPCToCodeOriginMap(std::unique_ptr<PCToCodeOriginMap>&&);
- std::optional<CodeOrigin> findPC(void* pc);
+ Optional<CodeOrigin> findPC(void* pc);
#endif
bool hasTailCalls() const { return m_unlinkedCode->hasTailCalls(); }
diff --git a/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp b/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
index 6769ba0..718a8d8 100644
--- a/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
+++ b/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
@@ -229,7 +229,7 @@
std::unique_ptr<CallLinkStatus> callLinkStatus;
JSFunction* intrinsicFunction = nullptr;
FunctionPtr<OperationPtrTag> customAccessorGetter;
- std::optional<DOMAttributeAnnotation> domAttribute;
+ Optional<DOMAttributeAnnotation> domAttribute;
switch (access.type()) {
case AccessCase::Load:
diff --git a/Source/JavaScriptCore/bytecode/GetByIdVariant.cpp b/Source/JavaScriptCore/bytecode/GetByIdVariant.cpp
index 8ae40e3..ee25e7f 100644
--- a/Source/JavaScriptCore/bytecode/GetByIdVariant.cpp
+++ b/Source/JavaScriptCore/bytecode/GetByIdVariant.cpp
@@ -38,7 +38,7 @@
std::unique_ptr<CallLinkStatus> callLinkStatus,
JSFunction* intrinsicFunction,
FunctionPtr<OperationPtrTag> customAccessorGetter,
- std::optional<DOMAttributeAnnotation> domAttribute)
+ Optional<DOMAttributeAnnotation> domAttribute)
: m_structureSet(structureSet)
, m_conditionSet(conditionSet)
, m_offset(offset)
diff --git a/Source/JavaScriptCore/bytecode/GetByIdVariant.h b/Source/JavaScriptCore/bytecode/GetByIdVariant.h
index 02f107d..bfa3112 100644
--- a/Source/JavaScriptCore/bytecode/GetByIdVariant.h
+++ b/Source/JavaScriptCore/bytecode/GetByIdVariant.h
@@ -47,7 +47,7 @@
std::unique_ptr<CallLinkStatus> = nullptr,
JSFunction* = nullptr,
FunctionPtr<OperationPtrTag> customAccessorGetter = nullptr,
- std::optional<DOMAttributeAnnotation> = std::nullopt);
+ Optional<DOMAttributeAnnotation> = WTF::nullopt);
~GetByIdVariant();
@@ -67,7 +67,7 @@
JSFunction* intrinsicFunction() const { return m_intrinsicFunction; }
Intrinsic intrinsic() const { return m_intrinsicFunction ? m_intrinsicFunction->intrinsic() : NoIntrinsic; }
FunctionPtr<OperationPtrTag> customAccessorGetter() const { return m_customAccessorGetter; }
- std::optional<DOMAttributeAnnotation> domAttribute() const { return m_domAttribute; }
+ Optional<DOMAttributeAnnotation> domAttribute() const { return m_domAttribute; }
bool isPropertyUnset() const { return offset() == invalidOffset; }
@@ -90,7 +90,7 @@
std::unique_ptr<CallLinkStatus> m_callLinkStatus;
JSFunction* m_intrinsicFunction;
FunctionPtr<OperationPtrTag> m_customAccessorGetter;
- std::optional<DOMAttributeAnnotation> m_domAttribute;
+ Optional<DOMAttributeAnnotation> m_domAttribute;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp b/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp
index e7698f9..28194c7 100644
--- a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp
+++ b/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.cpp
@@ -52,7 +52,7 @@
std::unique_ptr<AccessCase> GetterSetterAccessCase::create(
VM& vm, JSCell* owner, AccessType type, PropertyOffset offset, Structure* structure, const ObjectPropertyConditionSet& conditionSet,
bool viaProxy, WatchpointSet* additionalSet, FunctionPtr<OperationPtrTag> customGetter, JSObject* customSlotBase,
- std::optional<DOMAttributeAnnotation> domAttribute, std::unique_ptr<PolyProtoAccessChain> prototypeAccessChain)
+ Optional<DOMAttributeAnnotation> domAttribute, std::unique_ptr<PolyProtoAccessChain> prototypeAccessChain)
{
switch (type) {
case Getter:
diff --git a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h b/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h
index e9bd55e..273ce3a 100644
--- a/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h
+++ b/Source/JavaScriptCore/bytecode/GetterSetterAccessCase.h
@@ -41,7 +41,7 @@
// actually somewhat likely because of how we do buffering of new cases.
CallLinkInfo* callLinkInfo() const { return m_callLinkInfo.get(); }
JSObject* customSlotBase() const { return m_customSlotBase.get(); }
- std::optional<DOMAttributeAnnotation> domAttribute() const { return m_domAttribute; }
+ Optional<DOMAttributeAnnotation> domAttribute() const { return m_domAttribute; }
bool hasAlternateBase() const override;
JSObject* alternateBase() const override;
@@ -51,7 +51,7 @@
static std::unique_ptr<AccessCase> create(
VM&, JSCell* owner, AccessType, PropertyOffset, Structure*,
const ObjectPropertyConditionSet&, bool viaProxy, WatchpointSet* additionalSet, FunctionPtr<OperationPtrTag> customGetter,
- JSObject* customSlotBase, std::optional<DOMAttributeAnnotation>, std::unique_ptr<PolyProtoAccessChain>);
+ JSObject* customSlotBase, Optional<DOMAttributeAnnotation>, std::unique_ptr<PolyProtoAccessChain>);
static std::unique_ptr<AccessCase> create(VM&, JSCell* owner, AccessType, Structure*, PropertyOffset,
const ObjectPropertyConditionSet&, std::unique_ptr<PolyProtoAccessChain>,
@@ -72,7 +72,7 @@
WriteBarrier<JSObject> m_customSlotBase;
std::unique_ptr<CallLinkInfo> m_callLinkInfo;
FunctionPtr<OperationPtrTag> m_customAccessor;
- std::optional<DOMAttributeAnnotation> m_domAttribute;
+ Optional<DOMAttributeAnnotation> m_domAttribute;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp b/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp
index 71b1374..b114d39 100644
--- a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp
+++ b/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.cpp
@@ -133,7 +133,7 @@
visitor.append(thisObject->m_unlinkedCodeBlockForConstruct);
}
-FunctionExecutable* UnlinkedFunctionExecutable::link(VM& vm, const SourceCode& passedParentSource, std::optional<int> overrideLineNumber, Intrinsic intrinsic)
+FunctionExecutable* UnlinkedFunctionExecutable::link(VM& vm, const SourceCode& passedParentSource, Optional<int> overrideLineNumber, Intrinsic intrinsic)
{
const SourceCode& parentSource = !m_isBuiltinDefaultClassConstructor ? passedParentSource : BuiltinExecutables::defaultConstructorSourceCode(constructorKind());
unsigned firstLine = parentSource.firstLine().oneBasedInt() + m_firstLineOffset;
@@ -174,7 +174,7 @@
UnlinkedFunctionExecutable* UnlinkedFunctionExecutable::fromGlobalCode(
const Identifier& name, ExecState& exec, const SourceCode& source,
- JSObject*& exception, int overrideLineNumber, std::optional<int> functionConstructorParametersEndPosition)
+ JSObject*& exception, int overrideLineNumber, Optional<int> functionConstructorParametersEndPosition)
{
ParserError error;
VM& vm = exec.vm();
diff --git a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h b/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h
index 313d666..526898c 100644
--- a/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h
+++ b/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h
@@ -107,9 +107,9 @@
static UnlinkedFunctionExecutable* fromGlobalCode(
const Identifier&, ExecState&, const SourceCode&, JSObject*& exception,
- int overrideLineNumber, std::optional<int> functionConstructorParametersEndPosition);
+ int overrideLineNumber, Optional<int> functionConstructorParametersEndPosition);
- JS_EXPORT_PRIVATE FunctionExecutable* link(VM&, const SourceCode& parentSource, std::optional<int> overrideLineNumber = std::nullopt, Intrinsic = NoIntrinsic);
+ JS_EXPORT_PRIVATE FunctionExecutable* link(VM&, const SourceCode& parentSource, Optional<int> overrideLineNumber = WTF::nullopt, Intrinsic = NoIntrinsic);
void clearCode(VM& vm)
{
diff --git a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index 5f69aba..71eff15 100644
--- a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -4099,7 +4099,7 @@
ASSERT(string->raw());
rawStrings.append(string->raw()->impl());
if (!string->cooked())
- cookedStrings.append(std::nullopt);
+ cookedStrings.append(WTF::nullopt);
else
cookedStrings.append(string->cooked()->impl());
}
diff --git a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index b39c14e..968eb09 100644
--- a/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -564,7 +564,7 @@
RegisterID* emitNodeForProperty(RegisterID* dst, ExpressionNode* node)
{
if (node->isString()) {
- if (std::optional<uint32_t> index = parseIndex(static_cast<StringNode*>(node)->value()))
+ if (Optional<uint32_t> index = parseIndex(static_cast<StringNode*>(node)->value()))
return emitLoad(dst, jsNumber(index.value()));
}
return emitNode(dst, node);
@@ -1222,7 +1222,7 @@
Vector<LexicalScopeStackEntry> m_lexicalScopeStack;
Vector<TDZMap> m_TDZStack;
- std::optional<size_t> m_varScopeLexicalScopeStackIndex;
+ Optional<size_t> m_varScopeLexicalScopeStackIndex;
void pushTDZVariables(const VariableEnvironment&, TDZCheckOptimization, TDZRequirement);
ScopeNode* const m_scopeNode;
diff --git a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
index 23a14b9..4c09459 100644
--- a/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
+++ b/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp
@@ -694,7 +694,7 @@
return;
}
if (const auto* identifier = node.name()) {
- std::optional<uint32_t> optionalIndex = parseIndex(*identifier);
+ Optional<uint32_t> optionalIndex = parseIndex(*identifier);
if (!optionalIndex) {
generator.emitDirectPutById(newObj, *identifier, value.get(), node.putType());
return;
@@ -2089,7 +2089,7 @@
OpcodeID opcodeID = this->opcodeID();
if (opcodeID == op_less || opcodeID == op_lesseq || opcodeID == op_greater || opcodeID == op_greatereq) {
- auto isUInt32 = [&] (ExpressionNode* node) -> std::optional<UInt32Result> {
+ auto isUInt32 = [&] (ExpressionNode* node) -> Optional<UInt32Result> {
if (node->isBinaryOpNode() && static_cast<BinaryOpNode*>(node)->opcodeID() == op_urshift)
return UInt32Result::UInt32;
if (node->isNumber() && static_cast<NumberNode*>(node)->isIntegerNode()) {
@@ -2097,7 +2097,7 @@
if (value.isInt32() && value.asInt32() >= 0)
return UInt32Result::Constant;
}
- return std::nullopt;
+ return WTF::nullopt;
};
auto leftResult = isUInt32(m_expr1);
auto rightResult = isUInt32(m_expr2);
@@ -4304,7 +4304,7 @@
RefPtr<RegisterID> temp = generator.newTemporary();
RefPtr<RegisterID> propertyName;
if (!target.propertyExpression) {
- std::optional<uint32_t> optionalIndex = parseIndex(target.propertyName);
+ Optional<uint32_t> optionalIndex = parseIndex(target.propertyName);
if (!optionalIndex)
generator.emitGetById(temp.get(), rhs, target.propertyName);
else {
diff --git a/Source/JavaScriptCore/debugger/Debugger.cpp b/Source/JavaScriptCore/debugger/Debugger.cpp
index c59071d..40c1372 100644
--- a/Source/JavaScriptCore/debugger/Debugger.cpp
+++ b/Source/JavaScriptCore/debugger/Debugger.cpp
@@ -364,7 +364,7 @@
unsigned column = breakpoint.column ? breakpoint.column : Breakpoint::unspecifiedColumn;
DebuggerParseData& parseData = debuggerParseData(breakpoint.sourceID, sourceProvider);
- std::optional<JSTextPosition> resolvedPosition = parseData.pausePositions.breakpointLocationForLineColumn((int)line, (int)column);
+ Optional<JSTextPosition> resolvedPosition = parseData.pausePositions.breakpointLocationForLineColumn((int)line, (int)column);
if (!resolvedPosition)
return;
diff --git a/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp b/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
index a9f639c..334d542 100644
--- a/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
+++ b/Source/JavaScriptCore/debugger/DebuggerCallFrame.cpp
@@ -293,7 +293,7 @@
if (isTailDeleted()) {
CodeBlock* codeBlock = m_shadowChickenFrame.codeBlock;
- if (std::optional<unsigned> bytecodeOffset = codeBlock->bytecodeOffsetFromCallSiteIndex(m_shadowChickenFrame.callSiteIndex)) {
+ if (Optional<unsigned> bytecodeOffset = codeBlock->bytecodeOffsetFromCallSiteIndex(m_shadowChickenFrame.callSiteIndex)) {
return TextPosition(OrdinalNumber::fromOneBasedInt(codeBlock->lineNumberForBytecodeOffset(*bytecodeOffset)),
OrdinalNumber::fromOneBasedInt(codeBlock->columnNumberForBytecodeOffset(*bytecodeOffset)));
}
diff --git a/Source/JavaScriptCore/debugger/DebuggerParseData.cpp b/Source/JavaScriptCore/debugger/DebuggerParseData.cpp
index 48f939f..e3307db 100644
--- a/Source/JavaScriptCore/debugger/DebuggerParseData.cpp
+++ b/Source/JavaScriptCore/debugger/DebuggerParseData.cpp
@@ -30,7 +30,7 @@
namespace JSC {
-std::optional<JSTextPosition> DebuggerPausePositions::breakpointLocationForLineColumn(int line, int column)
+Optional<JSTextPosition> DebuggerPausePositions::breakpointLocationForLineColumn(int line, int column)
{
unsigned start = 0;
unsigned end = m_positions.size();
@@ -54,7 +54,7 @@
// We are guarenteed to have a Leave for an Entry so we don't need to bounds check.
while (true) {
if (pausePosition.type != DebuggerPausePositionType::Enter)
- return std::optional<JSTextPosition>(pausePosition.position);
+ return Optional<JSTextPosition>(pausePosition.position);
pausePosition = m_positions[middle++];
}
}
@@ -67,7 +67,7 @@
// Past the end, no possible pause locations.
if (start >= m_positions.size())
- return std::nullopt;
+ return WTF::nullopt;
// If the next location is a function Entry we will need to decide if we should go into
// the function or go past the function. We decide to go into the function if the
@@ -87,7 +87,7 @@
// Valid pause location. Use it.
DebuggerPausePosition& firstSlidePosition = m_positions[start];
if (firstSlidePosition.type != DebuggerPausePositionType::Enter)
- return std::optional<JSTextPosition>(firstSlidePosition.position);
+ return Optional<JSTextPosition>(firstSlidePosition.position);
// Determine if we should enter this function or skip past it.
// If entryStackSize is > 0 we are skipping functions.
@@ -113,11 +113,11 @@
}
// Found pause position.
- return std::optional<JSTextPosition>(slidePosition.position);
+ return Optional<JSTextPosition>(slidePosition.position);
}
// No pause positions found.
- return std::nullopt;
+ return WTF::nullopt;
}
void DebuggerPausePositions::sort()
diff --git a/Source/JavaScriptCore/debugger/DebuggerParseData.h b/Source/JavaScriptCore/debugger/DebuggerParseData.h
index ecc78d0..0622515 100644
--- a/Source/JavaScriptCore/debugger/DebuggerParseData.h
+++ b/Source/JavaScriptCore/debugger/DebuggerParseData.h
@@ -60,7 +60,7 @@
m_positions.append({ DebuggerPausePositionType::Leave, position });
}
- std::optional<JSTextPosition> breakpointLocationForLineColumn(int line, int column);
+ Optional<JSTextPosition> breakpointLocationForLineColumn(int line, int column);
void sort();
diff --git a/Source/JavaScriptCore/debugger/ScriptProfilingScope.h b/Source/JavaScriptCore/debugger/ScriptProfilingScope.h
index c4bee4d..c340a8b 100644
--- a/Source/JavaScriptCore/debugger/ScriptProfilingScope.h
+++ b/Source/JavaScriptCore/debugger/ScriptProfilingScope.h
@@ -83,7 +83,7 @@
}
JSGlobalObject* m_globalObject { nullptr };
- std::optional<Seconds> m_startTime;
+ Optional<Seconds> m_startTime;
ProfilingReason m_reason;
};
diff --git a/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h b/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
index 4cc88f5..5197133 100644
--- a/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
+++ b/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
@@ -555,7 +555,7 @@
case DoubleRep: {
JSValue child = forNode(node->child1()).value();
- if (std::optional<double> number = child.toNumberFromPrimitive()) {
+ if (Optional<double> number = child.toNumberFromPrimitive()) {
setConstant(node, jsDoubleNumber(*number));
break;
}
@@ -681,7 +681,7 @@
case ArithClz32: {
JSValue operand = forNode(node->child1()).value();
- if (std::optional<double> number = operand.toNumberFromPrimitive()) {
+ if (Optional<double> number = operand.toNumberFromPrimitive()) {
switch (node->child1().useKind()) {
case Int32Use:
case KnownInt32Use:
@@ -709,7 +709,7 @@
case MakeRope: {
unsigned numberOfChildren = 0;
unsigned numberOfRemovedChildren = 0;
- std::optional<unsigned> nonEmptyIndex;
+ Optional<unsigned> nonEmptyIndex;
for (unsigned i = 0; i < AdjacencyList::Size; ++i) {
Edge& edge = node->children.child(i);
if (!edge)
@@ -1059,7 +1059,7 @@
JSValue child = forNode(node->child1()).value();
switch (node->child1().useKind()) {
case Int32Use:
- if (std::optional<double> number = child.toNumberFromPrimitive()) {
+ if (Optional<double> number = child.toNumberFromPrimitive()) {
JSValue result = jsNumber(fabs(*number));
if (result.isInt32()) {
setConstant(node, result);
@@ -1069,7 +1069,7 @@
setNonCellTypeForNode(node, SpecInt32Only);
break;
case DoubleRepUse:
- if (std::optional<double> number = child.toNumberFromPrimitive()) {
+ if (Optional<double> number = child.toNumberFromPrimitive()) {
setConstant(node, jsDoubleNumber(fabs(*number)));
break;
}
@@ -1112,7 +1112,7 @@
case ArithCeil:
case ArithTrunc: {
JSValue operand = forNode(node->child1()).value();
- if (std::optional<double> number = operand.toNumberFromPrimitive()) {
+ if (Optional<double> number = operand.toNumberFromPrimitive()) {
if (node->child1().useKind() != DoubleRepUse)
didFoldClobberWorld();
@@ -1192,7 +1192,7 @@
case MapHash: {
if (JSValue key = forNode(node->child1()).value()) {
- if (std::optional<uint32_t> hash = concurrentJSMapHash(key)) {
+ if (Optional<uint32_t> hash = concurrentJSMapHash(key)) {
// Although C++ code uses uint32_t for the hash, the closest type in DFG IR is Int32
// and that's what MapHash returns. So, we have to cast to int32_t to avoid large
// unsigned values becoming doubles. This casting between signed and unsigned
@@ -4154,7 +4154,7 @@
void AbstractInterpreter<AbstractStateType>::executeDoubleUnaryOpEffects(Node* node, double(*equivalentFunction)(double))
{
JSValue child = forNode(node->child1()).value();
- if (std::optional<double> number = child.toNumberFromPrimitive()) {
+ if (Optional<double> number = child.toNumberFromPrimitive()) {
if (node->child1().useKind() != DoubleRepUse)
didFoldClobberWorld();
setConstant(node, jsDoubleNumber(equivalentFunction(*number)));
diff --git a/Source/JavaScriptCore/dfg/DFGGraph.h b/Source/JavaScriptCore/dfg/DFGGraph.h
index e5b1e2a..74191d5 100644
--- a/Source/JavaScriptCore/dfg/DFGGraph.h
+++ b/Source/JavaScriptCore/dfg/DFGGraph.h
@@ -1096,7 +1096,7 @@
bool m_hasDebuggerEnabled;
bool m_hasExceptionHandlers { false };
bool m_isInSSAConversion { false };
- std::optional<uint32_t> m_maxLocalsForCatchOSREntry;
+ Optional<uint32_t> m_maxLocalsForCatchOSREntry;
std::unique_ptr<FlowIndexing> m_indexingCache;
std::unique_ptr<FlowMap<AbstractValue>> m_abstractValuesCache;
Bag<EntrySwitchData> m_entrySwitchData;
diff --git a/Source/JavaScriptCore/dfg/DFGJITCode.cpp b/Source/JavaScriptCore/dfg/DFGJITCode.cpp
index 4798d8f..9780130 100644
--- a/Source/JavaScriptCore/dfg/DFGJITCode.cpp
+++ b/Source/JavaScriptCore/dfg/DFGJITCode.cpp
@@ -225,16 +225,16 @@
minifiedDFG.validateReferences(trackedReferences);
}
-std::optional<CodeOrigin> JITCode::findPC(CodeBlock*, void* pc)
+Optional<CodeOrigin> JITCode::findPC(CodeBlock*, void* pc)
{
for (OSRExit& exit : osrExit) {
if (ExecutableMemoryHandle* handle = exit.m_code.executableMemory()) {
if (handle->start().untaggedPtr() <= pc && pc < handle->end().untaggedPtr())
- return std::optional<CodeOrigin>(exit.m_codeOriginForExitProfile);
+ return Optional<CodeOrigin>(exit.m_codeOriginForExitProfile);
}
}
- return std::nullopt;
+ return WTF::nullopt;
}
void JITCode::finalizeOSREntrypoints()
diff --git a/Source/JavaScriptCore/dfg/DFGJITCode.h b/Source/JavaScriptCore/dfg/DFGJITCode.h
index 0e4a68d..847a835 100644
--- a/Source/JavaScriptCore/dfg/DFGJITCode.h
+++ b/Source/JavaScriptCore/dfg/DFGJITCode.h
@@ -126,7 +126,7 @@
static ptrdiff_t commonDataOffset() { return OBJECT_OFFSETOF(JITCode, common); }
- std::optional<CodeOrigin> findPC(CodeBlock*, void* pc) override;
+ Optional<CodeOrigin> findPC(CodeBlock*, void* pc) override;
private:
friend class JITCompiler; // Allow JITCompiler to call setCodeRef().
diff --git a/Source/JavaScriptCore/dfg/DFGOperations.cpp b/Source/JavaScriptCore/dfg/DFGOperations.cpp
index 0b26c2d..1da406b 100644
--- a/Source/JavaScriptCore/dfg/DFGOperations.cpp
+++ b/Source/JavaScriptCore/dfg/DFGOperations.cpp
@@ -142,7 +142,7 @@
if (direct) {
RELEASE_ASSERT(baseValue.isObject());
JSObject* baseObject = asObject(baseValue);
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
scope.release();
baseObject->putDirectIndex(exec, index.value(), value, 0, strict ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
return;
@@ -162,7 +162,7 @@
if (direct) {
RELEASE_ASSERT(base->isObject());
JSObject* baseObject = asObject(base);
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
baseObject->putDirectIndex(exec, index.value(), value, 0, strict ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
return;
}
@@ -1686,7 +1686,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt8Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt8Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewInt16ArrayWithSize(
@@ -1700,7 +1700,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt16Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt16Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewInt32ArrayWithSize(
@@ -1714,7 +1714,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt32Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSInt32Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewUint8ArrayWithSize(
@@ -1728,7 +1728,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint8Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint8Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewUint8ClampedArrayWithSize(
@@ -1742,7 +1742,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint8ClampedArray>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint8ClampedArray>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewUint16ArrayWithSize(
@@ -1756,7 +1756,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint16Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint16Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewUint32ArrayWithSize(
@@ -1770,7 +1770,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint32Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSUint32Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewFloat32ArrayWithSize(
@@ -1784,7 +1784,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSFloat32Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSFloat32Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
char* JIT_OPERATION operationNewFloat64ArrayWithSize(
@@ -1798,7 +1798,7 @@
{
VM& vm = exec->vm();
NativeCallFrameTracer tracer(&vm, exec);
- return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSFloat64Array>(exec, structure, encodedValue, 0, std::nullopt));
+ return reinterpret_cast<char*>(constructGenericTypedArrayViewWithArguments<JSFloat64Array>(exec, structure, encodedValue, 0, WTF::nullopt));
}
JSCell* JIT_OPERATION operationCreateActivationDirect(ExecState* exec, Structure* structure, JSScope* scope, SymbolTable* table, EncodedJSValue initialValueEncoded)
diff --git a/Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h b/Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h
index 4ca8707..73ca848 100644
--- a/Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h
+++ b/Source/JavaScriptCore/dfg/DFGSlowPathGenerator.h
@@ -51,7 +51,7 @@
jit->m_outOfLineStreamIndex = m_streamIndex;
jit->m_origin = m_origin;
generateInternal(jit);
- jit->m_outOfLineStreamIndex = std::nullopt;
+ jit->m_outOfLineStreamIndex = WTF::nullopt;
if (!ASSERT_DISABLED)
jit->m_jit.abortWithReason(DFGSlowPathGeneratorFellThrough);
}
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
index 2164e2d..63e09fb 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
@@ -405,7 +405,7 @@
m_outOfLineStreamIndex = slowPathLambda.streamIndex;
pcToCodeOriginMapBuilder.appendItem(m_jit.labelIgnoringWatchpoints(), currentNode->origin.semantic);
slowPathLambda.generator();
- m_outOfLineStreamIndex = std::nullopt;
+ m_outOfLineStreamIndex = WTF::nullopt;
}
}
@@ -3561,8 +3561,8 @@
return;
}
- std::optional<JSValueOperand> left;
- std::optional<JSValueOperand> right;
+ Optional<JSValueOperand> left;
+ Optional<JSValueOperand> right;
JSValueRegs leftRegs;
JSValueRegs rightRegs;
@@ -3743,8 +3743,8 @@
return;
}
- std::optional<JSValueOperand> left;
- std::optional<JSValueOperand> right;
+ Optional<JSValueOperand> left;
+ Optional<JSValueOperand> right;
JSValueRegs leftRegs;
JSValueRegs rightRegs;
@@ -3966,8 +3966,8 @@
Edge& leftChild = node->child1();
Edge& rightChild = node->child2();
- std::optional<JSValueOperand> left;
- std::optional<JSValueOperand> right;
+ Optional<JSValueOperand> left;
+ Optional<JSValueOperand> right;
JSValueRegs leftRegs;
JSValueRegs rightRegs;
@@ -3980,14 +3980,14 @@
GPRReg scratchGPR = InvalidGPRReg;
FPRReg scratchFPR = InvalidFPRReg;
- std::optional<FPRTemporary> fprScratch;
+ Optional<FPRTemporary> fprScratch;
if (needsScratchFPRReg) {
fprScratch.emplace(this);
scratchFPR = fprScratch->fpr();
}
#if USE(JSVALUE64)
- std::optional<GPRTemporary> gprScratch;
+ Optional<GPRTemporary> gprScratch;
if (needsScratchGPRReg) {
gprScratch.emplace(this);
scratchGPR = gprScratch->gpr();
@@ -4696,7 +4696,7 @@
void SpeculativeJIT::compileMathIC(Node* node, JITUnaryMathIC<Generator>* mathIC, bool needsScratchGPRReg, RepatchingFunction repatchingFunction, NonRepatchingFunction nonRepatchingFunction)
{
GPRReg scratchGPR = InvalidGPRReg;
- std::optional<GPRTemporary> gprScratch;
+ Optional<GPRTemporary> gprScratch;
if (needsScratchGPRReg) {
gprScratch.emplace(this);
scratchGPR = gprScratch->gpr();
@@ -5021,8 +5021,8 @@
return;
}
- std::optional<JSValueOperand> left;
- std::optional<JSValueOperand> right;
+ Optional<JSValueOperand> left;
+ Optional<JSValueOperand> right;
JSValueRegs leftRegs;
JSValueRegs rightRegs;
@@ -9314,7 +9314,7 @@
SpeculateCellOperand base(this, baseEdge);
regs.append(SnippetParams::Value(base.gpr(), m_state.forNode(baseEdge).value()));
- std::optional<SpeculateCellOperand> globalObject;
+ Optional<SpeculateCellOperand> globalObject;
if (snippet->requireGlobalObject) {
Edge& globalObjectEdge = node->child2();
globalObject.emplace(this, globalObjectEdge);
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
index 48463c5..dcdf966 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
@@ -1736,7 +1736,7 @@
};
Vector<SlowPathLambda> m_slowPathLambdas;
Vector<SilentRegisterSavePlan> m_plans;
- std::optional<unsigned> m_outOfLineStreamIndex;
+ Optional<unsigned> m_outOfLineStreamIndex;
};
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
index 20c053a..fcda6a6 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
@@ -3832,8 +3832,8 @@
GPRTemporary structureID(this);
GPRTemporary result(this);
- std::optional<SpeculateCellOperand> keyAsCell;
- std::optional<JSValueOperand> keyAsValue;
+ Optional<SpeculateCellOperand> keyAsCell;
+ Optional<JSValueOperand> keyAsValue;
JSValueRegs keyRegs;
if (node->child2().useKind() == UntypedUse) {
keyAsValue.emplace(this, node->child2());
diff --git a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
index 8c3a1ee..553f86f 100644
--- a/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
+++ b/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
@@ -1702,7 +1702,7 @@
bool shouldCheckMasqueradesAsUndefined = !masqueradesAsUndefinedWatchpointIsStillValid();
JSGlobalObject* globalObject = m_jit.graph().globalObjectFor(node->origin.semantic);
- std::optional<GPRTemporary> scratch;
+ Optional<GPRTemporary> scratch;
GPRReg scratchGPR = InvalidGPRReg;
if (shouldCheckMasqueradesAsUndefined) {
scratch.emplace(this);
@@ -1856,7 +1856,7 @@
GPRTemporary result(this);
FPRTemporary fprValue(this);
FPRTemporary fprTemp(this);
- std::optional<GPRTemporary> scratch;
+ Optional<GPRTemporary> scratch;
GPRReg scratchGPR = InvalidGPRReg;
bool shouldCheckMasqueradesAsUndefined = !masqueradesAsUndefinedWatchpointIsStillValid();
@@ -2872,7 +2872,7 @@
// We are in generic mode!
JSValueOperand base(this, baseEdge);
JSValueOperand index(this, indexEdge);
- std::optional<JSValueOperand> args[2];
+ Optional<JSValueOperand> args[2];
baseGPR = base.gpr();
indexGPR = index.gpr();
for (unsigned i = numExtraArgs; i--;) {
@@ -3587,7 +3587,7 @@
GPRReg cellGPR = cell.gpr();
GPRReg tempGPR = InvalidGPRReg;
- std::optional<GPRTemporary> temp;
+ Optional<GPRTemporary> temp;
if (node->structureSet().size() > 1) {
temp.emplace(this);
tempGPR = temp->gpr();
@@ -3960,7 +3960,7 @@
case StringUse: {
SpeculateCellOperand input(this, node->child1());
GPRTemporary result(this);
- std::optional<GPRTemporary> temp;
+ Optional<GPRTemporary> temp;
GPRReg tempGPR = InvalidGPRReg;
if (node->child1().useKind() == CellUse) {
@@ -4366,8 +4366,8 @@
GPRTemporary structureID(this);
GPRTemporary result(this);
- std::optional<SpeculateCellOperand> keyAsCell;
- std::optional<JSValueOperand> keyAsValue;
+ Optional<SpeculateCellOperand> keyAsCell;
+ Optional<JSValueOperand> keyAsValue;
GPRReg keyGPR;
if (node->child2().useKind() == UntypedUse) {
keyAsValue.emplace(this, node->child2());
@@ -4601,7 +4601,7 @@
GPRTemporary temp2(this);
GPRReg t2 = temp2.gpr();
- std::optional<SpeculateBooleanOperand> isLittleEndianOperand;
+ Optional<SpeculateBooleanOperand> isLittleEndianOperand;
if (node->child3())
isLittleEndianOperand.emplace(this, node->child3());
GPRReg isLittleEndianGPR = isLittleEndianOperand ? isLittleEndianOperand->gpr() : InvalidGPRReg;
@@ -4760,10 +4760,10 @@
SpeculateInt32Operand index(this, m_graph.varArgChild(node, 1));
GPRReg indexGPR = index.gpr();
- std::optional<SpeculateStrictInt52Operand> int52Value;
- std::optional<SpeculateDoubleOperand> doubleValue;
- std::optional<SpeculateInt32Operand> int32Value;
- std::optional<FPRTemporary> fprTemporary;
+ Optional<SpeculateStrictInt52Operand> int52Value;
+ Optional<SpeculateDoubleOperand> doubleValue;
+ Optional<SpeculateInt32Operand> int32Value;
+ Optional<FPRTemporary> fprTemporary;
GPRReg valueGPR = InvalidGPRReg;
FPRReg valueFPR = InvalidFPRReg;
FPRReg tempFPR = InvalidFPRReg;
@@ -4799,7 +4799,7 @@
GPRTemporary temp3(this);
GPRReg t3 = temp3.gpr();
- std::optional<SpeculateBooleanOperand> isLittleEndianOperand;
+ Optional<SpeculateBooleanOperand> isLittleEndianOperand;
if (m_graph.varArgChild(node, 3))
isLittleEndianOperand.emplace(this, m_graph.varArgChild(node, 3));
GPRReg isLittleEndianGPR = isLittleEndianOperand ? isLittleEndianOperand->gpr() : InvalidGPRReg;
diff --git a/Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp b/Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
index 95c6e73..16258a1 100644
--- a/Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
+++ b/Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
@@ -213,7 +213,7 @@
if (m_node->isBinaryUseKind(DoubleRepUse)
&& m_node->child2()->isNumberConstant()) {
- if (std::optional<double> reciprocal = safeReciprocalForDivByConst(m_node->child2()->asNumber())) {
+ if (Optional<double> reciprocal = safeReciprocalForDivByConst(m_node->child2()->asNumber())) {
Node* reciprocalNode = m_insertionSet.insertConstant(m_nodeIndex, m_node->origin, jsDoubleNumber(*reciprocal), DoubleConstant);
m_node->setOp(ArithMul);
m_node->child2() = Edge(reciprocalNode, DoubleRepUse);
diff --git a/Source/JavaScriptCore/ftl/FTLJITCode.cpp b/Source/JavaScriptCore/ftl/FTLJITCode.cpp
index a2278a8..db6e624 100644
--- a/Source/JavaScriptCore/ftl/FTLJITCode.cpp
+++ b/Source/JavaScriptCore/ftl/FTLJITCode.cpp
@@ -151,23 +151,23 @@
return { };
}
-std::optional<CodeOrigin> JITCode::findPC(CodeBlock* codeBlock, void* pc)
+Optional<CodeOrigin> JITCode::findPC(CodeBlock* codeBlock, void* pc)
{
for (OSRExit& exit : osrExit) {
if (ExecutableMemoryHandle* handle = exit.m_code.executableMemory()) {
if (handle->start().untaggedPtr() <= pc && pc < handle->end().untaggedPtr())
- return std::optional<CodeOrigin>(exit.m_codeOriginForExitProfile);
+ return Optional<CodeOrigin>(exit.m_codeOriginForExitProfile);
}
}
for (std::unique_ptr<LazySlowPath>& lazySlowPath : lazySlowPaths) {
if (ExecutableMemoryHandle* handle = lazySlowPath->stub().executableMemory()) {
if (handle->start().untaggedPtr() <= pc && pc < handle->end().untaggedPtr())
- return std::optional<CodeOrigin>(codeBlock->codeOrigin(lazySlowPath->callSiteIndex()));
+ return Optional<CodeOrigin>(codeBlock->codeOrigin(lazySlowPath->callSiteIndex()));
}
}
- return std::nullopt;
+ return WTF::nullopt;
}
} } // namespace JSC::FTL
diff --git a/Source/JavaScriptCore/ftl/FTLJITCode.h b/Source/JavaScriptCore/ftl/FTLJITCode.h
index 98280053..0180839 100644
--- a/Source/JavaScriptCore/ftl/FTLJITCode.h
+++ b/Source/JavaScriptCore/ftl/FTLJITCode.h
@@ -60,7 +60,7 @@
RegisterSet liveRegistersToPreserveAtExceptionHandlingCallSite(CodeBlock*, CallSiteIndex) override;
- std::optional<CodeOrigin> findPC(CodeBlock*, void* pc) override;
+ Optional<CodeOrigin> findPC(CodeBlock*, void* pc) override;
CodeRef<JSEntryPtrTag> b3Code() const { return m_b3Code; }
diff --git a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
index 02d2180..4130bd1 100644
--- a/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
+++ b/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
@@ -13473,8 +13473,8 @@
LBasicBlock lastNext = m_out.insertNewBlocksBefore(fastCase);
- std::optional<unsigned> staticVectorLength;
- std::optional<unsigned> staticVectorLengthFromPublicLength;
+ Optional<unsigned> staticVectorLength;
+ Optional<unsigned> staticVectorLengthFromPublicLength;
if (structure->hasIntPtr()) {
if (publicLength->hasInt32()) {
unsigned publicLengthConst = static_cast<unsigned>(publicLength->asInt32());
diff --git a/Source/JavaScriptCore/heap/GCRequest.h b/Source/JavaScriptCore/heap/GCRequest.h
index 2e81c02..a8a5cd6 100644
--- a/Source/JavaScriptCore/heap/GCRequest.h
+++ b/Source/JavaScriptCore/heap/GCRequest.h
@@ -41,7 +41,7 @@
{
}
- GCRequest(std::optional<CollectionScope> scope)
+ GCRequest(Optional<CollectionScope> scope)
: scope(scope)
{
}
@@ -50,7 +50,7 @@
void dump(PrintStream&) const;
- std::optional<CollectionScope> scope;
+ Optional<CollectionScope> scope;
RefPtr<SharedTask<void()>> didFinishEndPhase;
};
diff --git a/Source/JavaScriptCore/heap/Heap.cpp b/Source/JavaScriptCore/heap/Heap.cpp
index 6b0f3193..16c9923 100644
--- a/Source/JavaScriptCore/heap/Heap.cpp
+++ b/Source/JavaScriptCore/heap/Heap.cpp
@@ -190,7 +190,7 @@
class TimingScope {
public:
- TimingScope(std::optional<CollectionScope> scope, const char* name)
+ TimingScope(Optional<CollectionScope> scope, const char* name)
: m_scope(scope)
, m_name(name)
{
@@ -203,7 +203,7 @@
{
}
- void setScope(std::optional<CollectionScope> scope)
+ void setScope(Optional<CollectionScope> scope)
{
m_scope = scope;
}
@@ -224,7 +224,7 @@
}
}
private:
- std::optional<CollectionScope> m_scope;
+ Optional<CollectionScope> m_scope;
MonotonicTime m_before;
const char* m_name;
};
@@ -2313,7 +2313,7 @@
RELEASE_ASSERT(m_collectionScope);
m_lastCollectionScope = m_collectionScope;
- m_collectionScope = std::nullopt;
+ m_collectionScope = WTF::nullopt;
for (auto* observer : m_observers)
observer->didGarbageCollect(scope);
@@ -2822,7 +2822,7 @@
{
LockHolder locker(*m_threadLock);
if (m_requests.isEmpty()) {
- m_requests.append(std::nullopt);
+ m_requests.append(WTF::nullopt);
m_lastGrantedTicket++;
m_threadCondition->notifyOne(locker);
}
diff --git a/Source/JavaScriptCore/heap/Heap.h b/Source/JavaScriptCore/heap/Heap.h
index c8aed4a..db23004 100644
--- a/Source/JavaScriptCore/heap/Heap.h
+++ b/Source/JavaScriptCore/heap/Heap.h
@@ -153,7 +153,7 @@
void removeObserver(HeapObserver* observer) { m_observers.removeFirst(observer); }
MutatorState mutatorState() const { return m_mutatorState; }
- std::optional<CollectionScope> collectionScope() const { return m_collectionScope; }
+ Optional<CollectionScope> collectionScope() const { return m_collectionScope; }
bool hasHeapAccess() const;
bool worldIsStopped() const;
bool worldIsRunning() const { return !worldIsStopped(); }
@@ -177,8 +177,8 @@
bool shouldCollectHeuristic();
// Queue up a collection. Returns immediately. This will not queue a collection if a collection
- // of equal or greater strength exists. Full collections are stronger than std::nullopt collections
- // and std::nullopt collections are stronger than Eden collections. std::nullopt means that the GC can
+ // of equal or greater strength exists. Full collections are stronger than WTF::nullopt collections
+ // and WTF::nullopt collections are stronger than Eden collections. WTF::nullopt means that the GC can
// choose Eden or Full. This implies that if you request a GC while that GC is ongoing, nothing
// will happen.
JS_EXPORT_PRIVATE void collectAsync(GCRequest = GCRequest());
@@ -576,8 +576,8 @@
size_t m_totalBytesVisitedThisCycle;
double m_incrementBalance { 0 };
- std::optional<CollectionScope> m_collectionScope;
- std::optional<CollectionScope> m_lastCollectionScope;
+ Optional<CollectionScope> m_collectionScope;
+ Optional<CollectionScope> m_lastCollectionScope;
MutatorState m_mutatorState { MutatorState::Running };
StructureIDTable m_structureIDTable;
MarkedSpace m_objectSpace;
diff --git a/Source/JavaScriptCore/heap/HeapSnapshot.cpp b/Source/JavaScriptCore/heap/HeapSnapshot.cpp
index 34db12c..3df58e2 100644
--- a/Source/JavaScriptCore/heap/HeapSnapshot.cpp
+++ b/Source/JavaScriptCore/heap/HeapSnapshot.cpp
@@ -130,7 +130,7 @@
#endif
}
-std::optional<HeapSnapshotNode> HeapSnapshot::nodeForCell(JSCell* cell)
+Optional<HeapSnapshotNode> HeapSnapshot::nodeForCell(JSCell* cell)
{
ASSERT(m_finalized);
@@ -142,7 +142,7 @@
unsigned middle = start + ((end - start) / 2);
HeapSnapshotNode& node = m_nodes[middle];
if (cell == node.cell)
- return std::optional<HeapSnapshotNode>(node);
+ return Optional<HeapSnapshotNode>(node);
if (cell < node.cell)
end = middle;
else
@@ -153,32 +153,32 @@
if (m_previous)
return m_previous->nodeForCell(cell);
- return std::nullopt;
+ return WTF::nullopt;
}
-std::optional<HeapSnapshotNode> HeapSnapshot::nodeForObjectIdentifier(unsigned objectIdentifier)
+Optional<HeapSnapshotNode> HeapSnapshot::nodeForObjectIdentifier(unsigned objectIdentifier)
{
if (isEmpty()) {
if (m_previous)
return m_previous->nodeForObjectIdentifier(objectIdentifier);
- return std::nullopt;
+ return WTF::nullopt;
}
if (objectIdentifier > m_lastObjectIdentifier)
- return std::nullopt;
+ return WTF::nullopt;
if (objectIdentifier < m_firstObjectIdentifier) {
if (m_previous)
return m_previous->nodeForObjectIdentifier(objectIdentifier);
- return std::nullopt;
+ return WTF::nullopt;
}
for (auto& node : m_nodes) {
if (node.identifier == objectIdentifier)
- return std::optional<HeapSnapshotNode>(node);
+ return Optional<HeapSnapshotNode>(node);
}
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/heap/HeapSnapshot.h b/Source/JavaScriptCore/heap/HeapSnapshot.h
index fdd3de3..60d8284 100644
--- a/Source/JavaScriptCore/heap/HeapSnapshot.h
+++ b/Source/JavaScriptCore/heap/HeapSnapshot.h
@@ -45,8 +45,8 @@
void finalize();
bool isEmpty() const { return m_nodes.isEmpty(); }
- std::optional<HeapSnapshotNode> nodeForCell(JSCell*);
- std::optional<HeapSnapshotNode> nodeForObjectIdentifier(unsigned objectIdentifier);
+ Optional<HeapSnapshotNode> nodeForCell(JSCell*);
+ Optional<HeapSnapshotNode> nodeForObjectIdentifier(unsigned objectIdentifier);
private:
friend class HeapSnapshotBuilder;
diff --git a/Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp b/Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp
index dca0a59..a7ff046 100644
--- a/Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp
+++ b/Source/JavaScriptCore/heap/MarkingConstraintSolver.cpp
@@ -54,7 +54,7 @@
return false;
}
-void MarkingConstraintSolver::execute(SchedulerPreference preference, ScopedLambda<std::optional<unsigned>()> pickNext)
+void MarkingConstraintSolver::execute(SchedulerPreference preference, ScopedLambda<Optional<unsigned>()> pickNext)
{
m_pickNextIsStillActive = true;
RELEASE_ASSERT(!m_numThreadsThatMayProduceWork);
@@ -89,10 +89,10 @@
auto end = unexecuted.end();
if (iter == end)
return;
- auto pickNext = scopedLambda<std::optional<unsigned>()>(
- [&] () -> std::optional<unsigned> {
+ auto pickNext = scopedLambda<Optional<unsigned>()>(
+ [&] () -> Optional<unsigned> {
if (iter == end)
- return std::nullopt;
+ return WTF::nullopt;
return *iter++;
});
execute(NextConstraintFirst, pickNext);
@@ -126,13 +126,13 @@
return;
}
- auto pickNext = scopedLambda<std::optional<unsigned>()>(
- [&] () -> std::optional<unsigned> {
+ auto pickNext = scopedLambda<Optional<unsigned>()>(
+ [&] () -> Optional<unsigned> {
if (didVisitSomething())
- return std::nullopt;
+ return WTF::nullopt;
if (index >= order.size())
- return std::nullopt;
+ return WTF::nullopt;
MarkingConstraint& constraint = *order[index++];
return constraint.index();
@@ -157,7 +157,7 @@
m_toExecuteInParallel.append(TaskWithConstraint(WTFMove(task), &constraint));
}
-void MarkingConstraintSolver::runExecutionThread(SlotVisitor& visitor, SchedulerPreference preference, ScopedLambda<std::optional<unsigned>()> pickNext)
+void MarkingConstraintSolver::runExecutionThread(SlotVisitor& visitor, SchedulerPreference preference, ScopedLambda<Optional<unsigned>()> pickNext)
{
for (;;) {
bool doParallelWorkMode;
@@ -183,7 +183,7 @@
return false;
for (;;) {
- std::optional<unsigned> pickResult = pickNext();
+ Optional<unsigned> pickResult = pickNext();
if (!pickResult) {
m_pickNextIsStillActive = false;
return false;
diff --git a/Source/JavaScriptCore/heap/MarkingConstraintSolver.h b/Source/JavaScriptCore/heap/MarkingConstraintSolver.h
index 08b38db..18907ad7 100644
--- a/Source/JavaScriptCore/heap/MarkingConstraintSolver.h
+++ b/Source/JavaScriptCore/heap/MarkingConstraintSolver.h
@@ -56,7 +56,7 @@
NextConstraintFirst
};
- void execute(SchedulerPreference, ScopedLambda<std::optional<unsigned>()> pickNext);
+ void execute(SchedulerPreference, ScopedLambda<Optional<unsigned>()> pickNext);
void drain(BitVector& unexecuted);
@@ -68,7 +68,7 @@
void addParallelTask(RefPtr<SharedTask<void(SlotVisitor&)>>, MarkingConstraint&);
private:
- void runExecutionThread(SlotVisitor&, SchedulerPreference, ScopedLambda<std::optional<unsigned>()> pickNext);
+ void runExecutionThread(SlotVisitor&, SchedulerPreference, ScopedLambda<Optional<unsigned>()> pickNext);
struct TaskWithConstraint {
TaskWithConstraint() { }
diff --git a/Source/JavaScriptCore/inspector/InjectedScript.cpp b/Source/JavaScriptCore/inspector/InjectedScript.cpp
index c03ffeb..0a5a6d7 100644
--- a/Source/JavaScriptCore/inspector/InjectedScript.cpp
+++ b/Source/JavaScriptCore/inspector/InjectedScript.cpp
@@ -54,7 +54,7 @@
{
}
-void InjectedScript::evaluate(ErrorString& errorString, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex)
+void InjectedScript::evaluate(ErrorString& errorString, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex)
{
Deprecated::ScriptFunctionCall function(injectedScriptObject(), "evaluate"_s, inspectorEnvironment()->functionCallHandler());
function.appendArgument(expression);
@@ -76,7 +76,7 @@
makeAsyncCall(function, WTFMove(callback));
}
-void InjectedScript::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const String& arguments, bool returnByValue, bool generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown)
+void InjectedScript::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const String& arguments, bool returnByValue, bool generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown)
{
Deprecated::ScriptFunctionCall function(injectedScriptObject(), "callFunctionOn"_s, inspectorEnvironment()->functionCallHandler());
function.appendArgument(objectId);
@@ -85,12 +85,12 @@
function.appendArgument(returnByValue);
function.appendArgument(generatePreview);
- std::optional<int> savedResultIndex;
+ Optional<int> savedResultIndex;
makeEvalCall(errorString, function, result, wasThrown, savedResultIndex);
ASSERT(!savedResultIndex);
}
-void InjectedScript::evaluateOnCallFrame(ErrorString& errorString, JSC::JSValue callFrames, const String& callFrameId, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex)
+void InjectedScript::evaluateOnCallFrame(ErrorString& errorString, JSC::JSValue callFrames, const String& callFrameId, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex)
{
Deprecated::ScriptFunctionCall function(injectedScriptObject(), "evaluateOnCallFrame"_s, inspectorEnvironment()->functionCallHandler());
function.appendArgument(callFrames);
@@ -213,7 +213,7 @@
entries = BindingTraits<JSON::ArrayOf<Protocol::Runtime::CollectionEntry>>::runtimeCast(WTFMove(result));
}
-void InjectedScript::saveResult(ErrorString& errorString, const String& callArgumentJSON, std::optional<int>& savedResultIndex)
+void InjectedScript::saveResult(ErrorString& errorString, const String& callArgumentJSON, Optional<int>& savedResultIndex)
{
Deprecated::ScriptFunctionCall function(injectedScriptObject(), "saveResult"_s, inspectorEnvironment()->functionCallHandler());
function.appendArgument(callArgumentJSON);
diff --git a/Source/JavaScriptCore/inspector/InjectedScript.h b/Source/JavaScriptCore/inspector/InjectedScript.h
index 4de9d74..f2ba842 100644
--- a/Source/JavaScriptCore/inspector/InjectedScript.h
+++ b/Source/JavaScriptCore/inspector/InjectedScript.h
@@ -51,10 +51,10 @@
InjectedScript(Deprecated::ScriptObject, InspectorEnvironment*);
virtual ~InjectedScript();
- void evaluate(ErrorString&, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex);
+ void evaluate(ErrorString&, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex);
void awaitPromise(const String& promiseObjectId, bool returnByValue, bool generatePreview, bool saveResult, AsyncCallCallback&&);
- void evaluateOnCallFrame(ErrorString&, JSC::JSValue callFrames, const String& callFrameId, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex);
- void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const String& arguments, bool returnByValue, bool generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown);
+ void evaluateOnCallFrame(ErrorString&, JSC::JSValue callFrames, const String& callFrameId, const String& expression, const String& objectGroup, bool includeCommandLineAPI, bool returnByValue, bool generatePreview, bool saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex);
+ void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const String& arguments, bool returnByValue, bool generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown);
void getFunctionDetails(ErrorString&, const String& functionId, RefPtr<Protocol::Debugger::FunctionDetails>& result);
void functionDetails(ErrorString&, JSC::JSValue, RefPtr<Protocol::Debugger::FunctionDetails>& result);
void getPreview(ErrorString&, const String& objectId, RefPtr<Protocol::Runtime::ObjectPreview>& result);
@@ -62,7 +62,7 @@
void getDisplayableProperties(ErrorString&, const String& objectId, bool generatePreview, RefPtr<JSON::ArrayOf<Protocol::Runtime::PropertyDescriptor>>& result);
void getInternalProperties(ErrorString&, const String& objectId, bool generatePreview, RefPtr<JSON::ArrayOf<Protocol::Runtime::InternalPropertyDescriptor>>& result);
void getCollectionEntries(ErrorString&, const String& objectId, const String& objectGroup, int startIndex, int numberToFetch, RefPtr<JSON::ArrayOf<Protocol::Runtime::CollectionEntry>>& entries);
- void saveResult(ErrorString&, const String& callArgumentJSON, std::optional<int>& savedResultIndex);
+ void saveResult(ErrorString&, const String& callArgumentJSON, Optional<int>& savedResultIndex);
Ref<JSON::ArrayOf<Protocol::Debugger::CallFrame>> wrapCallFrames(JSC::JSValue) const;
RefPtr<Protocol::Runtime::RemoteObject> wrapObject(JSC::JSValue, const String& groupName, bool generatePreview = false) const;
diff --git a/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp b/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp
index e30c601..91d0c7f 100644
--- a/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp
+++ b/Source/JavaScriptCore/inspector/InjectedScriptBase.cpp
@@ -96,7 +96,7 @@
return resultJSONValue.releaseNonNull();
}
-void InjectedScriptBase::makeEvalCall(ErrorString& errorString, Deprecated::ScriptFunctionCall& function, RefPtr<Protocol::Runtime::RemoteObject>& out_resultObject, std::optional<bool>& out_wasThrown, std::optional<int>& out_savedResultIndex)
+void InjectedScriptBase::makeEvalCall(ErrorString& errorString, Deprecated::ScriptFunctionCall& function, RefPtr<Protocol::Runtime::RemoteObject>& out_resultObject, Optional<bool>& out_wasThrown, Optional<int>& out_savedResultIndex)
{
checkCallResult(errorString, makeCall(function), out_resultObject, out_wasThrown, out_savedResultIndex);
}
@@ -141,7 +141,7 @@
}
}
-void InjectedScriptBase::checkCallResult(ErrorString& errorString, RefPtr<JSON::Value> result, RefPtr<Protocol::Runtime::RemoteObject>& out_resultObject, std::optional<bool>& out_wasThrown, std::optional<int>& out_savedResultIndex)
+void InjectedScriptBase::checkCallResult(ErrorString& errorString, RefPtr<JSON::Value> result, RefPtr<Protocol::Runtime::RemoteObject>& out_resultObject, Optional<bool>& out_wasThrown, Optional<int>& out_savedResultIndex)
{
if (!result) {
errorString = "Internal error: result value is empty"_s;
@@ -186,8 +186,8 @@
{
ErrorString errorString;
RefPtr<Protocol::Runtime::RemoteObject> resultObject;
- std::optional<bool> wasThrown;
- std::optional<int> savedResultIndex;
+ Optional<bool> wasThrown;
+ Optional<int> savedResultIndex;
checkCallResult(errorString, result, resultObject, wasThrown, savedResultIndex);
diff --git a/Source/JavaScriptCore/inspector/InjectedScriptBase.h b/Source/JavaScriptCore/inspector/InjectedScriptBase.h
index 447a428..226e81b 100644
--- a/Source/JavaScriptCore/inspector/InjectedScriptBase.h
+++ b/Source/JavaScriptCore/inspector/InjectedScriptBase.h
@@ -45,7 +45,7 @@
namespace Inspector {
typedef String ErrorString;
-typedef WTF::Function<void(ErrorString&, RefPtr<Protocol::Runtime::RemoteObject>&&, std::optional<bool>&, std::optional<int>&)> AsyncCallCallback;
+typedef WTF::Function<void(ErrorString&, RefPtr<Protocol::Runtime::RemoteObject>&&, Optional<bool>&, Optional<int>&)> AsyncCallCallback;
class JS_EXPORT_PRIVATE InjectedScriptBase {
public:
@@ -66,11 +66,11 @@
const Deprecated::ScriptObject& injectedScriptObject() const;
JSC::JSValue callFunctionWithEvalEnabled(Deprecated::ScriptFunctionCall&, bool& hadException) const;
Ref<JSON::Value> makeCall(Deprecated::ScriptFunctionCall&);
- void makeEvalCall(ErrorString&, Deprecated::ScriptFunctionCall&, RefPtr<Protocol::Runtime::RemoteObject>& resultObject, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex);
+ void makeEvalCall(ErrorString&, Deprecated::ScriptFunctionCall&, RefPtr<Protocol::Runtime::RemoteObject>& resultObject, Optional<bool>& wasThrown, Optional<int>& savedResultIndex);
void makeAsyncCall(Deprecated::ScriptFunctionCall&, AsyncCallCallback&&);
private:
- void checkCallResult(ErrorString&, RefPtr<JSON::Value> result, RefPtr<Protocol::Runtime::RemoteObject>& resultObject, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex);
+ void checkCallResult(ErrorString&, RefPtr<JSON::Value> result, RefPtr<Protocol::Runtime::RemoteObject>& resultObject, Optional<bool>& wasThrown, Optional<int>& savedResultIndex);
void checkAsyncCallResult(RefPtr<JSON::Value> result, const AsyncCallCallback&);
String m_name;
diff --git a/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp b/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp
index aa4eb4e..5cbc0da 100644
--- a/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp
+++ b/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.cpp
@@ -114,7 +114,7 @@
{
// In case this is a re-entrant call from a nested run loop, we don't want to lose
// the outer request's id just because the inner request is bogus.
- SetForScope<std::optional<long>> scopedRequestId(m_currentRequestId, std::nullopt);
+ SetForScope<Optional<long>> scopedRequestId(m_currentRequestId, WTF::nullopt);
RefPtr<JSON::Value> parsedMessage;
if (!JSON::Value::parseJSON(message, parsedMessage)) {
@@ -145,7 +145,7 @@
{
// We could be called re-entrantly from a nested run loop, so restore the previous id.
- SetForScope<std::optional<long>> scopedRequestId(m_currentRequestId, requestId);
+ SetForScope<Optional<long>> scopedRequestId(m_currentRequestId, requestId);
RefPtr<JSON::Value> methodValue;
if (!messageObject->getValue("method"_s, methodValue)) {
@@ -251,7 +251,7 @@
m_frontendRouter->sendResponse(message->toJSONString());
m_protocolErrors.clear();
- m_currentRequestId = std::nullopt;
+ m_currentRequestId = WTF::nullopt;
}
void BackendDispatcher::reportProtocolError(CommonErrorCode errorCode, const String& errorMessage)
@@ -259,7 +259,7 @@
reportProtocolError(m_currentRequestId, errorCode, errorMessage);
}
-void BackendDispatcher::reportProtocolError(std::optional<long> relatedRequestId, CommonErrorCode errorCode, const String& errorMessage)
+void BackendDispatcher::reportProtocolError(Optional<long> relatedRequestId, CommonErrorCode errorCode, const String& errorMessage)
{
ASSERT_ARG(errorCode, errorCode >= 0);
@@ -270,15 +270,13 @@
m_protocolErrors.append(std::tuple<CommonErrorCode, String>(errorCode, errorMessage));
}
-#if PLATFORM(MAC)
void BackendDispatcher::reportProtocolError(WTF::DeprecatedOptional<long> relatedRequestId, CommonErrorCode errorCode, const String& errorMessage)
{
if (relatedRequestId)
reportProtocolError(relatedRequestId.value(), errorCode, errorMessage);
else
- reportProtocolError(std::nullopt, errorCode, errorMessage);
+ reportProtocolError(WTF::nullopt, errorCode, errorMessage);
}
-#endif
template<typename T>
T BackendDispatcher::getPropertyValue(JSON::Object* object, const String& name, bool* out_optionalValueFound, T defaultValue, std::function<bool(JSON::Value&, T&)> asMethod, const char* typeName)
diff --git a/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h b/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h
index a34d1ce..3452e939 100644
--- a/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h
+++ b/Source/JavaScriptCore/inspector/InspectorBackendDispatcher.h
@@ -93,7 +93,7 @@
void sendPendingErrors();
void reportProtocolError(CommonErrorCode, const String& errorMessage);
- void reportProtocolError(std::optional<long> relatedRequestId, CommonErrorCode, const String& errorMessage);
+ void reportProtocolError(Optional<long> relatedRequestId, CommonErrorCode, const String& errorMessage);
template<typename T>
WTF_INTERNAL
@@ -110,10 +110,8 @@
private:
BackendDispatcher(Ref<FrontendRouter>&&);
-#if PLATFORM(MAC)
// This is necessary for some versions of Safari. Remove it when those versions of Safari are no longer supported.
void reportProtocolError(WTF::DeprecatedOptional<long> relatedRequestId, CommonErrorCode, const String& errorMessage);
-#endif
Ref<FrontendRouter> m_frontendRouter;
HashMap<String, SupplementalBackendDispatcher*> m_dispatchers;
@@ -125,7 +123,7 @@
// For synchronously handled requests, avoid plumbing requestId through every
// call that could potentially fail with a protocol error.
- std::optional<long> m_currentRequestId { std::nullopt };
+ Optional<long> m_currentRequestId { WTF::nullopt };
};
} // namespace Inspector
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
index f991007..ece5647 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
+++ b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.cpp
@@ -309,7 +309,7 @@
auto& asyncStackTrace = it->value;
asyncStackTrace->didDispatchAsyncCall();
- m_currentAsyncCallIdentifier = std::nullopt;
+ m_currentAsyncCallIdentifier = WTF::nullopt;
if (!asyncStackTrace->isPending())
m_pendingAsyncCalls.remove(identifier);
@@ -827,7 +827,7 @@
m_pauseOnAssertionFailures = enabled;
}
-void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString& errorString, const String& callFrameId, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex)
+void InspectorDebuggerAgent::evaluateOnCallFrame(ErrorString& errorString, const String& callFrameId, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex)
{
if (!m_currentCallStack) {
errorString = "Not paused"_s;
@@ -1155,7 +1155,7 @@
void InspectorDebuggerAgent::clearAsyncStackTraceData()
{
m_pendingAsyncCalls.clear();
- m_currentAsyncCallIdentifier = std::nullopt;
+ m_currentAsyncCallIdentifier = WTF::nullopt;
didClearAsyncStackTraceData();
}
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h
index 2a58a8d..ca75073 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h
+++ b/Source/JavaScriptCore/inspector/agents/InspectorDebuggerAgent.h
@@ -79,7 +79,7 @@
void stepOut(ErrorString&) final;
void setPauseOnExceptions(ErrorString&, const String& pauseState) final;
void setPauseOnAssertions(ErrorString&, bool enabled) final;
- void evaluateOnCallFrame(ErrorString&, const String& callFrameId, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex) final;
+ void evaluateOnCallFrame(ErrorString&, const String& callFrameId, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex) final;
void setOverlayMessage(ErrorString&, const String*) override;
bool isPaused() const;
@@ -192,7 +192,7 @@
ShouldDispatchResumed m_conditionToDispatchResumed { ShouldDispatchResumed::No };
bool m_enablePauseWhenIdle { false };
HashMap<AsyncCallIdentifier, RefPtr<AsyncStackTrace>> m_pendingAsyncCalls;
- std::optional<AsyncCallIdentifier> m_currentAsyncCallIdentifier { std::nullopt };
+ Optional<AsyncCallIdentifier> m_currentAsyncCallIdentifier { WTF::nullopt };
bool m_enabled { false };
bool m_javaScriptPauseScheduled { false };
bool m_hasExceptionValue { false };
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp
index dd23fa0..b00bb9b 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp
+++ b/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.cpp
@@ -143,30 +143,30 @@
m_frontendDispatcher->trackingComplete(timestamp, snapshotData);
}
-std::optional<HeapSnapshotNode> InspectorHeapAgent::nodeForHeapObjectIdentifier(ErrorString& errorString, unsigned heapObjectIdentifier)
+Optional<HeapSnapshotNode> InspectorHeapAgent::nodeForHeapObjectIdentifier(ErrorString& errorString, unsigned heapObjectIdentifier)
{
HeapProfiler* heapProfiler = m_environment.vm().heapProfiler();
if (!heapProfiler) {
errorString = "No heap snapshot"_s;
- return std::nullopt;
+ return WTF::nullopt;
}
HeapSnapshot* snapshot = heapProfiler->mostRecentSnapshot();
if (!snapshot) {
errorString = "No heap snapshot"_s;
- return std::nullopt;
+ return WTF::nullopt;
}
- const std::optional<HeapSnapshotNode> optionalNode = snapshot->nodeForObjectIdentifier(heapObjectIdentifier);
+ const Optional<HeapSnapshotNode> optionalNode = snapshot->nodeForObjectIdentifier(heapObjectIdentifier);
if (!optionalNode) {
errorString = "No object for identifier, it may have been collected"_s;
- return std::nullopt;
+ return WTF::nullopt;
}
return optionalNode;
}
-void InspectorHeapAgent::getPreview(ErrorString& errorString, int heapObjectId, std::optional<String>& resultString, RefPtr<Protocol::Debugger::FunctionDetails>& functionDetails, RefPtr<Protocol::Runtime::ObjectPreview>& objectPreview)
+void InspectorHeapAgent::getPreview(ErrorString& errorString, int heapObjectId, Optional<String>& resultString, RefPtr<Protocol::Debugger::FunctionDetails>& functionDetails, RefPtr<Protocol::Runtime::ObjectPreview>& objectPreview)
{
// Prevent the cell from getting collected as we look it up.
VM& vm = m_environment.vm();
@@ -174,7 +174,7 @@
DeferGC deferGC(vm.heap);
unsigned heapObjectIdentifier = static_cast<unsigned>(heapObjectId);
- const std::optional<HeapSnapshotNode> optionalNode = nodeForHeapObjectIdentifier(errorString, heapObjectIdentifier);
+ const Optional<HeapSnapshotNode> optionalNode = nodeForHeapObjectIdentifier(errorString, heapObjectIdentifier);
if (!optionalNode)
return;
@@ -223,7 +223,7 @@
DeferGC deferGC(vm.heap);
unsigned heapObjectIdentifier = static_cast<unsigned>(heapObjectId);
- const std::optional<HeapSnapshotNode> optionalNode = nodeForHeapObjectIdentifier(errorString, heapObjectIdentifier);
+ const Optional<HeapSnapshotNode> optionalNode = nodeForHeapObjectIdentifier(errorString, heapObjectIdentifier);
if (!optionalNode)
return;
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.h
index de6dda9..743c398 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.h
+++ b/Source/JavaScriptCore/inspector/agents/InspectorHeapAgent.h
@@ -59,7 +59,7 @@
void snapshot(ErrorString&, double* timestamp, String* snapshotData) final;
void startTracking(ErrorString&) final;
void stopTracking(ErrorString&) final;
- void getPreview(ErrorString&, int heapObjectId, std::optional<String>& resultString, RefPtr<Protocol::Debugger::FunctionDetails>&, RefPtr<Protocol::Runtime::ObjectPreview>&) final;
+ void getPreview(ErrorString&, int heapObjectId, Optional<String>& resultString, RefPtr<Protocol::Debugger::FunctionDetails>&, RefPtr<Protocol::Runtime::ObjectPreview>&) final;
void getRemoteObject(ErrorString&, int heapObjectId, const String* optionalObjectGroup, RefPtr<Protocol::Runtime::RemoteObject>& result) final;
// HeapObserver
@@ -72,7 +72,7 @@
virtual void dispatchGarbageCollectedEvent(Protocol::Heap::GarbageCollection::Type, Seconds startTime, Seconds endTime);
private:
- std::optional<JSC::HeapSnapshotNode> nodeForHeapObjectIdentifier(ErrorString&, unsigned heapObjectIdentifier);
+ Optional<JSC::HeapSnapshotNode> nodeForHeapObjectIdentifier(ErrorString&, unsigned heapObjectIdentifier);
InjectedScriptManager& m_injectedScriptManager;
std::unique_ptr<HeapFrontendDispatcher> m_frontendDispatcher;
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp
index 627975b..d68bb41 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp
+++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.cpp
@@ -83,7 +83,7 @@
.release();
}
-void InspectorRuntimeAgent::parse(ErrorString&, const String& expression, Protocol::Runtime::SyntaxErrorType* result, std::optional<String>& message, RefPtr<Protocol::Runtime::ErrorRange>& range)
+void InspectorRuntimeAgent::parse(ErrorString&, const String& expression, Protocol::Runtime::SyntaxErrorType* result, Optional<String>& message, RefPtr<Protocol::Runtime::ErrorRange>& range)
{
JSLockHolder lock(m_vm);
@@ -111,7 +111,7 @@
}
}
-void InspectorRuntimeAgent::evaluate(ErrorString& errorString, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex)
+void InspectorRuntimeAgent::evaluate(ErrorString& errorString, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex)
{
InjectedScript injectedScript = injectedScriptForEval(errorString, executionContextId);
if (injectedScript.hasNoValue())
@@ -139,7 +139,7 @@
return;
}
- injectedScript.awaitPromise(promiseObjectId, asBool(returnByValue), asBool(generatePreview), asBool(saveResult), [callback = WTFMove(callback)] (ErrorString& errorString, RefPtr<Protocol::Runtime::RemoteObject>&& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex) {
+ injectedScript.awaitPromise(promiseObjectId, asBool(returnByValue), asBool(generatePreview), asBool(saveResult), [callback = WTFMove(callback)] (ErrorString& errorString, RefPtr<Protocol::Runtime::RemoteObject>&& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex) {
if (!errorString.isEmpty())
callback->sendFailure(errorString);
else
@@ -147,7 +147,7 @@
});
}
-void InspectorRuntimeAgent::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const JSON::Array* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown)
+void InspectorRuntimeAgent::callFunctionOn(ErrorString& errorString, const String& objectId, const String& expression, const JSON::Array* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown)
{
InjectedScript injectedScript = m_injectedScriptManager.injectedScriptForObjectId(objectId);
if (injectedScript.hasNoValue()) {
@@ -240,7 +240,7 @@
injectedScript.getCollectionEntries(errorString, objectId, objectGroup ? *objectGroup : String(), start, fetch, entries);
}
-void InspectorRuntimeAgent::saveResult(ErrorString& errorString, const JSON::Object& callArgument, const int* executionContextId, std::optional<int>& savedResultIndex)
+void InspectorRuntimeAgent::saveResult(ErrorString& errorString, const JSON::Object& callArgument, const int* executionContextId, Optional<int>& savedResultIndex)
{
InjectedScript injectedScript;
diff --git a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
index ab6d7fc..b6e2ad0 100644
--- a/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
+++ b/Source/JavaScriptCore/inspector/agents/InspectorRuntimeAgent.h
@@ -57,16 +57,16 @@
void enable(ErrorString&) override { m_enabled = true; }
void disable(ErrorString&) override { m_enabled = false; }
- void parse(ErrorString&, const String& expression, Protocol::Runtime::SyntaxErrorType* result, std::optional<String>& message, RefPtr<Protocol::Runtime::ErrorRange>&) final;
- void evaluate(ErrorString&, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown, std::optional<int>& savedResultIndex) final;
+ void parse(ErrorString&, const String& expression, Protocol::Runtime::SyntaxErrorType* result, Optional<String>& message, RefPtr<Protocol::Runtime::ErrorRange>&) final;
+ void evaluate(ErrorString&, const String& expression, const String* objectGroup, const bool* includeCommandLineAPI, const bool* doNotPauseOnExceptionsAndMuteConsole, const int* executionContextId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown, Optional<int>& savedResultIndex) final;
void awaitPromise(const String& promiseObjectId, const bool* returnByValue, const bool* generatePreview, const bool* saveResult, Ref<AwaitPromiseCallback>&&) final;
- void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const JSON::Array* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, std::optional<bool>& wasThrown) final;
+ void callFunctionOn(ErrorString&, const String& objectId, const String& expression, const JSON::Array* optionalArguments, const bool* doNotPauseOnExceptionsAndMuteConsole, const bool* returnByValue, const bool* generatePreview, RefPtr<Protocol::Runtime::RemoteObject>& result, Optional<bool>& wasThrown) final;
void releaseObject(ErrorString&, const ErrorString& objectId) final;
void getPreview(ErrorString&, const String& objectId, RefPtr<Protocol::Runtime::ObjectPreview>&) final;
void getProperties(ErrorString&, const String& objectId, const bool* ownProperties, const bool* generatePreview, RefPtr<JSON::ArrayOf<Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<JSON::ArrayOf<Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) final;
void getDisplayableProperties(ErrorString&, const String& objectId, const bool* generatePreview, RefPtr<JSON::ArrayOf<Protocol::Runtime::PropertyDescriptor>>& result, RefPtr<JSON::ArrayOf<Protocol::Runtime::InternalPropertyDescriptor>>& internalProperties) final;
void getCollectionEntries(ErrorString&, const String& objectId, const String* objectGroup, const int* startIndex, const int* numberToFetch, RefPtr<JSON::ArrayOf<Protocol::Runtime::CollectionEntry>>& entries) final;
- void saveResult(ErrorString&, const JSON::Object& callArgument, const int* executionContextId, std::optional<int>& savedResultIndex) final;
+ void saveResult(ErrorString&, const JSON::Object& callArgument, const int* executionContextId, Optional<int>& savedResultIndex) final;
void releaseObjectGroup(ErrorString&, const String& objectGroup) final;
void getRuntimeTypesForVariablesAtOffsets(ErrorString&, const JSON::Array& locations, RefPtr<JSON::ArrayOf<Protocol::Runtime::TypeDescription>>&) override;
void enableTypeProfiler(ErrorString&) override;
diff --git a/Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.h b/Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.h
index 854c982..8b0e14b 100644
--- a/Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.h
+++ b/Source/JavaScriptCore/inspector/remote/RemoteConnectionToTarget.h
@@ -65,7 +65,7 @@
void close();
void targetClosed();
- std::optional<unsigned> targetIdentifier() const;
+ Optional<unsigned> targetIdentifier() const;
#if PLATFORM(COCOA)
NSString *connectionIdentifier() const;
NSString *destination() const;
diff --git a/Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp b/Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp
index ce51b6e..3b10f29 100644
--- a/Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp
+++ b/Source/JavaScriptCore/inspector/remote/RemoteInspector.cpp
@@ -130,7 +130,7 @@
std::lock_guard<Lock> lock(m_mutex);
if (!m_client)
- m_clientCapabilities = std::nullopt;
+ m_clientCapabilities = WTF::nullopt;
else {
RemoteInspector::Client::Capabilities updatedCapabilities = {
m_client->remoteAutomationAllowed(),
diff --git a/Source/JavaScriptCore/inspector/remote/RemoteInspector.h b/Source/JavaScriptCore/inspector/remote/RemoteInspector.h
index 0eba5a6..389e843 100644
--- a/Source/JavaScriptCore/inspector/remote/RemoteInspector.h
+++ b/Source/JavaScriptCore/inspector/remote/RemoteInspector.h
@@ -79,8 +79,8 @@
Vector<std::pair<String, String>> certificates;
#endif
#if PLATFORM(COCOA)
- std::optional<bool> allowInsecureMediaCapture;
- std::optional<bool> suppressICECandidateFiltering;
+ Optional<bool> allowInsecureMediaCapture;
+ Optional<bool> suppressICECandidateFiltering;
#endif
};
@@ -103,7 +103,7 @@
RemoteInspector::Client* client() const { return m_client; }
void setClient(RemoteInspector::Client*);
void clientCapabilitiesDidChange();
- std::optional<RemoteInspector::Client::Capabilities> clientCapabilities() const { return m_clientCapabilities; }
+ Optional<RemoteInspector::Client::Capabilities> clientCapabilities() const { return m_clientCapabilities; }
void setupFailed(unsigned targetIdentifier);
void setupCompleted(unsigned targetIdentifier);
@@ -206,7 +206,7 @@
#endif
RemoteInspector::Client* m_client { nullptr };
- std::optional<RemoteInspector::Client::Capabilities> m_clientCapabilities;
+ Optional<RemoteInspector::Client::Capabilities> m_clientCapabilities;
#if PLATFORM(COCOA)
dispatch_queue_t m_xpcQueue;
diff --git a/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm b/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm
index 4a34269..87215c3 100644
--- a/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm
+++ b/Source/JavaScriptCore/inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm
@@ -120,9 +120,9 @@
teardownRunLoop();
}
-std::optional<unsigned> RemoteConnectionToTarget::targetIdentifier() const
+Optional<unsigned> RemoteConnectionToTarget::targetIdentifier() const
{
- return m_target ? std::optional<unsigned>(m_target->targetIdentifier()) : std::nullopt;
+ return m_target ? Optional<unsigned>(m_target->targetIdentifier()) : WTF::nullopt;
}
NSString *RemoteConnectionToTarget::connectionIdentifier() const
diff --git a/Source/JavaScriptCore/inspector/remote/glib/RemoteConnectionToTargetGlib.cpp b/Source/JavaScriptCore/inspector/remote/glib/RemoteConnectionToTargetGlib.cpp
index 13e3930..3b5c681 100644
--- a/Source/JavaScriptCore/inspector/remote/glib/RemoteConnectionToTargetGlib.cpp
+++ b/Source/JavaScriptCore/inspector/remote/glib/RemoteConnectionToTargetGlib.cpp
@@ -106,9 +106,9 @@
m_target = nullptr;
}
-std::optional<unsigned> RemoteConnectionToTarget::targetIdentifier() const
+Optional<unsigned> RemoteConnectionToTarget::targetIdentifier() const
{
- return m_target ? std::optional<unsigned>(m_target->targetIdentifier()) : std::nullopt;
+ return m_target ? Optional<unsigned>(m_target->targetIdentifier()) : WTF::nullopt;
}
void RemoteConnectionToTarget::sendMessageToFrontend(const String& message)
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py
index 4e98705..226c0ca 100644
--- a/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/cpp_generator.py
@@ -211,7 +211,7 @@
if isinstance(_type, PrimitiveType):
cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
if parameter.is_optional:
- return "std::optional<%s>&" % cpp_name
+ return "Optional<%s>&" % cpp_name
else:
return '%s*' % cpp_name
if isinstance(_type, EnumType):
@@ -237,7 +237,7 @@
if isinstance(_type, PrimitiveType):
cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
if parameter.is_optional:
- return "std::optional<%s>&" % cpp_name
+ return "Optional<%s>&" % cpp_name
elif _type.qualified_name() in ['integer', 'number']:
return CppGenerator.cpp_name_for_primitive_type(_type)
elif _type.qualified_name() in ['string']:
@@ -269,7 +269,7 @@
if _type.qualified_name() in ['any', 'object']:
return "RefPtr<%s>" % CppGenerator.cpp_name_for_primitive_type(_type)
elif parameter.is_optional and _type.qualified_name() not in ['boolean', 'string', 'integer']:
- return "std::optional<%s>" % cpp_name
+ return "Optional<%s>" % cpp_name
else:
return cpp_name
@@ -281,12 +281,12 @@
if isinstance(_type, AliasedType):
builder_type = CppGenerator.cpp_protocol_type_for_type(_type)
if parameter.is_optional:
- return "std::optional<%s>" % builder_type
+ return "Optional<%s>" % builder_type
return '%s' % builder_type
if isinstance(_type, PrimitiveType):
cpp_name = CppGenerator.cpp_name_for_primitive_type(_type)
if parameter.is_optional:
- return "std::optional<%s>" % cpp_name
+ return "Optional<%s>" % cpp_name
else:
return cpp_name
if isinstance(_type, EnumType):
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py
index 844aa7d..871f6a5 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_header.py
@@ -382,11 +382,11 @@
'namespace %s {' % self.helpers_namespace(),
'',
'template<typename ProtocolEnumType>',
- 'std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);',
+ 'Optional<ProtocolEnumType> parseEnumValueFromString(const String&);',
]))
def return_type_with_export_macro(cpp_protocol_type):
- enum_return_type = 'std::optional<%s>' % cpp_protocol_type
+ enum_return_type = 'Optional<%s>' % cpp_protocol_type
result_terms = [enum_return_type]
export_macro = self.model().framework.setting('export_macro', None)
if export_macro is not None:
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py
index 0800d05..863553c 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py
@@ -111,7 +111,7 @@
body_lines = []
body_lines.extend([
'template<>',
- 'std::optional<%s> parseEnumValueFromString<%s>(const String& protocolString)' % (cpp_protocol_type, cpp_protocol_type),
+ 'Optional<%s> parseEnumValueFromString<%s>(const String& protocolString)' % (cpp_protocol_type, cpp_protocol_type),
'{',
' static const size_t constantValues[] = {',
])
@@ -126,7 +126,7 @@
' if (protocolString == enum_constant_values[constantValues[i]])',
' return (%s)constantValues[i];' % cpp_protocol_type,
'',
- ' return std::nullopt;',
+ ' return WTF::nullopt;',
'}',
'',
])
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py
index 76907ba..cc0ebda 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_backend_dispatcher_implementation.py
@@ -176,7 +176,7 @@
objc_in_param_name = 'o_%s' % in_param_name
objc_type = self.objc_type_for_param(domain, command.command_name, parameter, False)
if isinstance(parameter.type, EnumType):
- objc_type = 'std::optional<%s>' % objc_type
+ objc_type = 'Optional<%s>' % objc_type
param_expression = in_param_expression(in_param_name, parameter)
import_expression = self.objc_protocol_import_expression_for_parameter(param_expression, domain, command.command_name, parameter)
if not parameter.is_optional:
@@ -206,7 +206,7 @@
objc_in_param_expression = 'o_%s' % in_param_name
if not parameter.is_optional:
# FIXME: we don't handle optional enum values in commands here because it isn't used anywhere yet.
- # We'd need to change the delegate's signature to take std::optional for optional enum values.
+ # We'd need to change the delegate's signature to take Optional for optional enum values.
if isinstance(parameter.type, EnumType):
objc_in_param_expression = '%s.value()' % objc_in_param_expression
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py
index ce12a3a..2571f4b 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_header.py
@@ -161,11 +161,11 @@
def _generate_enum_from_protocol_string(self, objc_enum_name, enum_values):
lines = []
lines.append('template<>')
- lines.append('inline std::optional<%s> fromProtocolString(const String& value)' % objc_enum_name)
+ lines.append('inline Optional<%s> fromProtocolString(const String& value)' % objc_enum_name)
lines.append('{')
for enum_value in enum_values:
lines.append(' if (value == "%s")' % enum_value)
lines.append(' return %s%s;' % (objc_enum_name, Generator.stylized_name_for_enum_value(enum_value)))
- lines.append(' return std::nullopt;')
+ lines.append(' return WTF::nullopt;')
lines.append('}')
return '\n'.join(lines)
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py
index 3d84bf0..a36d813 100644
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_type_conversions_implementation.py
@@ -131,7 +131,7 @@
lines.append('{')
if isinstance(resolved_type, EnumType):
lines.append(' THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);')
- lines.append(' std::optional<%(type)s> result = Inspector::fromProtocolString<%(type)s>(payload);' % {'type': self.objc_name_for_type(resolved_type)})
+ lines.append(' Optional<%(type)s> result = Inspector::fromProtocolString<%(type)s>(payload);' % {'type': self.objc_name_for_type(resolved_type)})
lines.append(' THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"%s");' % declaration.type.raw_name())
lines.append(' *outValue = @(result.value());')
elif isinstance(resolved_type, (ArrayType, PrimitiveType)):
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py
index 9cd98d7..c870881 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/generate_objc_protocol_types_implementation.py
@@ -143,7 +143,7 @@
var_name = ObjCGenerator.identifier_to_objc_identifier(member_name)
conversion_expression = self.payload_to_objc_expression_for_member(declaration, member)
if isinstance(member.type, EnumType):
- lines.append(' std::optional<%s> %s = %s;' % (objc_type, var_name, conversion_expression))
+ lines.append(' Optional<%s> %s = %s;' % (objc_type, var_name, conversion_expression))
if not member.is_optional:
lines.append(' THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(%s, @"%s");' % (var_name, member_name))
lines.append(' self.%s = %s.value();' % (var_name, var_name))
diff --git a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py
index 6fc2b1d..50c8f6f 100755
--- a/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py
+++ b/Source/JavaScriptCore/inspector/scripts/codegen/objc_generator_templates.py
@@ -55,7 +55,7 @@
TypeConversionsHeaderStandard = (
"""template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);""")
+Optional<ObjCEnumType> fromProtocolString(const String& value);""")
BackendDispatcherHeaderPrelude = (
"""${includes}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result b/Source/JavaScriptCore/inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result
index 0eb7d2f..af3f8de 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/all/expected/definitions-with-mac-platform.json-result
@@ -1006,7 +1006,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1023,7 +1023,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1033,7 +1033,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result
index 9a4d977..8cfae49 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-async-attribute.json-result
@@ -157,11 +157,11 @@
Yellow = 5,
Black = 6,
}; // enum class PrintColor
- virtual void executeSQLSyncOptionalReturnValues(ErrorString&, int in_databaseId, const String& in_query, RefPtr<JSON::ArrayOf<String>>& opt_out_columnNames, std::optional<String>& opt_out_notes, std::optional<double>& opt_out_timestamp, std::optional<JSON::Object>& opt_out_values, std::optional<JSON::Value>& opt_out_payload, std::optional<int>& opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
+ virtual void executeSQLSyncOptionalReturnValues(ErrorString&, int in_databaseId, const String& in_query, RefPtr<JSON::ArrayOf<String>>& opt_out_columnNames, Optional<String>& opt_out_notes, Optional<double>& opt_out_timestamp, Optional<JSON::Object>& opt_out_values, Optional<JSON::Value>& opt_out_payload, Optional<int>& opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
class ExecuteSQLAsyncOptionalReturnValuesCallback : public BackendDispatcher::CallbackBase {
public:
ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&&, int id);
- void sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, std::optional<String>& notes, std::optional<double>& timestamp, std::optional<JSON::Object>& values, std::optional<JSON::Value>& payload, std::optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, std::optional<String>& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, std::optional<String>& printColor);
+ void sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, Optional<String>& notes, Optional<double>& timestamp, Optional<JSON::Object>& values, Optional<JSON::Value>& payload, Optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Optional<String>& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Optional<String>& printColor);
};
virtual void executeSQLAsyncOptionalReturnValues(int in_databaseId, const String& in_query, Ref<ExecuteSQLAsyncOptionalReturnValuesCallback>&& callback) = 0;
virtual void executeSQLSync(ErrorString&, int in_databaseId, const String& in_query, RefPtr<JSON::ArrayOf<String>>& out_columnNames, String* out_notes, double* out_timestamp, JSON::Object* out_values, JSON::Value* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, Inspector::Protocol::Database::PrimaryColors* out_screenColor, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
@@ -295,11 +295,11 @@
ErrorString error;
Ref<JSON::Object> result = JSON::Object::create();
RefPtr<JSON::ArrayOf<String>> out_columnNames;
- std::optional<String> out_notes;
- std::optional<double> out_timestamp;
- std::optional<JSON::Object> out_values;
- std::optional<JSON::Value> out_payload;
- std::optional<int> out_databaseId;
+ Optional<String> out_notes;
+ Optional<double> out_timestamp;
+ Optional<JSON::Object> out_values;
+ Optional<JSON::Value> out_payload;
+ Optional<int> out_databaseId;
RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
Inspector::Protocol::Database::PrimaryColors out_screenColor;
RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors;
@@ -336,7 +336,7 @@
DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::ExecuteSQLAsyncOptionalReturnValuesCallback(Ref<BackendDispatcher>&& backendDispatcher, int id) : BackendDispatcher::CallbackBase(WTFMove(backendDispatcher), id) { }
-void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, std::optional<String>& notes, std::optional<double>& timestamp, std::optional<JSON::Object>& values, std::optional<JSON::Value>& payload, std::optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, std::optional<String>& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, std::optional<String>& printColor)
+void DatabaseBackendDispatcherHandler::ExecuteSQLAsyncOptionalReturnValuesCallback::sendSuccess(RefPtr<JSON::ArrayOf<String>>&& columnNames, Optional<String>& notes, Optional<double>& timestamp, Optional<JSON::Object>& values, Optional<JSON::Value>& payload, Optional<int>& databaseId, RefPtr<Inspector::Protocol::Database::Error>&& sqlError, Optional<String>& screenColor, RefPtr<Inspector::Protocol::Database::ColorList>&& alternateColors, Optional<String>& printColor)
{
Ref<JSON::Object> jsonMessage = JSON::Object::create();
if (columnNames)
@@ -709,11 +709,11 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
+Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
} // namespace TestHelpers
@@ -793,7 +793,7 @@
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
+Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::PrimaryColors::Red,
@@ -804,7 +804,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::PrimaryColors)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1423,7 +1423,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1440,7 +1440,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1450,7 +1450,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1467,7 +1467,7 @@
}
template<>
-inline std::optional<TestProtocolDatabasePrimaryColors> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabasePrimaryColors> fromProtocolString(const String& value)
{
if (value == "red")
return TestProtocolDatabasePrimaryColorsRed;
@@ -1475,7 +1475,7 @@
return TestProtocolDatabasePrimaryColorsGreen;
if (value == "blue")
return TestProtocolDatabasePrimaryColorsBlue;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor value)
@@ -1493,7 +1493,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorCyan;
@@ -1503,7 +1503,7 @@
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLSyncOptionalReturnValuesPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor value)
@@ -1521,7 +1521,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorCyan;
@@ -1531,7 +1531,7 @@
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLAsyncOptionalReturnValuesPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLSyncPrintColor value)
@@ -1549,7 +1549,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteSQLSyncPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteSQLSyncPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLSyncPrintColorCyan;
@@ -1559,7 +1559,7 @@
return TestProtocolDatabaseExecuteSQLSyncPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLSyncPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteSQLAsyncPrintColor value)
@@ -1577,7 +1577,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteSQLAsyncPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteSQLAsyncPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorCyan;
@@ -1587,7 +1587,7 @@
return TestProtocolDatabaseExecuteSQLAsyncPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteSQLAsyncPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1653,7 +1653,7 @@
+ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolDatabasePrimaryColors> result = Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload);
+ Optional<TestProtocolDatabasePrimaryColors> result = Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"PrimaryColors");
*outValue = @(result.value());
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result
index 3ebce2b..4277eca 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/commands-with-optional-call-return-parameters.json-result
@@ -152,7 +152,7 @@
Yellow = 5,
Black = 6,
}; // enum class PrintColor
- virtual void executeAllOptionalParameters(ErrorString&, const JSON::Array* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const JSON::Object* opt_in_values, const JSON::Value* opt_in_payload, const int* opt_in_databaseId, const JSON::Object* opt_in_sqlError, const String* opt_in_screenColor, const JSON::Array* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<JSON::ArrayOf<String>>& opt_out_columnNames, std::optional<String>& opt_out_notes, std::optional<double>& opt_out_timestamp, std::optional<JSON::Object>& opt_out_values, std::optional<JSON::Value>& opt_out_payload, std::optional<int>& opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
+ virtual void executeAllOptionalParameters(ErrorString&, const JSON::Array* opt_in_columnNames, const String* opt_in_notes, const double* opt_in_timestamp, const JSON::Object* opt_in_values, const JSON::Value* opt_in_payload, const int* opt_in_databaseId, const JSON::Object* opt_in_sqlError, const String* opt_in_screenColor, const JSON::Array* opt_in_alternateColors, const String* opt_in_printColor, RefPtr<JSON::ArrayOf<String>>& opt_out_columnNames, Optional<String>& opt_out_notes, Optional<double>& opt_out_timestamp, Optional<JSON::Object>& opt_out_values, Optional<JSON::Value>& opt_out_payload, Optional<int>& opt_out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& opt_out_sqlError, Inspector::Protocol::Database::PrimaryColors* opt_out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& opt_out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* opt_out_printColor) = 0;
virtual void executeNoOptionalParameters(ErrorString&, const JSON::Array& in_columnNames, const String& in_notes, double in_timestamp, const JSON::Object& in_values, JSON::Value in_payload, int in_databaseId, const JSON::Object& in_sqlError, const String& in_screenColor, const JSON::Array& in_alternateColors, const String& in_printColor, RefPtr<JSON::ArrayOf<String>>& out_columnNames, String* out_notes, double* out_timestamp, JSON::Object* out_values, JSON::Value* out_payload, int* out_databaseId, RefPtr<Inspector::Protocol::Database::Error>& out_sqlError, Inspector::Protocol::Database::PrimaryColors* out_screenColor, RefPtr<Inspector::Protocol::Database::ColorList>& out_alternateColors, DatabaseBackendDispatcherHandler::PrintColor* out_printColor) = 0;
protected:
virtual ~DatabaseBackendDispatcherHandler();
@@ -260,7 +260,7 @@
bool opt_in_notes_valueFound = false;
String opt_in_notes = m_backendDispatcher->getString(parameters.get(), "notes"_s, &opt_in_notes_valueFound);
bool opt_in_timestamp_valueFound = false;
- std::optional<double> opt_in_timestamp = m_backendDispatcher->getDouble(parameters.get(), "timestamp"_s, &opt_in_timestamp_valueFound);
+ Optional<double> opt_in_timestamp = m_backendDispatcher->getDouble(parameters.get(), "timestamp"_s, &opt_in_timestamp_valueFound);
bool opt_in_values_valueFound = false;
RefPtr<JSON::Object> opt_in_values = m_backendDispatcher->getObject(parameters.get(), "values"_s, &opt_in_values_valueFound);
bool opt_in_payload_valueFound = false;
@@ -290,11 +290,11 @@
ErrorString error;
Ref<JSON::Object> result = JSON::Object::create();
RefPtr<JSON::ArrayOf<String>> out_columnNames;
- std::optional<String> out_notes;
- std::optional<double> out_timestamp;
- std::optional<JSON::Object> out_values;
- std::optional<JSON::Value> out_payload;
- std::optional<int> out_databaseId;
+ Optional<String> out_notes;
+ Optional<double> out_timestamp;
+ Optional<JSON::Object> out_values;
+ Optional<JSON::Value> out_payload;
+ Optional<int> out_databaseId;
RefPtr<Inspector::Protocol::Database::Error> out_sqlError;
Inspector::Protocol::Database::PrimaryColors out_screenColor;
RefPtr<Inspector::Protocol::Database::ColorList> out_alternateColors;
@@ -624,11 +624,11 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
+Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String&);
} // namespace TestHelpers
@@ -708,7 +708,7 @@
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
+Optional<Inspector::Protocol::Database::PrimaryColors> parseEnumValueFromString<Inspector::Protocol::Database::PrimaryColors>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::PrimaryColors::Red,
@@ -719,7 +719,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::PrimaryColors)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -884,13 +884,13 @@
TestProtocolDatabaseError *o_in_sqlError;
if (in_sqlError)
o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithJSONObject:in_sqlError] autorelease];
- std::optional<TestProtocolDatabasePrimaryColors> o_in_screenColor;
+ Optional<TestProtocolDatabasePrimaryColors> o_in_screenColor;
if (in_screenColor)
o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(*in_screenColor);
NSArray/*<NSString>*/ *o_in_alternateColors;
if (in_alternateColors)
o_in_alternateColors = toObjCStringArray(in_alternateColors);
- std::optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> o_in_printColor;
+ Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> o_in_printColor;
if (in_printColor)
o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor>(*in_printColor);
@@ -932,13 +932,13 @@
RWIProtocolJSONObject *o_in_payload = [[[RWIProtocolJSONObject alloc] initWithJSONObject:&in_payload] autorelease];
int o_in_databaseId = in_databaseId;
TestProtocolDatabaseError *o_in_sqlError = [[[TestProtocolDatabaseError alloc] initWithJSONObject:&in_sqlError] autorelease];
- std::optional<TestProtocolDatabasePrimaryColors> o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(in_screenColor);
+ Optional<TestProtocolDatabasePrimaryColors> o_in_screenColor = fromProtocolString<TestProtocolDatabasePrimaryColors>(in_screenColor);
if (!o_in_screenColor) {
backendDispatcher()->reportProtocolError(BackendDispatcher::InvalidParams, "Parameter 'screenColor' of method 'Database.executeNoOptionalParameters' cannot be processed"_s);
return;
}
NSArray/*<NSString>*/ *o_in_alternateColors = toObjCStringArray(&in_alternateColors);
- std::optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
+ Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> o_in_printColor = fromProtocolString<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor>(in_printColor);
if (!o_in_printColor) {
backendDispatcher()->reportProtocolError(BackendDispatcher::InvalidParams, "Parameter 'printColor' of method 'Database.executeNoOptionalParameters' cannot be processed"_s);
return;
@@ -1300,7 +1300,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1317,7 +1317,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1327,7 +1327,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1344,7 +1344,7 @@
}
template<>
-inline std::optional<TestProtocolDatabasePrimaryColors> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabasePrimaryColors> fromProtocolString(const String& value)
{
if (value == "red")
return TestProtocolDatabasePrimaryColorsRed;
@@ -1352,7 +1352,7 @@
return TestProtocolDatabasePrimaryColorsGreen;
if (value == "blue")
return TestProtocolDatabasePrimaryColorsBlue;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
@@ -1370,7 +1370,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
@@ -1380,7 +1380,7 @@
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteAllOptionalParametersPrintColor value)
@@ -1398,7 +1398,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteAllOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorCyan;
@@ -1408,7 +1408,7 @@
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteAllOptionalParametersPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
@@ -1426,7 +1426,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
@@ -1436,7 +1436,7 @@
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseExecuteNoOptionalParametersPrintColor value)
@@ -1454,7 +1454,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseExecuteNoOptionalParametersPrintColor> fromProtocolString(const String& value)
{
if (value == "cyan")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorCyan;
@@ -1464,7 +1464,7 @@
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorYellow;
if (value == "black")
return TestProtocolDatabaseExecuteNoOptionalParametersPrintColorBlack;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1530,7 +1530,7 @@
+ (void)_parsePrimaryColors:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolDatabasePrimaryColors> result = Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload);
+ Optional<TestProtocolDatabasePrimaryColors> result = Inspector::fromProtocolString<TestProtocolDatabasePrimaryColors>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"PrimaryColors");
*outValue = @(result.value());
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result
index bc579b4..040c743 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/definitions-with-mac-platform.json-result
@@ -742,7 +742,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -759,7 +759,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -769,7 +769,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domain-availability.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domain-availability.json-result
index f1ab2ef4..cb2fc5a 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domain-availability.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domain-availability.json-result
@@ -996,7 +996,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1013,7 +1013,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1023,7 +1023,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result
index c663e65..0629ece 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/domains-with-varying-command-sizes.json-result
@@ -1259,7 +1259,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1276,7 +1276,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1286,7 +1286,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/enum-values.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/enum-values.json-result
index a00de43..f22bf8a 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/enum-values.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/enum-values.json-result
@@ -472,11 +472,11 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'TypeDomain' Domain
template<>
-std::optional<Inspector::Protocol::TypeDomain::TypeDomainEnum> parseEnumValueFromString<Inspector::Protocol::TypeDomain::TypeDomainEnum>(const String&);
+Optional<Inspector::Protocol::TypeDomain::TypeDomainEnum> parseEnumValueFromString<Inspector::Protocol::TypeDomain::TypeDomainEnum>(const String&);
} // namespace TestHelpers
@@ -558,7 +558,7 @@
// Enums in the 'TypeDomain' Domain
template<>
-std::optional<Inspector::Protocol::TypeDomain::TypeDomainEnum> parseEnumValueFromString<Inspector::Protocol::TypeDomain::TypeDomainEnum>(const String& protocolString)
+Optional<Inspector::Protocol::TypeDomain::TypeDomainEnum> parseEnumValueFromString<Inspector::Protocol::TypeDomain::TypeDomainEnum>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::TypeDomain::TypeDomainEnum::Shared,
@@ -570,7 +570,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::TypeDomain::TypeDomainEnum)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1052,7 +1052,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1069,7 +1069,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1079,7 +1079,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1098,7 +1098,7 @@
}
template<>
-inline std::optional<TestProtocolTypeDomainEnum> fromProtocolString(const String& value)
+inline Optional<TestProtocolTypeDomainEnum> fromProtocolString(const String& value)
{
if (value == "shared")
return TestProtocolTypeDomainEnumShared;
@@ -1108,7 +1108,7 @@
return TestProtocolTypeDomainEnumGreen;
if (value == "blue")
return TestProtocolTypeDomainEnumBlue;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1165,7 +1165,7 @@
+ (void)_parseTypeDomainEnum:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolTypeDomainEnum> result = Inspector::fromProtocolString<TestProtocolTypeDomainEnum>(payload);
+ Optional<TestProtocolTypeDomainEnum> result = Inspector::fromProtocolString<TestProtocolTypeDomainEnum>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"TypeDomainEnum");
*outValue = @(result.value());
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result
index ebf6428..91a518b 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/events-with-optional-parameters.json-result
@@ -992,7 +992,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1009,7 +1009,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1019,7 +1019,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result
index 050dbe2..7e3fc81 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/generate-domains-with-feature-guards.json-result
@@ -1033,7 +1033,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1050,7 +1050,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1060,7 +1060,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result
index 5d4f91c..17fd925 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/same-type-id-different-domain.json-result
@@ -752,7 +752,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -769,7 +769,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -779,7 +779,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result
index f52537b..a1b500f 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/shadowed-optional-type-setters.json-result
@@ -413,11 +413,11 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Runtime' Domain
template<>
-std::optional<Inspector::Protocol::Runtime::KeyPath::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::KeyPath::Type>(const String&);
+Optional<Inspector::Protocol::Runtime::KeyPath::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::KeyPath::Type>(const String&);
} // namespace TestHelpers
@@ -481,7 +481,7 @@
// Enums in the 'Runtime' Domain
template<>
-std::optional<Inspector::Protocol::Runtime::KeyPath::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::KeyPath::Type>(const String& protocolString)
+Optional<Inspector::Protocol::Runtime::KeyPath::Type> parseEnumValueFromString<Inspector::Protocol::Runtime::KeyPath::Type>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::KeyPath::Type::Null,
@@ -492,7 +492,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::KeyPath::Type)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -889,7 +889,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -906,7 +906,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -916,7 +916,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -933,7 +933,7 @@
}
template<>
-inline std::optional<TestProtocolRuntimeKeyPathType> fromProtocolString(const String& value)
+inline Optional<TestProtocolRuntimeKeyPathType> fromProtocolString(const String& value)
{
if (value == "null")
return TestProtocolRuntimeKeyPathTypeNull;
@@ -941,7 +941,7 @@
return TestProtocolRuntimeKeyPathTypeString;
if (value == "array")
return TestProtocolRuntimeKeyPathTypeArray;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1055,7 +1055,7 @@
return nil;
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"type"], @"type");
- std::optional<TestProtocolRuntimeKeyPathType> type = fromProtocolString<TestProtocolRuntimeKeyPathType>(payload[@"type"]);
+ Optional<TestProtocolRuntimeKeyPathType> type = fromProtocolString<TestProtocolRuntimeKeyPathType>(payload[@"type"]);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(type, @"type");
self.type = type.value();
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result
index 0ca4202..c61ce80 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-aliased-primitive-type.json-result
@@ -747,7 +747,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -764,7 +764,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -774,7 +774,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result
index 87f9d4f..307894d 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-array-type.json-result
@@ -364,11 +364,11 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Debugger' Domain
template<>
-std::optional<Inspector::Protocol::Debugger::Reason> parseEnumValueFromString<Inspector::Protocol::Debugger::Reason>(const String&);
+Optional<Inspector::Protocol::Debugger::Reason> parseEnumValueFromString<Inspector::Protocol::Debugger::Reason>(const String&);
} // namespace TestHelpers
@@ -444,7 +444,7 @@
// Enums in the 'Debugger' Domain
template<>
-std::optional<Inspector::Protocol::Debugger::Reason> parseEnumValueFromString<Inspector::Protocol::Debugger::Reason>(const String& protocolString)
+Optional<Inspector::Protocol::Debugger::Reason> parseEnumValueFromString<Inspector::Protocol::Debugger::Reason>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Debugger::Reason::Died,
@@ -455,7 +455,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Debugger::Reason)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -843,7 +843,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -860,7 +860,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -870,7 +870,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -887,7 +887,7 @@
}
template<>
-inline std::optional<TestProtocolDebuggerReason> fromProtocolString(const String& value)
+inline Optional<TestProtocolDebuggerReason> fromProtocolString(const String& value)
{
if (value == "Died")
return TestProtocolDebuggerReasonDied;
@@ -895,7 +895,7 @@
return TestProtocolDebuggerReasonFainted;
if (value == "Hungry")
return TestProtocolDebuggerReasonHungry;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -971,7 +971,7 @@
+ (void)_parseReason:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolDebuggerReason> result = Inspector::fromProtocolString<TestProtocolDebuggerReason>(payload);
+ Optional<TestProtocolDebuggerReason> result = Inspector::fromProtocolString<TestProtocolDebuggerReason>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"Reason");
*outValue = @(result.value());
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result
index f667dd2..8a6aab4 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-enum-type.json-result
@@ -361,13 +361,13 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Runtime' Domain
template<>
-std::optional<Inspector::Protocol::Runtime::FarmAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::FarmAnimals>(const String&);
+Optional<Inspector::Protocol::Runtime::FarmAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::FarmAnimals>(const String&);
template<>
-std::optional<Inspector::Protocol::Runtime::TwoLeggedAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::TwoLeggedAnimals>(const String&);
+Optional<Inspector::Protocol::Runtime::TwoLeggedAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::TwoLeggedAnimals>(const String&);
} // namespace TestHelpers
@@ -451,7 +451,7 @@
// Enums in the 'Runtime' Domain
template<>
-std::optional<Inspector::Protocol::Runtime::FarmAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::FarmAnimals>(const String& protocolString)
+Optional<Inspector::Protocol::Runtime::FarmAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::FarmAnimals>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::FarmAnimals::Pigs,
@@ -463,11 +463,11 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::FarmAnimals)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
template<>
-std::optional<Inspector::Protocol::Runtime::TwoLeggedAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::TwoLeggedAnimals>(const String& protocolString)
+Optional<Inspector::Protocol::Runtime::TwoLeggedAnimals> parseEnumValueFromString<Inspector::Protocol::Runtime::TwoLeggedAnimals>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Runtime::TwoLeggedAnimals::Ducks,
@@ -479,7 +479,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Runtime::TwoLeggedAnimals)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -875,7 +875,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -892,7 +892,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -902,7 +902,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -921,7 +921,7 @@
}
template<>
-inline std::optional<TestProtocolRuntimeFarmAnimals> fromProtocolString(const String& value)
+inline Optional<TestProtocolRuntimeFarmAnimals> fromProtocolString(const String& value)
{
if (value == "Pigs")
return TestProtocolRuntimeFarmAnimalsPigs;
@@ -931,7 +931,7 @@
return TestProtocolRuntimeFarmAnimalsCats;
if (value == "Hens")
return TestProtocolRuntimeFarmAnimalsHens;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolRuntimeTwoLeggedAnimals value)
@@ -949,7 +949,7 @@
}
template<>
-inline std::optional<TestProtocolRuntimeTwoLeggedAnimals> fromProtocolString(const String& value)
+inline Optional<TestProtocolRuntimeTwoLeggedAnimals> fromProtocolString(const String& value)
{
if (value == "Ducks")
return TestProtocolRuntimeTwoLeggedAnimalsDucks;
@@ -959,7 +959,7 @@
return TestProtocolRuntimeTwoLeggedAnimalsCrows;
if (value == "Flamingos")
return TestProtocolRuntimeTwoLeggedAnimalsFlamingos;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1017,7 +1017,7 @@
+ (void)_parseFarmAnimals:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolRuntimeFarmAnimals> result = Inspector::fromProtocolString<TestProtocolRuntimeFarmAnimals>(payload);
+ Optional<TestProtocolRuntimeFarmAnimals> result = Inspector::fromProtocolString<TestProtocolRuntimeFarmAnimals>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"FarmAnimals");
*outValue = @(result.value());
}
@@ -1025,7 +1025,7 @@
+ (void)_parseTwoLeggedAnimals:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolRuntimeTwoLeggedAnimals> result = Inspector::fromProtocolString<TestProtocolRuntimeTwoLeggedAnimals>(payload);
+ Optional<TestProtocolRuntimeTwoLeggedAnimals> result = Inspector::fromProtocolString<TestProtocolRuntimeTwoLeggedAnimals>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"TwoLeggedAnimals");
*outValue = @(result.value());
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result
index ac7adc7..43e6fa4 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-declaration-object-type.json-result
@@ -878,19 +878,19 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::MouseButton> parseEnumValueFromString<Inspector::Protocol::Database::MouseButton>(const String&);
+Optional<Inspector::Protocol::Database::MouseButton> parseEnumValueFromString<Inspector::Protocol::Database::MouseButton>(const String&);
template<>
-std::optional<Inspector::Protocol::Database::OptionalParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::OptionalParameterBundle::Directionality>(const String&);
+Optional<Inspector::Protocol::Database::OptionalParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::OptionalParameterBundle::Directionality>(const String&);
template<>
-std::optional<Inspector::Protocol::Database::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::ParameterBundle::Directionality>(const String&);
+Optional<Inspector::Protocol::Database::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::ParameterBundle::Directionality>(const String&);
// Enums in the 'Test' Domain
template<>
-std::optional<Inspector::Protocol::Test::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Test::ParameterBundle::Directionality>(const String&);
+Optional<Inspector::Protocol::Test::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Test::ParameterBundle::Directionality>(const String&);
} // namespace TestHelpers
@@ -969,7 +969,7 @@
// Enums in the 'Database' Domain
template<>
-std::optional<Inspector::Protocol::Database::MouseButton> parseEnumValueFromString<Inspector::Protocol::Database::MouseButton>(const String& protocolString)
+Optional<Inspector::Protocol::Database::MouseButton> parseEnumValueFromString<Inspector::Protocol::Database::MouseButton>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::MouseButton::None,
@@ -981,11 +981,11 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::MouseButton)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
template<>
-std::optional<Inspector::Protocol::Database::OptionalParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::OptionalParameterBundle::Directionality>(const String& protocolString)
+Optional<Inspector::Protocol::Database::OptionalParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::OptionalParameterBundle::Directionality>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::OptionalParameterBundle::Directionality::LTR,
@@ -995,11 +995,11 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::OptionalParameterBundle::Directionality)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
template<>
-std::optional<Inspector::Protocol::Database::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::ParameterBundle::Directionality>(const String& protocolString)
+Optional<Inspector::Protocol::Database::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Database::ParameterBundle::Directionality>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Database::ParameterBundle::Directionality::LTR,
@@ -1009,13 +1009,13 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Database::ParameterBundle::Directionality)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
// Enums in the 'Test' Domain
template<>
-std::optional<Inspector::Protocol::Test::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Test::ParameterBundle::Directionality>(const String& protocolString)
+Optional<Inspector::Protocol::Test::ParameterBundle::Directionality> parseEnumValueFromString<Inspector::Protocol::Test::ParameterBundle::Directionality>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Test::ParameterBundle::Directionality::LTR,
@@ -1025,7 +1025,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Test::ParameterBundle::Directionality)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1506,7 +1506,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1523,7 +1523,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1533,7 +1533,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1552,7 +1552,7 @@
}
template<>
-inline std::optional<TestProtocolDatabaseMouseButton> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseMouseButton> fromProtocolString(const String& value)
{
if (value == "None")
return TestProtocolDatabaseMouseButtonNone;
@@ -1562,7 +1562,7 @@
return TestProtocolDatabaseMouseButtonMiddle;
if (value == "Right")
return TestProtocolDatabaseMouseButtonRight;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseOptionalParameterBundleDirectionality value)
@@ -1576,13 +1576,13 @@
}
template<>
-inline std::optional<TestProtocolDatabaseOptionalParameterBundleDirectionality> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseOptionalParameterBundleDirectionality> fromProtocolString(const String& value)
{
if (value == "LTR")
return TestProtocolDatabaseOptionalParameterBundleDirectionalityLTR;
if (value == "RTL")
return TestProtocolDatabaseOptionalParameterBundleDirectionalityRTL;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolDatabaseParameterBundleDirectionality value)
@@ -1596,13 +1596,13 @@
}
template<>
-inline std::optional<TestProtocolDatabaseParameterBundleDirectionality> fromProtocolString(const String& value)
+inline Optional<TestProtocolDatabaseParameterBundleDirectionality> fromProtocolString(const String& value)
{
if (value == "LTR")
return TestProtocolDatabaseParameterBundleDirectionalityLTR;
if (value == "RTL")
return TestProtocolDatabaseParameterBundleDirectionalityRTL;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1617,13 +1617,13 @@
}
template<>
-inline std::optional<TestProtocolTestParameterBundleDirectionality> fromProtocolString(const String& value)
+inline Optional<TestProtocolTestParameterBundleDirectionality> fromProtocolString(const String& value)
{
if (value == "LTR")
return TestProtocolTestParameterBundleDirectionalityLTR;
if (value == "RTL")
return TestProtocolTestParameterBundleDirectionalityRTL;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1703,7 +1703,7 @@
+ (void)_parseMouseButton:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolDatabaseMouseButton> result = Inspector::fromProtocolString<TestProtocolDatabaseMouseButton>(payload);
+ Optional<TestProtocolDatabaseMouseButton> result = Inspector::fromProtocolString<TestProtocolDatabaseMouseButton>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"MouseButton");
*outValue = @(result.value());
}
@@ -1856,7 +1856,7 @@
self.buttons = payload[@"buttons"];
- std::optional<TestProtocolDatabaseOptionalParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolDatabaseOptionalParameterBundleDirectionality>(payload[@"directionality"]);
+ Optional<TestProtocolDatabaseOptionalParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolDatabaseOptionalParameterBundleDirectionality>(payload[@"directionality"]);
if (directionality)
self.directionality = directionality.value();
@@ -1998,7 +1998,7 @@
self.buttons = payload[@"buttons"];
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"directionality"], @"directionality");
- std::optional<TestProtocolDatabaseParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolDatabaseParameterBundleDirectionality>(payload[@"directionality"]);
+ Optional<TestProtocolDatabaseParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolDatabaseParameterBundleDirectionality>(payload[@"directionality"]);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(directionality, @"directionality");
self.directionality = directionality.value();
@@ -2291,7 +2291,7 @@
return nil;
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"directionality"], @"directionality");
- std::optional<TestProtocolTestParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolTestParameterBundleDirectionality>(payload[@"directionality"]);
+ Optional<TestProtocolTestParameterBundleDirectionality> directionality = fromProtocolString<TestProtocolTestParameterBundleDirectionality>(payload[@"directionality"]);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(directionality, @"directionality");
self.directionality = directionality.value();
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result
index 76f8842..34c4fcc 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result
@@ -575,13 +575,13 @@
namespace TestHelpers {
template<typename ProtocolEnumType>
-std::optional<ProtocolEnumType> parseEnumValueFromString(const String&);
+Optional<ProtocolEnumType> parseEnumValueFromString(const String&);
// Enums in the 'Test' Domain
template<>
-std::optional<Inspector::Protocol::Test::UncastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::UncastedAnimals>(const String&);
+Optional<Inspector::Protocol::Test::UncastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::UncastedAnimals>(const String&);
template<>
-std::optional<Inspector::Protocol::Test::CastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::CastedAnimals>(const String&);
+Optional<Inspector::Protocol::Test::CastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::CastedAnimals>(const String&);
} // namespace TestHelpers
@@ -665,7 +665,7 @@
// Enums in the 'Test' Domain
template<>
-std::optional<Inspector::Protocol::Test::UncastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::UncastedAnimals>(const String& protocolString)
+Optional<Inspector::Protocol::Test::UncastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::UncastedAnimals>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Test::UncastedAnimals::Pigs,
@@ -677,11 +677,11 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Test::UncastedAnimals)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
template<>
-std::optional<Inspector::Protocol::Test::CastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::CastedAnimals>(const String& protocolString)
+Optional<Inspector::Protocol::Test::CastedAnimals> parseEnumValueFromString<Inspector::Protocol::Test::CastedAnimals>(const String& protocolString)
{
static const size_t constantValues[] = {
(size_t)Inspector::Protocol::Test::CastedAnimals::Ducks,
@@ -693,7 +693,7 @@
if (protocolString == enum_constant_values[constantValues[i]])
return (Inspector::Protocol::Test::CastedAnimals)constantValues[i];
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1227,7 +1227,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1244,7 +1244,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1254,7 +1254,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
@@ -1273,7 +1273,7 @@
}
template<>
-inline std::optional<TestProtocolTestUncastedAnimals> fromProtocolString(const String& value)
+inline Optional<TestProtocolTestUncastedAnimals> fromProtocolString(const String& value)
{
if (value == "Pigs")
return TestProtocolTestUncastedAnimalsPigs;
@@ -1283,7 +1283,7 @@
return TestProtocolTestUncastedAnimalsCats;
if (value == "Hens")
return TestProtocolTestUncastedAnimalsHens;
- return std::nullopt;
+ return WTF::nullopt;
}
inline String toProtocolString(TestProtocolTestCastedAnimals value)
@@ -1301,7 +1301,7 @@
}
template<>
-inline std::optional<TestProtocolTestCastedAnimals> fromProtocolString(const String& value)
+inline Optional<TestProtocolTestCastedAnimals> fromProtocolString(const String& value)
{
if (value == "Ducks")
return TestProtocolTestCastedAnimalsDucks;
@@ -1311,7 +1311,7 @@
return TestProtocolTestCastedAnimalsCrows;
if (value == "Flamingos")
return TestProtocolTestCastedAnimalsFlamingos;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
@@ -1392,7 +1392,7 @@
+ (void)_parseUncastedAnimals:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolTestUncastedAnimals> result = Inspector::fromProtocolString<TestProtocolTestUncastedAnimals>(payload);
+ Optional<TestProtocolTestUncastedAnimals> result = Inspector::fromProtocolString<TestProtocolTestUncastedAnimals>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"UncastedAnimals");
*outValue = @(result.value());
}
@@ -1400,7 +1400,7 @@
+ (void)_parseCastedAnimals:(NSNumber **)outValue fromPayload:(id)payload
{
THROW_EXCEPTION_FOR_BAD_TYPE(payload, [NSString class]);
- std::optional<TestProtocolTestCastedAnimals> result = Inspector::fromProtocolString<TestProtocolTestCastedAnimals>(payload);
+ Optional<TestProtocolTestCastedAnimals> result = Inspector::fromProtocolString<TestProtocolTestCastedAnimals>(payload);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(result, @"CastedAnimals");
*outValue = @(result.value());
}
@@ -1477,7 +1477,7 @@
self.number = [payload[@"number"] integerValue];
THROW_EXCEPTION_FOR_REQUIRED_PROPERTY(payload[@"animals"], @"animals");
- std::optional<TestProtocolTestCastedAnimals> animals = fromProtocolString<TestProtocolTestCastedAnimals>(payload[@"animals"]);
+ Optional<TestProtocolTestCastedAnimals> animals = fromProtocolString<TestProtocolTestCastedAnimals>(payload[@"animals"]);
THROW_EXCEPTION_FOR_BAD_ENUM_VALUE(animals, @"animals");
self.animals = animals.value();
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result
index e5f5d1e..104514a 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/generic/expected/type-with-open-parameters.json-result
@@ -900,7 +900,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -917,7 +917,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -927,7 +927,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result b/Source/JavaScriptCore/inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result
index bc579b4..040c743 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/ios/expected/definitions-with-mac-platform.json-result
@@ -742,7 +742,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -759,7 +759,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -769,7 +769,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace Inspector
diff --git a/Source/JavaScriptCore/inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result b/Source/JavaScriptCore/inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result
index 0eb7d2f..af3f8de 100644
--- a/Source/JavaScriptCore/inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result
+++ b/Source/JavaScriptCore/inspector/scripts/tests/mac/expected/definitions-with-mac-platform.json-result
@@ -1006,7 +1006,7 @@
namespace Inspector {
template<typename ObjCEnumType>
-std::optional<ObjCEnumType> fromProtocolString(const String& value);
+Optional<ObjCEnumType> fromProtocolString(const String& value);
inline String toProtocolString(TestProtocolPlatform value)
{
@@ -1023,7 +1023,7 @@
}
template<>
-inline std::optional<TestProtocolPlatform> fromProtocolString(const String& value)
+inline Optional<TestProtocolPlatform> fromProtocolString(const String& value)
{
if (value == "all")
return TestProtocolPlatformAll;
@@ -1033,7 +1033,7 @@
return TestProtocolPlatformIOS;
if (value == "macos")
return TestProtocolPlatformMacOS;
- return std::nullopt;
+ return WTF::nullopt;
}
diff --git a/Source/JavaScriptCore/jit/JITCode.h b/Source/JavaScriptCore/jit/JITCode.h
index 66c5845..e70647f 100644
--- a/Source/JavaScriptCore/jit/JITCode.h
+++ b/Source/JavaScriptCore/jit/JITCode.h
@@ -195,7 +195,7 @@
#if ENABLE(JIT)
virtual RegisterSet liveRegistersToPreserveAtExceptionHandlingCallSite(CodeBlock*, CallSiteIndex);
- virtual std::optional<CodeOrigin> findPC(CodeBlock*, void* pc) { UNUSED_PARAM(pc); return std::nullopt; }
+ virtual Optional<CodeOrigin> findPC(CodeBlock*, void* pc) { UNUSED_PARAM(pc); return WTF::nullopt; }
#endif
private:
diff --git a/Source/JavaScriptCore/jit/JITDivGenerator.cpp b/Source/JavaScriptCore/jit/JITDivGenerator.cpp
index a5db7e1..be92d3f 100644
--- a/Source/JavaScriptCore/jit/JITDivGenerator.cpp
+++ b/Source/JavaScriptCore/jit/JITDivGenerator.cpp
@@ -82,7 +82,7 @@
loadOperand(jit, m_leftOperand, m_left, m_leftFPR);
#if USE(JSVALUE64)
- std::optional<double> safeReciprocal;
+ Optional<double> safeReciprocal;
if (m_rightOperand.isConst()) {
double constant = m_rightOperand.asConstNumber();
safeReciprocal = safeReciprocalForDivByConst(constant);
diff --git a/Source/JavaScriptCore/jit/JITOperations.cpp b/Source/JavaScriptCore/jit/JITOperations.cpp
index 7b91d8f..f35253e 100644
--- a/Source/JavaScriptCore/jit/JITOperations.cpp
+++ b/Source/JavaScriptCore/jit/JITOperations.cpp
@@ -691,7 +691,7 @@
auto property = subscript.toPropertyKey(callFrame);
RETURN_IF_EXCEPTION(scope, void());
- if (std::optional<uint32_t> index = parseIndex(property)) {
+ if (Optional<uint32_t> index = parseIndex(property)) {
byValInfo->tookSlowPath = true;
scope.release();
baseObject->putDirectIndex(callFrame, index.value(), value, 0, isStrictMode ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
diff --git a/Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp b/Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp
index 12a4d35..7c4a0ed 100644
--- a/Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp
+++ b/Source/JavaScriptCore/jit/PCToCodeOriginMap.cpp
@@ -246,11 +246,11 @@
return size;
}
-std::optional<CodeOrigin> PCToCodeOriginMap::findPC(void* pc) const
+Optional<CodeOrigin> PCToCodeOriginMap::findPC(void* pc) const
{
uintptr_t pcAsInt = bitwise_cast<uintptr_t>(pc);
if (!(m_pcRangeStart <= pcAsInt && pcAsInt <= m_pcRangeEnd))
- return std::nullopt;
+ return WTF::nullopt;
uintptr_t currentPC = 0;
CodeOrigin currentCodeOrigin(0, nullptr);
@@ -293,12 +293,12 @@
// We subtract 1 because we generate end points inclusively in this table, even though we are interested in ranges of the form: [previousPC, currentPC)
uintptr_t endOfRange = currentPC - 1;
if (startOfRange <= pcAsInt && pcAsInt <= endOfRange)
- return std::optional<CodeOrigin>(previousOrigin); // We return previousOrigin here because CodeOrigin's are mapped to the startValue of the range.
+ return Optional<CodeOrigin>(previousOrigin); // We return previousOrigin here because CodeOrigin's are mapped to the startValue of the range.
}
}
RELEASE_ASSERT_NOT_REACHED();
- return std::nullopt;
+ return WTF::nullopt;
}
} // namespace JSC
diff --git a/Source/JavaScriptCore/jit/PCToCodeOriginMap.h b/Source/JavaScriptCore/jit/PCToCodeOriginMap.h
index b3911b0..a18ecc5 100644
--- a/Source/JavaScriptCore/jit/PCToCodeOriginMap.h
+++ b/Source/JavaScriptCore/jit/PCToCodeOriginMap.h
@@ -81,7 +81,7 @@
PCToCodeOriginMap(PCToCodeOriginMapBuilder&&, LinkBuffer&);
~PCToCodeOriginMap();
- std::optional<CodeOrigin> findPC(void* pc) const;
+ Optional<CodeOrigin> findPC(void* pc) const;
double memorySize();
diff --git a/Source/JavaScriptCore/jit/Repatch.cpp b/Source/JavaScriptCore/jit/Repatch.cpp
index 7311a6d..018f58a 100644
--- a/Source/JavaScriptCore/jit/Repatch.cpp
+++ b/Source/JavaScriptCore/jit/Repatch.cpp
@@ -332,7 +332,7 @@
if (slot.isCacheableGetter())
getter = jsDynamicCast<JSFunction*>(vm, slot.getterSetter()->getter());
- std::optional<DOMAttributeAnnotation> domAttribute;
+ Optional<DOMAttributeAnnotation> domAttribute;
if (slot.isCacheableCustom() && slot.domAttribute())
domAttribute = slot.domAttribute();
diff --git a/Source/JavaScriptCore/jsc.cpp b/Source/JavaScriptCore/jsc.cpp
index f644071..58966164 100644
--- a/Source/JavaScriptCore/jsc.cpp
+++ b/Source/JavaScriptCore/jsc.cpp
@@ -708,11 +708,11 @@
queries = moduleName.splitAllowingEmptyEntries('/');
}
-static std::optional<DirectoryName> extractDirectoryName(const String& absolutePathToFile)
+static Optional<DirectoryName> extractDirectoryName(const String& absolutePathToFile)
{
size_t firstSeparatorPosition = absolutePathToFile.find(pathSeparator());
if (firstSeparatorPosition == notFound)
- return std::nullopt;
+ return WTF::nullopt;
DirectoryName directoryName;
directoryName.rootName = absolutePathToFile.substring(0, firstSeparatorPosition + 1); // Include the separator.
size_t lastSeparatorPosition = absolutePathToFile.reverseFind(pathSeparator());
@@ -727,7 +727,7 @@
return directoryName;
}
-static std::optional<DirectoryName> currentWorkingDirectory()
+static Optional<DirectoryName> currentWorkingDirectory()
{
#if OS(WINDOWS)
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa364934.aspx
@@ -741,7 +741,7 @@
// In the path utility functions inside the JSC shell, we does not handle the UNC and UNCW including the network host name.
DWORD bufferLength = ::GetCurrentDirectoryW(0, nullptr);
if (!bufferLength)
- return std::nullopt;
+ return WTF::nullopt;
// In Windows, wchar_t is the UTF-16LE.
// https://msdn.microsoft.com/en-us/library/dd374081.aspx
// https://msdn.microsoft.com/en-us/library/windows/desktop/ff381407.aspx
@@ -750,15 +750,15 @@
String directoryString = wcharToString(buffer.data(), lengthNotIncludingNull);
// We don't support network path like \\host\share\<path name>.
if (directoryString.startsWith("\\\\"))
- return std::nullopt;
+ return WTF::nullopt;
#else
Vector<char> buffer(PATH_MAX);
if (!getcwd(buffer.data(), PATH_MAX))
- return std::nullopt;
+ return WTF::nullopt;
String directoryString = String::fromUTF8(buffer.data());
#endif
if (directoryString.isEmpty())
- return std::nullopt;
+ return WTF::nullopt;
if (directoryString[directoryString.length() - 1] == pathSeparator())
return extractDirectoryName(directoryString);
@@ -2482,7 +2482,7 @@
VM& vm = globalObject->vm();
auto scope = DECLARE_CATCH_SCOPE(vm);
- std::optional<DirectoryName> directoryName = currentWorkingDirectory();
+ Optional<DirectoryName> directoryName = currentWorkingDirectory();
if (!directoryName)
return;
SourceOrigin sourceOrigin(resolvePath(directoryName.value(), ModuleName("interpreter")));
diff --git a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
index 7edd178..e7a62a7 100644
--- a/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
+++ b/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
@@ -1064,7 +1064,7 @@
if (UNLIKELY(throwScope.exception()))
LLINT_END();
- if (std::optional<uint32_t> index = parseIndex(property))
+ if (Optional<uint32_t> index = parseIndex(property))
baseObject->putDirectIndex(exec, index.value(), value, 0, isStrictMode ? PutDirectIndexShouldThrow : PutDirectIndexShouldNotThrow);
else {
PutPropertySlot slot(baseObject, isStrictMode);
diff --git a/Source/JavaScriptCore/parser/Lexer.cpp b/Source/JavaScriptCore/parser/Lexer.cpp
index dacd7f2..cb460d7 100644
--- a/Source/JavaScriptCore/parser/Lexer.cpp
+++ b/Source/JavaScriptCore/parser/Lexer.cpp
@@ -1539,7 +1539,7 @@
}
template <typename T>
-ALWAYS_INLINE auto Lexer<T>::parseBinary() -> std::optional<NumberParseResult>
+ALWAYS_INLINE auto Lexer<T>::parseBinary() -> Optional<NumberParseResult>
{
// Optimization: most binary values fit into 4 bytes.
uint32_t binaryValue = 0;
@@ -1571,13 +1571,13 @@
return Variant<double, const Identifier*> { makeIdentifier(m_buffer8.data(), m_buffer8.size()) };
if (isASCIIDigit(m_current))
- return std::nullopt;
+ return WTF::nullopt;
return Variant<double, const Identifier*> { parseIntOverflow(m_buffer8.data(), m_buffer8.size(), 2) };
}
template <typename T>
-ALWAYS_INLINE auto Lexer<T>::parseOctal() -> std::optional<NumberParseResult>
+ALWAYS_INLINE auto Lexer<T>::parseOctal() -> Optional<NumberParseResult>
{
// Optimization: most octal values fit into 4 bytes.
uint32_t octalValue = 0;
@@ -1610,13 +1610,13 @@
return Variant<double, const Identifier*> { makeIdentifier(m_buffer8.data(), m_buffer8.size()) };
if (isASCIIDigit(m_current))
- return std::nullopt;
+ return WTF::nullopt;
return Variant<double, const Identifier*> { parseIntOverflow(m_buffer8.data(), m_buffer8.size(), 8) };
}
template <typename T>
-ALWAYS_INLINE auto Lexer<T>::parseDecimal() -> std::optional<NumberParseResult>
+ALWAYS_INLINE auto Lexer<T>::parseDecimal() -> Optional<NumberParseResult>
{
// Optimization: most decimal values fit into 4 bytes.
uint32_t decimalValue = 0;
@@ -1652,7 +1652,7 @@
if (UNLIKELY(Options::useBigInt() && m_current == 'n'))
return Variant<double, const Identifier*> { makeIdentifier(m_buffer8.data(), m_buffer8.size()) };
- return std::nullopt;
+ return WTF::nullopt;
}
template <typename T>
diff --git a/Source/JavaScriptCore/parser/Lexer.h b/Source/JavaScriptCore/parser/Lexer.h
index 32f1b0b..80189d0 100644
--- a/Source/JavaScriptCore/parser/Lexer.h
+++ b/Source/JavaScriptCore/parser/Lexer.h
@@ -179,9 +179,9 @@
using NumberParseResult = Variant<double, const Identifier*>;
ALWAYS_INLINE NumberParseResult parseHex();
- ALWAYS_INLINE std::optional<NumberParseResult> parseBinary();
- ALWAYS_INLINE std::optional<NumberParseResult> parseOctal();
- ALWAYS_INLINE std::optional<NumberParseResult> parseDecimal();
+ ALWAYS_INLINE Optional<NumberParseResult> parseBinary();
+ ALWAYS_INLINE Optional<NumberParseResult> parseOctal();
+ ALWAYS_INLINE Optional<NumberParseResult> parseDecimal();
ALWAYS_INLINE void parseNumberAfterDecimalPoint();
ALWAYS_INLINE bool parseNumberAfterExponentIndicator();
ALWAYS_INLINE bool parseMultilineComment();
diff --git a/Source/JavaScriptCore/parser/ModuleAnalyzer.cpp b/Source/JavaScriptCore/parser/ModuleAnalyzer.cpp
index 4522b0d..55288ee 100644
--- a/Source/JavaScriptCore/parser/ModuleAnalyzer.cpp
+++ b/Source/JavaScriptCore/parser/ModuleAnalyzer.cpp
@@ -82,7 +82,7 @@
// Indirectly exported binding.
// import a from "mod"
// export { a }
- std::optional<JSModuleRecord::ImportEntry> optionalImportEntry = moduleRecord()->tryGetImportEntry(localName.get());
+ Optional<JSModuleRecord::ImportEntry> optionalImportEntry = moduleRecord()->tryGetImportEntry(localName.get());
ASSERT(optionalImportEntry);
const JSModuleRecord::ImportEntry& importEntry = *optionalImportEntry;
for (auto& exportName : moduleProgramNode.moduleScopeData().exportedBindings().get(localName.get()))
diff --git a/Source/JavaScriptCore/parser/Parser.cpp b/Source/JavaScriptCore/parser/Parser.cpp
index 83388b3..9e2f9d8 100644
--- a/Source/JavaScriptCore/parser/Parser.cpp
+++ b/Source/JavaScriptCore/parser/Parser.cpp
@@ -194,7 +194,7 @@
}
template <typename LexerType>
-String Parser<LexerType>::parseInner(const Identifier& calleeName, SourceParseMode parseMode, ParsingContext parsingContext, std::optional<int> functionConstructorParametersEndPosition)
+String Parser<LexerType>::parseInner(const Identifier& calleeName, SourceParseMode parseMode, ParsingContext parsingContext, Optional<int> functionConstructorParametersEndPosition)
{
String parseError = String();
@@ -614,7 +614,7 @@
}
template <typename LexerType>
-template <class TreeBuilder> TreeSourceElements Parser<LexerType>::parseSingleFunction(TreeBuilder& context, std::optional<int> functionConstructorParametersEndPosition)
+template <class TreeBuilder> TreeSourceElements Parser<LexerType>::parseSingleFunction(TreeBuilder& context, Optional<int> functionConstructorParametersEndPosition)
{
TreeSourceElements sourceElements = context.createSourceElements();
TreeStatement statement = 0;
@@ -2298,7 +2298,7 @@
}
template <typename LexerType>
-template <class TreeBuilder> bool Parser<LexerType>::parseFunctionInfo(TreeBuilder& context, FunctionNameRequirements requirements, SourceParseMode mode, bool nameIsInContainingScope, ConstructorKind constructorKind, SuperBinding expectedSuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>& functionInfo, FunctionDefinitionType functionDefinitionType, std::optional<int> functionConstructorParametersEndPosition)
+template <class TreeBuilder> bool Parser<LexerType>::parseFunctionInfo(TreeBuilder& context, FunctionNameRequirements requirements, SourceParseMode mode, bool nameIsInContainingScope, ConstructorKind constructorKind, SuperBinding expectedSuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>& functionInfo, FunctionDefinitionType functionDefinitionType, Optional<int> functionConstructorParametersEndPosition)
{
RELEASE_ASSERT(isFunctionParseMode(mode));
@@ -2632,7 +2632,7 @@
static FunctionMetadataNode* getMetadata(ParserFunctionInfo<ASTBuilder>& info) { return info.body; }
template <typename LexerType>
-template <class TreeBuilder> TreeStatement Parser<LexerType>::parseFunctionDeclaration(TreeBuilder& context, ExportType exportType, DeclarationDefaultContext declarationDefaultContext, std::optional<int> functionConstructorParametersEndPosition)
+template <class TreeBuilder> TreeStatement Parser<LexerType>::parseFunctionDeclaration(TreeBuilder& context, ExportType exportType, DeclarationDefaultContext declarationDefaultContext, Optional<int> functionConstructorParametersEndPosition)
{
ASSERT(match(FUNCTION));
JSTokenLocation location(tokenLocation());
@@ -2690,7 +2690,7 @@
}
template <typename LexerType>
-template <class TreeBuilder> TreeStatement Parser<LexerType>::parseAsyncFunctionDeclaration(TreeBuilder& context, ExportType exportType, DeclarationDefaultContext declarationDefaultContext, std::optional<int> functionConstructorParametersEndPosition)
+template <class TreeBuilder> TreeStatement Parser<LexerType>::parseAsyncFunctionDeclaration(TreeBuilder& context, ExportType exportType, DeclarationDefaultContext declarationDefaultContext, Optional<int> functionConstructorParametersEndPosition)
{
ASSERT(match(FUNCTION));
JSTokenLocation location(tokenLocation());
@@ -4660,7 +4660,7 @@
}
template <typename TreeBuilder, typename ParserType, typename = typename std::enable_if<std::is_same<TreeBuilder, ASTBuilder>::value>::type>
-static inline void recordCallOrApplyDepth(ParserType* parser, VM& vm, std::optional<typename ParserType::CallOrApplyDepthScope>& callOrApplyDepthScope, ExpressionNode* expression)
+static inline void recordCallOrApplyDepth(ParserType* parser, VM& vm, Optional<typename ParserType::CallOrApplyDepthScope>& callOrApplyDepthScope, ExpressionNode* expression)
{
if (expression->isDotAccessorNode()) {
DotAccessorNode* dot = static_cast<DotAccessorNode*>(expression);
@@ -4671,7 +4671,7 @@
}
template <typename TreeBuilder, typename ParserType, typename = typename std::enable_if<std::is_same<TreeBuilder, SyntaxChecker>::value>::type>
-static inline void recordCallOrApplyDepth(ParserType*, VM&, std::optional<typename ParserType::CallOrApplyDepthScope>&, SyntaxChecker::Expression)
+static inline void recordCallOrApplyDepth(ParserType*, VM&, Optional<typename ParserType::CallOrApplyDepthScope>&, SyntaxChecker::Expression)
{
}
@@ -4801,7 +4801,7 @@
} else {
size_t usedVariablesSize = currentScope()->currentUsedVariablesSize();
JSTextPosition expressionEnd = lastTokenEndPosition();
- std::optional<CallOrApplyDepthScope> callOrApplyDepthScope;
+ Optional<CallOrApplyDepthScope> callOrApplyDepthScope;
recordCallOrApplyDepth<TreeBuilder>(this, *m_vm, callOrApplyDepthScope, base);
TreeArguments arguments = parseArguments(context);
diff --git a/Source/JavaScriptCore/parser/Parser.h b/Source/JavaScriptCore/parser/Parser.h
index 9cfc1c1..14cdd1a 100644
--- a/Source/JavaScriptCore/parser/Parser.h
+++ b/Source/JavaScriptCore/parser/Parser.h
@@ -887,7 +887,7 @@
~Parser();
template <class ParsedNode>
- std::unique_ptr<ParsedNode> parse(ParserError&, const Identifier&, SourceParseMode, ParsingContext, std::optional<int> functionConstructorParametersEndPosition = std::nullopt);
+ std::unique_ptr<ParsedNode> parse(ParserError&, const Identifier&, SourceParseMode, ParsingContext, Optional<int> functionConstructorParametersEndPosition = WTF::nullopt);
JSTextPosition positionBeforeLastNewline() const { return m_lexer->positionBeforeLastNewline(); }
JSTokenLocation locationBeforeLastToken() const { return m_lexer->lastTokenLocation(); }
@@ -1346,7 +1346,7 @@
Parser();
- String parseInner(const Identifier&, SourceParseMode, ParsingContext, std::optional<int> functionConstructorParametersEndPosition = std::nullopt);
+ String parseInner(const Identifier&, SourceParseMode, ParsingContext, Optional<int> functionConstructorParametersEndPosition = WTF::nullopt);
void didFinishParsing(SourceElements*, DeclarationStacks::FunctionStack&&, VariableEnvironment&, UniquedStringImplPtrSet&&, CodeFeatures, int);
@@ -1558,14 +1558,14 @@
template <class TreeBuilder> TreeSourceElements parseGeneratorFunctionSourceElements(TreeBuilder&, const Identifier& name, SourceElementsMode);
template <class TreeBuilder> TreeSourceElements parseAsyncFunctionSourceElements(TreeBuilder&, SourceParseMode, bool isArrowFunctionBodyExpression, SourceElementsMode);
template <class TreeBuilder> TreeSourceElements parseAsyncGeneratorFunctionSourceElements(TreeBuilder&, SourceParseMode, bool isArrowFunctionBodyExpression, SourceElementsMode);
- template <class TreeBuilder> TreeSourceElements parseSingleFunction(TreeBuilder&, std::optional<int> functionConstructorParametersEndPosition);
+ template <class TreeBuilder> TreeSourceElements parseSingleFunction(TreeBuilder&, Optional<int> functionConstructorParametersEndPosition);
template <class TreeBuilder> TreeStatement parseStatementListItem(TreeBuilder&, const Identifier*& directive, unsigned* directiveLiteralLength);
template <class TreeBuilder> TreeStatement parseStatement(TreeBuilder&, const Identifier*& directive, unsigned* directiveLiteralLength = 0);
enum class ExportType { Exported, NotExported };
template <class TreeBuilder> TreeStatement parseClassDeclaration(TreeBuilder&, ExportType = ExportType::NotExported, DeclarationDefaultContext = DeclarationDefaultContext::Standard);
- template <class TreeBuilder> TreeStatement parseFunctionDeclaration(TreeBuilder&, ExportType = ExportType::NotExported, DeclarationDefaultContext = DeclarationDefaultContext::Standard, std::optional<int> functionConstructorParametersEndPosition = std::nullopt);
+ template <class TreeBuilder> TreeStatement parseFunctionDeclaration(TreeBuilder&, ExportType = ExportType::NotExported, DeclarationDefaultContext = DeclarationDefaultContext::Standard, Optional<int> functionConstructorParametersEndPosition = WTF::nullopt);
template <class TreeBuilder> TreeStatement parseFunctionDeclarationStatement(TreeBuilder&, bool isAsync, bool parentAllowsFunctionDeclarationAsStatement);
- template <class TreeBuilder> TreeStatement parseAsyncFunctionDeclaration(TreeBuilder&, ExportType = ExportType::NotExported, DeclarationDefaultContext = DeclarationDefaultContext::Standard, std::optional<int> functionConstructorParametersEndPosition = std::nullopt);
+ template <class TreeBuilder> TreeStatement parseAsyncFunctionDeclaration(TreeBuilder&, ExportType = ExportType::NotExported, DeclarationDefaultContext = DeclarationDefaultContext::Standard, Optional<int> functionConstructorParametersEndPosition = WTF::nullopt);
template <class TreeBuilder> NEVER_INLINE bool maybeParseAsyncFunctionDeclarationStatement(TreeBuilder& context, TreeStatement& result, bool parentAllowsFunctionDeclarationAsStatement);
template <class TreeBuilder> TreeStatement parseVariableDeclaration(TreeBuilder&, DeclarationType, ExportType = ExportType::NotExported);
template <class TreeBuilder> TreeStatement parseDoWhileStatement(TreeBuilder&);
@@ -1634,7 +1634,7 @@
template <class TreeBuilder> ALWAYS_INLINE TreeExpression createResolveAndUseVariable(TreeBuilder&, const Identifier*, bool isEval, const JSTextPosition&, const JSTokenLocation&);
enum class FunctionDefinitionType { Expression, Declaration, Method };
- template <class TreeBuilder> NEVER_INLINE bool parseFunctionInfo(TreeBuilder&, FunctionNameRequirements, SourceParseMode, bool nameIsInContainingScope, ConstructorKind, SuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>&, FunctionDefinitionType, std::optional<int> functionConstructorParametersEndPosition = std::nullopt);
+ template <class TreeBuilder> NEVER_INLINE bool parseFunctionInfo(TreeBuilder&, FunctionNameRequirements, SourceParseMode, bool nameIsInContainingScope, ConstructorKind, SuperBinding, int functionKeywordStart, ParserFunctionInfo<TreeBuilder>&, FunctionDefinitionType, Optional<int> functionConstructorParametersEndPosition = WTF::nullopt);
ALWAYS_INLINE bool isArrowFunctionParameters();
@@ -1882,7 +1882,7 @@
template <typename LexerType>
template <class ParsedNode>
-std::unique_ptr<ParsedNode> Parser<LexerType>::parse(ParserError& error, const Identifier& calleeName, SourceParseMode parseMode, ParsingContext parsingContext, std::optional<int> functionConstructorParametersEndPosition)
+std::unique_ptr<ParsedNode> Parser<LexerType>::parse(ParserError& error, const Identifier& calleeName, SourceParseMode parseMode, ParsingContext parsingContext, Optional<int> functionConstructorParametersEndPosition)
{
int errLine;
String errMsg;
@@ -2021,7 +2021,7 @@
return result;
}
-inline std::unique_ptr<ProgramNode> parseFunctionForFunctionConstructor(VM& vm, const SourceCode& source, ParserError& error, JSTextPosition* positionBeforeLastNewline, std::optional<int> functionConstructorParametersEndPosition)
+inline std::unique_ptr<ProgramNode> parseFunctionForFunctionConstructor(VM& vm, const SourceCode& source, ParserError& error, JSTextPosition* positionBeforeLastNewline, Optional<int> functionConstructorParametersEndPosition)
{
ASSERT(!source.provider()->source().isNull());
diff --git a/Source/JavaScriptCore/parser/SourceCodeKey.h b/Source/JavaScriptCore/parser/SourceCodeKey.h
index 655bc82..2b03aa5 100644
--- a/Source/JavaScriptCore/parser/SourceCodeKey.h
+++ b/Source/JavaScriptCore/parser/SourceCodeKey.h
@@ -78,7 +78,7 @@
SourceCodeKey(
const UnlinkedSourceCode& sourceCode, const String& name, SourceCodeType codeType, JSParserStrictMode strictMode,
JSParserScriptMode scriptMode, DerivedContextType derivedContextType, EvalContextType evalContextType, bool isArrowFunctionContext,
- DebuggerMode debuggerMode, TypeProfilerEnabled typeProfilerEnabled, ControlFlowProfilerEnabled controlFlowProfilerEnabled, std::optional<int> functionConstructorParametersEndPosition)
+ DebuggerMode debuggerMode, TypeProfilerEnabled typeProfilerEnabled, ControlFlowProfilerEnabled controlFlowProfilerEnabled, Optional<int> functionConstructorParametersEndPosition)
: m_sourceCode(sourceCode)
, m_name(name)
, m_flags(codeType, strictMode, scriptMode, derivedContextType, evalContextType, isArrowFunctionContext, debuggerMode, typeProfilerEnabled, controlFlowProfilerEnabled)
diff --git a/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp b/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp
index a4ad12c..1ba8b7e 100644
--- a/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp
+++ b/Source/JavaScriptCore/runtime/AbstractModuleRecord.cpp
@@ -98,20 +98,20 @@
ASSERT_UNUSED(isNewEntry, isNewEntry); // This is guaranteed by the parser.
}
-auto AbstractModuleRecord::tryGetImportEntry(UniquedStringImpl* localName) -> std::optional<ImportEntry>
+auto AbstractModuleRecord::tryGetImportEntry(UniquedStringImpl* localName) -> Optional<ImportEntry>
{
const auto iterator = m_importEntries.find(localName);
if (iterator == m_importEntries.end())
- return std::nullopt;
- return std::optional<ImportEntry>(iterator->value);
+ return WTF::nullopt;
+ return Optional<ImportEntry>(iterator->value);
}
-auto AbstractModuleRecord::tryGetExportEntry(UniquedStringImpl* exportName) -> std::optional<ExportEntry>
+auto AbstractModuleRecord::tryGetExportEntry(UniquedStringImpl* exportName) -> Optional<ExportEntry>
{
const auto iterator = m_exportEntries.find(exportName);
if (iterator == m_exportEntries.end())
- return std::nullopt;
- return std::optional<ExportEntry>(iterator->value);
+ return WTF::nullopt;
+ return Optional<ExportEntry>(iterator->value);
}
auto AbstractModuleRecord::ExportEntry::createLocal(const Identifier& exportName, const Identifier& localName) -> ExportEntry
@@ -154,7 +154,7 @@
VM& vm = exec->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
- std::optional<ImportEntry> optionalImportEntry = tryGetImportEntry(localName.impl());
+ Optional<ImportEntry> optionalImportEntry = tryGetImportEntry(localName.impl());
if (!optionalImportEntry)
return Resolution::notFound();
@@ -233,12 +233,12 @@
return lhs.moduleRecord == rhs.moduleRecord && lhs.exportName == rhs.exportName;
}
-auto AbstractModuleRecord::tryGetCachedResolution(UniquedStringImpl* exportName) -> std::optional<Resolution>
+auto AbstractModuleRecord::tryGetCachedResolution(UniquedStringImpl* exportName) -> Optional<Resolution>
{
const auto iterator = m_resolutionCache.find(exportName);
if (iterator == m_resolutionCache.end())
- return std::nullopt;
- return std::optional<Resolution>(iterator->value);
+ return WTF::nullopt;
+ return Optional<Resolution>(iterator->value);
}
void AbstractModuleRecord::cacheResolution(UniquedStringImpl* exportName, const Resolution& resolution)
@@ -595,14 +595,14 @@
// 4. Once we follow star links, we should not retrieve the result from the cache and should not cache the result.
if (!foundStarLinks) {
- if (std::optional<Resolution> cachedResolution = moduleRecord->tryGetCachedResolution(query.exportName.get())) {
+ if (Optional<Resolution> cachedResolution = moduleRecord->tryGetCachedResolution(query.exportName.get())) {
if (!mergeToCurrentTop(*cachedResolution))
return Resolution::ambiguous();
continue;
}
}
- const std::optional<ExportEntry> optionalExportEntry = moduleRecord->tryGetExportEntry(query.exportName.get());
+ const Optional<ExportEntry> optionalExportEntry = moduleRecord->tryGetExportEntry(query.exportName.get());
if (!optionalExportEntry) {
// If there is no matched exported binding in the current module,
// we need to look into the stars.
@@ -690,7 +690,7 @@
auto AbstractModuleRecord::resolveExport(ExecState* exec, const Identifier& exportName) -> Resolution
{
// Look up the cached resolution first before entering the resolving loop, since the loop setup takes some cost.
- if (std::optional<Resolution> cachedResolution = tryGetCachedResolution(exportName.impl()))
+ if (Optional<Resolution> cachedResolution = tryGetCachedResolution(exportName.impl()))
return *cachedResolution;
return resolveExportImpl(exec, ResolveQuery(this, exportName.impl()));
}
diff --git a/Source/JavaScriptCore/runtime/AbstractModuleRecord.h b/Source/JavaScriptCore/runtime/AbstractModuleRecord.h
index 5bb5b16..adeeb59 100644
--- a/Source/JavaScriptCore/runtime/AbstractModuleRecord.h
+++ b/Source/JavaScriptCore/runtime/AbstractModuleRecord.h
@@ -80,8 +80,8 @@
void addImportEntry(const ImportEntry&);
void addExportEntry(const ExportEntry&);
- std::optional<ImportEntry> tryGetImportEntry(UniquedStringImpl* localName);
- std::optional<ExportEntry> tryGetExportEntry(UniquedStringImpl* exportName);
+ Optional<ImportEntry> tryGetImportEntry(UniquedStringImpl* localName);
+ Optional<ExportEntry> tryGetExportEntry(UniquedStringImpl* exportName);
const Identifier& moduleKey() const { return m_moduleKey; }
const OrderedIdentifierSet& requestedModules() const { return m_requestedModules; }
@@ -136,7 +136,7 @@
private:
struct ResolveQuery;
static Resolution resolveExportImpl(ExecState*, const ResolveQuery&);
- std::optional<Resolution> tryGetCachedResolution(UniquedStringImpl* exportName);
+ Optional<Resolution> tryGetCachedResolution(UniquedStringImpl* exportName);
void cacheResolution(UniquedStringImpl* exportName, const Resolution&);
// The loader resolves the given module name to the module key. The module key is the unique value to represent this module.
diff --git a/Source/JavaScriptCore/runtime/CodeCache.cpp b/Source/JavaScriptCore/runtime/CodeCache.cpp
index faafb72..4601792 100644
--- a/Source/JavaScriptCore/runtime/CodeCache.cpp
+++ b/Source/JavaScriptCore/runtime/CodeCache.cpp
@@ -58,7 +58,7 @@
derivedContextType, evalContextType, isArrowFunctionContext, debuggerMode,
vm.typeProfiler() ? TypeProfilerEnabled::Yes : TypeProfilerEnabled::No,
vm.controlFlowProfiler() ? ControlFlowProfilerEnabled::Yes : ControlFlowProfilerEnabled::No,
- std::nullopt);
+ WTF::nullopt);
SourceCodeValue* cache = m_sourceCode.findCacheAndUpdateAge(key);
if (cache && Options::useCodeCache()) {
UnlinkedCodeBlockType* unlinkedCodeBlock = jsCast<UnlinkedCodeBlockType*>(cache->cell.get());
@@ -96,7 +96,7 @@
return getUnlinkedGlobalCodeBlock<UnlinkedModuleProgramCodeBlock>(vm, executable, source, JSParserStrictMode::Strict, JSParserScriptMode::Module, debuggerMode, error, EvalContextType::None);
}
-UnlinkedFunctionExecutable* CodeCache::getUnlinkedGlobalFunctionExecutable(VM& vm, const Identifier& name, const SourceCode& source, DebuggerMode debuggerMode, std::optional<int> functionConstructorParametersEndPosition, ParserError& error)
+UnlinkedFunctionExecutable* CodeCache::getUnlinkedGlobalFunctionExecutable(VM& vm, const Identifier& name, const SourceCode& source, DebuggerMode debuggerMode, Optional<int> functionConstructorParametersEndPosition, ParserError& error)
{
bool isArrowFunctionContext = false;
SourceCodeKey key(
diff --git a/Source/JavaScriptCore/runtime/CodeCache.h b/Source/JavaScriptCore/runtime/CodeCache.h
index 53e3fda..8a4419f96 100644
--- a/Source/JavaScriptCore/runtime/CodeCache.h
+++ b/Source/JavaScriptCore/runtime/CodeCache.h
@@ -194,7 +194,7 @@
UnlinkedProgramCodeBlock* getUnlinkedProgramCodeBlock(VM&, ProgramExecutable*, const SourceCode&, JSParserStrictMode, DebuggerMode, ParserError&);
UnlinkedEvalCodeBlock* getUnlinkedEvalCodeBlock(VM&, IndirectEvalExecutable*, const SourceCode&, JSParserStrictMode, DebuggerMode, ParserError&, EvalContextType);
UnlinkedModuleProgramCodeBlock* getUnlinkedModuleProgramCodeBlock(VM&, ModuleProgramExecutable*, const SourceCode&, DebuggerMode, ParserError&);
- UnlinkedFunctionExecutable* getUnlinkedGlobalFunctionExecutable(VM&, const Identifier&, const SourceCode&, DebuggerMode, std::optional<int> functionConstructorParametersEndPosition, ParserError&);
+ UnlinkedFunctionExecutable* getUnlinkedGlobalFunctionExecutable(VM&, const Identifier&, const SourceCode&, DebuggerMode, Optional<int> functionConstructorParametersEndPosition, ParserError&);
void clear() { m_sourceCode.clear(); }
diff --git a/Source/JavaScriptCore/runtime/ConcurrentJSLock.h b/Source/JavaScriptCore/runtime/ConcurrentJSLock.h
index cf59bc8..4c7c10b 100644
--- a/Source/JavaScriptCore/runtime/ConcurrentJSLock.h
+++ b/Source/JavaScriptCore/runtime/ConcurrentJSLock.h
@@ -120,7 +120,7 @@
ConcurrentJSLocker(NoLockingNecessaryTag)
: ConcurrentJSLockerBase(NoLockingNecessary)
#if ENABLE(CONCURRENT_JS) && !defined(NDEBUG)
- , m_disallowGC(std::nullopt)
+ , m_disallowGC(WTF::nullopt)
#endif
{
}
@@ -129,7 +129,7 @@
#if ENABLE(CONCURRENT_JS) && !defined(NDEBUG)
private:
- std::optional<DisallowGC> m_disallowGC;
+ Optional<DisallowGC> m_disallowGC;
#endif
};
diff --git a/Source/JavaScriptCore/runtime/DefinePropertyAttributes.h b/Source/JavaScriptCore/runtime/DefinePropertyAttributes.h
index d7e3b91..2d9ced7 100644
--- a/Source/JavaScriptCore/runtime/DefinePropertyAttributes.h
+++ b/Source/JavaScriptCore/runtime/DefinePropertyAttributes.h
@@ -99,10 +99,10 @@
return extractTriState(WritableShift) != MixedTriState;
}
- std::optional<bool> writable() const
+ Optional<bool> writable() const
{
if (!hasWritable())
- return std::nullopt;
+ return WTF::nullopt;
return extractTriState(WritableShift) == TrueTriState;
}
@@ -111,10 +111,10 @@
return extractTriState(ConfigurableShift) != MixedTriState;
}
- std::optional<bool> configurable() const
+ Optional<bool> configurable() const
{
if (!hasConfigurable())
- return std::nullopt;
+ return WTF::nullopt;
return extractTriState(ConfigurableShift) == TrueTriState;
}
@@ -123,10 +123,10 @@
return extractTriState(EnumerableShift) != MixedTriState;
}
- std::optional<bool> enumerable() const
+ Optional<bool> enumerable() const
{
if (!hasEnumerable())
- return std::nullopt;
+ return WTF::nullopt;
return extractTriState(EnumerableShift) == TrueTriState;
}
diff --git a/Source/JavaScriptCore/runtime/ErrorConstructor.h b/Source/JavaScriptCore/runtime/ErrorConstructor.h
index 4eebf68..857d319 100644
--- a/Source/JavaScriptCore/runtime/ErrorConstructor.h
+++ b/Source/JavaScriptCore/runtime/ErrorConstructor.h
@@ -51,7 +51,7 @@
return Structure::create(vm, globalObject, prototype, TypeInfo(InternalFunctionType, StructureFlags), info());
}
- std::optional<unsigned> stackTraceLimit() const { return m_stackTraceLimit; }
+ Optional<unsigned> stackTraceLimit() const { return m_stackTraceLimit; }
protected:
void finishCreation(VM&, ErrorPrototype*);
@@ -62,7 +62,7 @@
private:
ErrorConstructor(VM&, Structure*);
- std::optional<unsigned> m_stackTraceLimit;
+ Optional<unsigned> m_stackTraceLimit;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp b/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
index 7d3575f..1687749 100644
--- a/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
+++ b/Source/JavaScriptCore/runtime/FunctionConstructor.cpp
@@ -101,7 +101,7 @@
// How we stringify functions is sometimes important for web compatibility.
// See https://bugs.webkit.org/show_bug.cgi?id=24350.
String program;
- std::optional<int> functionConstructorParametersEndPosition = std::nullopt;
+ Optional<int> functionConstructorParametersEndPosition = WTF::nullopt;
if (args.isEmpty())
program = makeString(prefix, functionName.string(), "() {\n\n}");
else if (args.size() == 1) {
diff --git a/Source/JavaScriptCore/runtime/FunctionExecutable.cpp b/Source/JavaScriptCore/runtime/FunctionExecutable.cpp
index eed3c21..79780db 100644
--- a/Source/JavaScriptCore/runtime/FunctionExecutable.cpp
+++ b/Source/JavaScriptCore/runtime/FunctionExecutable.cpp
@@ -94,7 +94,7 @@
FunctionExecutable* FunctionExecutable::fromGlobalCode(
const Identifier& name, ExecState& exec, const SourceCode& source,
- JSObject*& exception, int overrideLineNumber, std::optional<int> functionConstructorParametersEndPosition)
+ JSObject*& exception, int overrideLineNumber, Optional<int> functionConstructorParametersEndPosition)
{
UnlinkedFunctionExecutable* unlinkedExecutable =
UnlinkedFunctionExecutable::fromGlobalCode(
diff --git a/Source/JavaScriptCore/runtime/FunctionExecutable.h b/Source/JavaScriptCore/runtime/FunctionExecutable.h
index 6ba85a1..1baaa85 100644
--- a/Source/JavaScriptCore/runtime/FunctionExecutable.h
+++ b/Source/JavaScriptCore/runtime/FunctionExecutable.h
@@ -55,7 +55,7 @@
}
static FunctionExecutable* fromGlobalCode(
const Identifier& name, ExecState&, const SourceCode&,
- JSObject*& exception, int overrideLineNumber, std::optional<int> functionConstructorParametersEndPosition);
+ JSObject*& exception, int overrideLineNumber, Optional<int> functionConstructorParametersEndPosition);
static void destroy(JSCell*);
diff --git a/Source/JavaScriptCore/runtime/GenericArgumentsInlines.h b/Source/JavaScriptCore/runtime/GenericArgumentsInlines.h
index 40dbc60..2be41fe 100644
--- a/Source/JavaScriptCore/runtime/GenericArgumentsInlines.h
+++ b/Source/JavaScriptCore/runtime/GenericArgumentsInlines.h
@@ -62,7 +62,7 @@
}
}
- if (std::optional<uint32_t> index = parseIndex(ident))
+ if (Optional<uint32_t> index = parseIndex(ident))
return GenericArguments<Type>::getOwnPropertySlotByIndex(thisObject, exec, *index, slot);
return Base::getOwnPropertySlot(thisObject, exec, ident, slot);
@@ -132,7 +132,7 @@
if (UNLIKELY(isThisValueAltered(slot, thisObject)))
return ordinarySetSlow(exec, thisObject, ident, value, slot.thisValue(), slot.isStrictMode());
- std::optional<uint32_t> index = parseIndex(ident);
+ Optional<uint32_t> index = parseIndex(ident);
if (index && thisObject->isMappedArgument(index.value())) {
thisObject->setIndexQuickly(vm, index.value(), value);
return true;
@@ -167,7 +167,7 @@
|| ident == vm.propertyNames->iteratorSymbol))
thisObject->overrideThings(vm);
- if (std::optional<uint32_t> index = parseIndex(ident))
+ if (Optional<uint32_t> index = parseIndex(ident))
return GenericArguments<Type>::deletePropertyByIndex(thisObject, exec, *index);
return Base::deleteProperty(thisObject, exec, ident);
@@ -208,7 +208,7 @@
|| ident == vm.propertyNames->iteratorSymbol)
thisObject->overrideThingsIfNecessary(vm);
else {
- std::optional<uint32_t> optionalIndex = parseIndex(ident);
+ Optional<uint32_t> optionalIndex = parseIndex(ident);
if (optionalIndex) {
uint32_t index = optionalIndex.value();
if (!descriptor.isAccessorDescriptor() && thisObject->isMappedArgument(optionalIndex.value())) {
diff --git a/Source/JavaScriptCore/runtime/HasOwnPropertyCache.h b/Source/JavaScriptCore/runtime/HasOwnPropertyCache.h
index 0612eb7..b0b719b 100644
--- a/Source/JavaScriptCore/runtime/HasOwnPropertyCache.h
+++ b/Source/JavaScriptCore/runtime/HasOwnPropertyCache.h
@@ -68,7 +68,7 @@
return bitwise_cast<uint32_t>(structureID) + impl->hash();
}
- ALWAYS_INLINE std::optional<bool> get(Structure* structure, PropertyName propName)
+ ALWAYS_INLINE Optional<bool> get(Structure* structure, PropertyName propName)
{
UniquedStringImpl* impl = propName.uid();
StructureID id = structure->id();
@@ -76,7 +76,7 @@
Entry& entry = bitwise_cast<Entry*>(this)[index];
if (entry.structureID == id && entry.impl.get() == impl)
return entry.result;
- return std::nullopt;
+ return WTF::nullopt;
}
ALWAYS_INLINE void tryAdd(VM& vm, PropertySlot& slot, JSObject* object, PropertyName propName, bool result)
diff --git a/Source/JavaScriptCore/runtime/HashMapImpl.h b/Source/JavaScriptCore/runtime/HashMapImpl.h
index 692a5f9..4e87c89 100644
--- a/Source/JavaScriptCore/runtime/HashMapImpl.h
+++ b/Source/JavaScriptCore/runtime/HashMapImpl.h
@@ -284,16 +284,16 @@
return wangsInt64Hash(JSValue::encode(value));
}
-ALWAYS_INLINE std::optional<uint32_t> concurrentJSMapHash(JSValue key)
+ALWAYS_INLINE Optional<uint32_t> concurrentJSMapHash(JSValue key)
{
key = normalizeMapKey(key);
if (key.isString()) {
JSString* string = asString(key);
if (string->length() > 10 * 1024)
- return std::nullopt;
+ return WTF::nullopt;
const StringImpl* impl = string->tryGetValueImpl();
if (!impl)
- return std::nullopt;
+ return WTF::nullopt;
return impl->concurrentHash();
}
diff --git a/Source/JavaScriptCore/runtime/Identifier.h b/Source/JavaScriptCore/runtime/Identifier.h
index 1a308ae..54e8463 100644
--- a/Source/JavaScriptCore/runtime/Identifier.h
+++ b/Source/JavaScriptCore/runtime/Identifier.h
@@ -37,46 +37,46 @@
}
template <typename CharType>
-ALWAYS_INLINE std::optional<uint32_t> parseIndex(const CharType* characters, unsigned length)
+ALWAYS_INLINE Optional<uint32_t> parseIndex(const CharType* characters, unsigned length)
{
// An empty string is not a number.
if (!length)
- return std::nullopt;
+ return WTF::nullopt;
// Get the first character, turning it into a digit.
uint32_t value = characters[0] - '0';
if (value > 9)
- return std::nullopt;
+ return WTF::nullopt;
// Check for leading zeros. If the first characher is 0, then the
// length of the string must be one - e.g. "042" is not equal to "42".
if (!value && length > 1)
- return std::nullopt;
+ return WTF::nullopt;
while (--length) {
// Multiply value by 10, checking for overflow out of 32 bits.
if (value > 0xFFFFFFFFU / 10)
- return std::nullopt;
+ return WTF::nullopt;
value *= 10;
// Get the next character, turning it into a digit.
uint32_t newValue = *(++characters) - '0';
if (newValue > 9)
- return std::nullopt;
+ return WTF::nullopt;
// Add in the old value, checking for overflow out of 32 bits.
newValue += value;
if (newValue < value)
- return std::nullopt;
+ return WTF::nullopt;
value = newValue;
}
if (!isIndex(value))
- return std::nullopt;
+ return WTF::nullopt;
return value;
}
-ALWAYS_INLINE std::optional<uint32_t> parseIndex(StringImpl& impl)
+ALWAYS_INLINE Optional<uint32_t> parseIndex(StringImpl& impl)
{
if (impl.is8Bit())
return parseIndex(impl.characters8(), impl.length());
@@ -272,13 +272,13 @@
return WTF::equal(r, s, length);
}
-ALWAYS_INLINE std::optional<uint32_t> parseIndex(const Identifier& identifier)
+ALWAYS_INLINE Optional<uint32_t> parseIndex(const Identifier& identifier)
{
auto uid = identifier.impl();
if (!uid)
- return std::nullopt;
+ return WTF::nullopt;
if (uid->isSymbol())
- return std::nullopt;
+ return WTF::nullopt;
return parseIndex(*uid);
}
diff --git a/Source/JavaScriptCore/runtime/IntlPluralRules.h b/Source/JavaScriptCore/runtime/IntlPluralRules.h
index 2d17ef0..68f54f9 100644
--- a/Source/JavaScriptCore/runtime/IntlPluralRules.h
+++ b/Source/JavaScriptCore/runtime/IntlPluralRules.h
@@ -76,8 +76,8 @@
unsigned m_minimumIntegerDigits { 1 };
unsigned m_minimumFractionDigits { 0 };
unsigned m_maximumFractionDigits { 3 };
- std::optional<unsigned> m_minimumSignificantDigits;
- std::optional<unsigned> m_maximumSignificantDigits;
+ Optional<unsigned> m_minimumSignificantDigits;
+ Optional<unsigned> m_maximumSignificantDigits;
};
} // namespace JSC
diff --git a/Source/JavaScriptCore/runtime/JSArray.cpp b/Source/JavaScriptCore/runtime/JSArray.cpp
index ded02aea..547c1b5 100644
--- a/Source/JavaScriptCore/runtime/JSArray.cpp
+++ b/Source/JavaScriptCore/runtime/JSArray.cpp
@@ -241,7 +241,7 @@
// 4. Else if P is an array index (15.4), then
// a. Let index be ToUint32(P).
- if (std::optional<uint32_t> optionalIndex = parseIndex(propertyName)) {
+ if (Optional<uint32_t> optionalIndex = parseIndex(propertyName)) {
// b. Reject if index >= oldLen and oldLenDesc.[[Writable]] is false.
uint32_t index = optionalIndex.value();
// FIXME: Nothing prevents this from being called on a RuntimeArray, and the length function will always return 0 in that case.
diff --git a/Source/JavaScriptCore/runtime/JSBigInt.cpp b/Source/JavaScriptCore/runtime/JSBigInt.cpp
index afe3cfd..ca53163 100644
--- a/Source/JavaScriptCore/runtime/JSBigInt.cpp
+++ b/Source/JavaScriptCore/runtime/JSBigInt.cpp
@@ -188,7 +188,7 @@
return const_cast<JSBigInt*>(this);
}
-std::optional<uint8_t> JSBigInt::singleDigitValueForString()
+Optional<uint8_t> JSBigInt::singleDigitValueForString()
{
if (isZero())
return 0;
@@ -1961,16 +1961,16 @@
return ComparisonResult::Equal;
}
-std::optional<JSBigInt::Digit> JSBigInt::toShiftAmount(JSBigInt* x)
+Optional<JSBigInt::Digit> JSBigInt::toShiftAmount(JSBigInt* x)
{
if (x->length() > 1)
- return std::nullopt;
+ return WTF::nullopt;
Digit value = x->digit(0);
static_assert(maxLengthBits < std::numeric_limits<Digit>::max(), "maxLengthBits needs to be less than digit");
if (value > maxLengthBits)
- return std::nullopt;
+ return WTF::nullopt;
return value;
}
diff --git a/Source/JavaScriptCore/runtime/JSBigInt.h b/Source/JavaScriptCore/runtime/JSBigInt.h
index 8e14ca5..2b3bf93 100644
--- a/Source/JavaScriptCore/runtime/JSBigInt.h
+++ b/Source/JavaScriptCore/runtime/JSBigInt.h
@@ -85,7 +85,7 @@
static JSBigInt* parseInt(ExecState*, StringView, ErrorParseMode = ErrorParseMode::ThrowExceptions);
static JSBigInt* stringToBigInt(ExecState*, StringView);
- std::optional<uint8_t> singleDigitValueForString();
+ Optional<uint8_t> singleDigitValueForString();
String toString(ExecState*, unsigned radix);
enum class ComparisonMode {
@@ -225,7 +225,7 @@
static JSBigInt* rightShiftByMaximum(VM&, bool sign);
- static std::optional<Digit> toShiftAmount(JSBigInt* x);
+ static Optional<Digit> toShiftAmount(JSBigInt* x);
static size_t allocationSize(unsigned length);
static size_t offsetOfData();
diff --git a/Source/JavaScriptCore/runtime/JSCJSValue.cpp b/Source/JavaScriptCore/runtime/JSCJSValue.cpp
index 1361579..d471e16 100644
--- a/Source/JavaScriptCore/runtime/JSCJSValue.cpp
+++ b/Source/JavaScriptCore/runtime/JSCJSValue.cpp
@@ -76,10 +76,10 @@
return isUndefined() ? PNaN : 0; // null and false both convert to 0.
}
-std::optional<double> JSValue::toNumberFromPrimitive() const
+Optional<double> JSValue::toNumberFromPrimitive() const
{
if (isEmpty())
- return std::nullopt;
+ return WTF::nullopt;
if (isNumber())
return asNumber();
if (isBoolean())
@@ -88,7 +88,7 @@
return PNaN;
if (isNull())
return 0;
- return std::nullopt;
+ return WTF::nullopt;
}
JSObject* JSValue::toObjectSlowCase(ExecState* exec, JSGlobalObject* globalObject) const
@@ -152,7 +152,7 @@
VM& vm = exec->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
RELEASE_AND_RETURN(scope, putToPrimitiveByIndex(exec, index.value(), value, slot.isStrictMode()));
// Check if there are any setters or getters in the prototype chain
diff --git a/Source/JavaScriptCore/runtime/JSCJSValue.h b/Source/JavaScriptCore/runtime/JSCJSValue.h
index 582530d..1957528 100644
--- a/Source/JavaScriptCore/runtime/JSCJSValue.h
+++ b/Source/JavaScriptCore/runtime/JSCJSValue.h
@@ -262,7 +262,7 @@
Variant<JSBigInt*, int32_t> toBigIntOrInt32(ExecState*) const;
// toNumber conversion if it can be done without side effects.
- std::optional<double> toNumberFromPrimitive() const;
+ Optional<double> toNumberFromPrimitive() const;
JSString* toString(ExecState*) const; // On exception, this returns the empty string.
JSString* toStringOrNull(ExecState*) const; // On exception, this returns null, to make exception checks faster.
diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h b/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
index 8642035..d256313 100644
--- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
+++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayView.h
@@ -189,7 +189,7 @@
static ElementType toAdaptorNativeFromValue(ExecState* exec, JSValue jsValue) { return toNativeFromValue<Adaptor>(exec, jsValue); }
- static std::optional<ElementType> toAdaptorNativeFromValueWithoutCoercion(JSValue jsValue) { return toNativeFromValueWithoutCoercion<Adaptor>(jsValue); }
+ static Optional<ElementType> toAdaptorNativeFromValueWithoutCoercion(JSValue jsValue) { return toNativeFromValueWithoutCoercion<Adaptor>(jsValue); }
void sort()
{
diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h
index 85a764a..f0acc03 100644
--- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h
+++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewConstructorInlines.h
@@ -114,7 +114,7 @@
}
template<typename ViewClass>
-inline JSObject* constructGenericTypedArrayViewWithArguments(ExecState* exec, Structure* structure, EncodedJSValue firstArgument, unsigned offset, std::optional<unsigned> lengthOpt)
+inline JSObject* constructGenericTypedArrayViewWithArguments(ExecState* exec, Structure* structure, EncodedJSValue firstArgument, unsigned offset, Optional<unsigned> lengthOpt)
{
VM& vm = exec->vm();
auto scope = DECLARE_THROW_SCOPE(vm);
@@ -223,7 +223,7 @@
JSValue firstValue = exec->uncheckedArgument(0);
unsigned offset = 0;
- std::optional<unsigned> length = std::nullopt;
+ Optional<unsigned> length = WTF::nullopt;
if (jsDynamicCast<JSArrayBuffer*>(vm, firstValue) && argCount > 1) {
offset = exec->uncheckedArgument(1).toIndex(exec, "byteOffset");
RETURN_IF_EXCEPTION(scope, encodedJSValue());
diff --git a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h
index 2e56ce1..f3c0d39 100644
--- a/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h
+++ b/Source/JavaScriptCore/runtime/JSGenericTypedArrayViewInlines.h
@@ -344,7 +344,7 @@
{
JSGenericTypedArrayView* thisObject = jsCast<JSGenericTypedArrayView*>(object);
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
if (thisObject->isNeutered()) {
slot.setCustom(thisObject, static_cast<unsigned>(PropertyAttribute::None), throwNeuteredTypedArrayTypeError);
return true;
@@ -372,7 +372,7 @@
// https://tc39.github.io/ecma262/#sec-integer-indexed-exotic-objects-set-p-v-receiver
// Ignore the receiver even if the receiver is altered to non base value.
// 9.4.5.5-2-b-i Return ? IntegerIndexedElementSet(O, numericIndex, V).
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return putByIndex(thisObject, exec, index.value(), value, slot.isStrictMode());
return Base::put(thisObject, exec, propertyName, value, slot);
@@ -387,7 +387,7 @@
auto scope = DECLARE_THROW_SCOPE(vm);
JSGenericTypedArrayView* thisObject = jsCast<JSGenericTypedArrayView*>(object);
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
auto throwTypeErrorIfNeeded = [&] (const char* errorMessage) -> bool {
if (shouldThrow)
throwTypeError(exec, scope, makeString(errorMessage, String::number(*index)));
diff --git a/Source/JavaScriptCore/runtime/JSLock.h b/Source/JavaScriptCore/runtime/JSLock.h
index c0b82e6..5277f02 100644
--- a/Source/JavaScriptCore/runtime/JSLock.h
+++ b/Source/JavaScriptCore/runtime/JSLock.h
@@ -92,11 +92,11 @@
VM* vm() { return m_vm; }
- std::optional<RefPtr<Thread>> ownerThread() const
+ Optional<RefPtr<Thread>> ownerThread() const
{
if (m_hasOwnerThread)
return m_ownerThread;
- return std::nullopt;
+ return WTF::nullopt;
}
bool currentThreadIsHoldingLock() { return m_hasOwnerThread && m_ownerThread.get() == &Thread::current(); }
diff --git a/Source/JavaScriptCore/runtime/JSObject.cpp b/Source/JavaScriptCore/runtime/JSObject.cpp
index 20fcd40..e803afc 100644
--- a/Source/JavaScriptCore/runtime/JSObject.cpp
+++ b/Source/JavaScriptCore/runtime/JSObject.cpp
@@ -1854,7 +1854,7 @@
{
ASSERT(attributes & PropertyAttribute::Accessor);
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return putDirectIndex(exec, index.value(), accessor, attributes, PutDirectIndexLikePutDirect);
return putDirectNonIndexAccessor(exec->vm(), propertyName, accessor, attributes);
@@ -1926,7 +1926,7 @@
JSObject* thisObject = jsCast<JSObject*>(cell);
VM& vm = exec->vm();
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return thisObject->methodTable(vm)->deletePropertyByIndex(thisObject, exec, index.value());
unsigned attributes;
@@ -2168,7 +2168,7 @@
return false;
}
-auto JSObject::findPropertyHashEntry(VM& vm, PropertyName propertyName) const -> std::optional<PropertyHashEntry>
+auto JSObject::findPropertyHashEntry(VM& vm, PropertyName propertyName) const -> Optional<PropertyHashEntry>
{
for (const ClassInfo* info = classInfo(vm); info; info = info->parentClass) {
if (const HashTable* propHashTable = info->staticPropHashTable) {
@@ -2176,7 +2176,7 @@
return PropertyHashEntry { propHashTable, entry };
}
}
- return std::nullopt;
+ return WTF::nullopt;
}
bool JSObject::hasInstance(ExecState* exec, JSValue value, JSValue hasInstanceValue)
@@ -3475,7 +3475,7 @@
bool JSObject::putDirectMayBeIndex(ExecState* exec, PropertyName propertyName, JSValue value)
{
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return putDirectIndex(exec, index.value(), value);
return putDirect(exec->vm(), propertyName, value);
}
@@ -3641,7 +3641,7 @@
bool JSObject::defineOwnProperty(JSObject* object, ExecState* exec, PropertyName propertyName, const PropertyDescriptor& descriptor, bool throwException)
{
// If it's an array index, then use the indexed property storage.
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
// c. Let succeeded be the result of calling the default [[DefineOwnProperty]] internal method (8.12.9) on A passing P, Desc, and false as arguments.
// d. Reject if succeeded is false.
// e. If index >= oldLen
diff --git a/Source/JavaScriptCore/runtime/JSObject.h b/Source/JavaScriptCore/runtime/JSObject.h
index a634ae1..192db5e 100644
--- a/Source/JavaScriptCore/runtime/JSObject.h
+++ b/Source/JavaScriptCore/runtime/JSObject.h
@@ -1046,7 +1046,7 @@
const HashTable* table;
const HashTableValue* value;
};
- std::optional<PropertyHashEntry> findPropertyHashEntry(VM&, PropertyName) const;
+ Optional<PropertyHashEntry> findPropertyHashEntry(VM&, PropertyName) const;
bool putByIndexBeyondVectorLength(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
bool putDirectIndexBeyondVectorLengthWithArrayStorage(ExecState*, unsigned propertyName, JSValue, unsigned attributes, PutDirectIndexMode, ArrayStorage*);
@@ -1399,7 +1399,7 @@
Structure* structure = object->structure(vm);
if (object->getOwnNonIndexPropertySlot(vm, structure, propertyName, slot))
return true;
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return getOwnPropertySlotByIndex(object, exec, index.value(), slot);
return false;
}
@@ -1418,7 +1418,7 @@
// getOwnNonIndexPropertySlot), so we cannot safely call the overridden getOwnPropertySlot
// (lest we return a property from a prototype that is shadowed). Check now for an index,
// if so we need to start afresh from this object.
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return getPropertySlot(exec, index.value(), slot);
// Safe to continue searching from current position; call getNonIndexPropertySlot to avoid
// parsing the int again.
@@ -1440,7 +1440,7 @@
object = asObject(prototype);
}
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return getPropertySlot(exec, index.value(), slot);
return false;
}
@@ -1489,7 +1489,7 @@
ASSERT(!structure(vm)->hasGetterSetterProperties());
ASSERT(!structure(vm)->hasCustomGetterSetterProperties());
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
return putDirectIndex(exec, index.value(), value, 0, PutDirectIndexLikePutDirect);
return putDirectInternal<PutModePut>(vm, propertyName, value, 0, slot);
diff --git a/Source/JavaScriptCore/runtime/JSObjectInlines.h b/Source/JavaScriptCore/runtime/JSObjectInlines.h
index 7222283..d302efe 100644
--- a/Source/JavaScriptCore/runtime/JSObjectInlines.h
+++ b/Source/JavaScriptCore/runtime/JSObjectInlines.h
@@ -232,7 +232,7 @@
// Try indexed put first. This is required for correctness, since loads on property names that appear like
// valid indices will never look in the named property storage.
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
RELEASE_AND_RETURN(scope, putByIndex(thisObject, exec, index.value(), value, slot.isStrictMode()));
if (thisObject->canPerformFastPutInline(vm, propertyName)) {
diff --git a/Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp b/Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp
index a56e462..2a78af8 100644
--- a/Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp
+++ b/Source/JavaScriptCore/runtime/JSRunLoopTimer.cpp
@@ -255,7 +255,7 @@
#endif
}
-std::optional<Seconds> JSRunLoopTimer::Manager::timeUntilFire(JSRunLoopTimer& timer)
+Optional<Seconds> JSRunLoopTimer::Manager::timeUntilFire(JSRunLoopTimer& timer)
{
auto locker = holdLock(m_lock);
auto iter = m_mapping.find(timer.m_apiLock);
@@ -269,7 +269,7 @@
}
}
- return std::nullopt;
+ return WTF::nullopt;
}
#if USE(CF)
@@ -316,7 +316,7 @@
{
}
-std::optional<Seconds> JSRunLoopTimer::timeUntilFire()
+Optional<Seconds> JSRunLoopTimer::timeUntilFire()
{
return Manager::shared().timeUntilFire(*this);
}
diff --git a/Source/JavaScriptCore/runtime/JSRunLoopTimer.h b/Source/JavaScriptCore/runtime/JSRunLoopTimer.h
index 6651672..b9a2f43 100644
--- a/Source/JavaScriptCore/runtime/JSRunLoopTimer.h
+++ b/Source/JavaScriptCore/runtime/JSRunLoopTimer.h
@@ -65,7 +65,7 @@
void scheduleTimer(JSRunLoopTimer&, Seconds nextFireTime);
void cancelTimer(JSRunLoopTimer&);
- std::optional<Seconds> timeUntilFire(JSRunLoopTimer&);
+ Optional<Seconds> timeUntilFire(JSRunLoopTimer&);
#if USE(CF)
void didChangeRunLoop(VM&, CFRunLoopRef newRunLoop);
@@ -116,7 +116,7 @@
JS_EXPORT_PRIVATE void addTimerSetNotification(TimerNotificationCallback);
JS_EXPORT_PRIVATE void removeTimerSetNotification(TimerNotificationCallback);
- JS_EXPORT_PRIVATE std::optional<Seconds> timeUntilFire();
+ JS_EXPORT_PRIVATE Optional<Seconds> timeUntilFire();
protected:
static const Seconds s_decade;
diff --git a/Source/JavaScriptCore/runtime/JSString.cpp b/Source/JavaScriptCore/runtime/JSString.cpp
index 0303cbd..d95e25c 100644
--- a/Source/JavaScriptCore/runtime/JSString.cpp
+++ b/Source/JavaScriptCore/runtime/JSString.cpp
@@ -444,7 +444,7 @@
return true;
}
- std::optional<uint32_t> index = parseIndex(propertyName);
+ Optional<uint32_t> index = parseIndex(propertyName);
if (index && index.value() < length()) {
descriptor.setDescriptor(getIndex(exec, index.value()), PropertyAttribute::DontDelete | PropertyAttribute::ReadOnly);
return true;
diff --git a/Source/JavaScriptCore/runtime/JSString.h b/Source/JavaScriptCore/runtime/JSString.h
index e0c04de..57d7f90 100644
--- a/Source/JavaScriptCore/runtime/JSString.h
+++ b/Source/JavaScriptCore/runtime/JSString.h
@@ -694,7 +694,7 @@
return true;
}
- std::optional<uint32_t> index = parseIndex(propertyName);
+ Optional<uint32_t> index = parseIndex(propertyName);
if (index && index.value() < length()) {
JSValue value = getIndex(exec, index.value());
RETURN_IF_EXCEPTION(scope, false);
diff --git a/Source/JavaScriptCore/runtime/LiteralParser.cpp b/Source/JavaScriptCore/runtime/LiteralParser.cpp
index 20c8c9b..84939b5 100644
--- a/Source/JavaScriptCore/runtime/LiteralParser.cpp
+++ b/Source/JavaScriptCore/runtime/LiteralParser.cpp
@@ -935,7 +935,7 @@
PutPropertySlot slot(object, codeBlock ? codeBlock->isStrictMode() : false);
objectStack.last().put(m_exec, ident, lastValue, slot);
} else {
- if (std::optional<uint32_t> index = parseIndex(ident))
+ if (Optional<uint32_t> index = parseIndex(ident))
object->putDirectIndex(m_exec, index.value(), lastValue);
else
object->putDirect(vm, ident, lastValue);
diff --git a/Source/JavaScriptCore/runtime/MachineContext.h b/Source/JavaScriptCore/runtime/MachineContext.h
index 46f1554..823964c 100644
--- a/Source/JavaScriptCore/runtime/MachineContext.h
+++ b/Source/JavaScriptCore/runtime/MachineContext.h
@@ -45,7 +45,7 @@
template<typename T = void*> void setFramePointer(PlatformRegisters&, T);
inline MacroAssemblerCodePtr<PlatformRegistersLRPtrTag> linkRegister(const PlatformRegisters&);
inline void setLinkRegister(PlatformRegisters&, MacroAssemblerCodePtr<CFunctionPtrTag>);
-inline std::optional<MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>> instructionPointer(const PlatformRegisters&);
+inline Optional<MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>> instructionPointer(const PlatformRegisters&);
inline void setInstructionPointer(PlatformRegisters&, MacroAssemblerCodePtr<CFunctionPtrTag>);
template<size_t N> void*& argumentPointer(PlatformRegisters&);
@@ -432,7 +432,7 @@
}
#endif // !USE(PLATFORM_REGISTERS_WITH_PROFILE)
-inline std::optional<MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>> instructionPointer(const PlatformRegisters& regs)
+inline Optional<MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>> instructionPointer(const PlatformRegisters& regs)
{
#if USE(PLATFORM_REGISTERS_WITH_PROFILE)
void* value = WTF_READ_PLATFORM_REGISTERS_PC_WITH_PROFILE(regs);
@@ -445,7 +445,7 @@
return MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>(value);
if (isTaggedWith(value, PlatformRegistersPCPtrTag))
return MacroAssemblerCodePtr<PlatformRegistersPCPtrTag>(value);
- return std::nullopt;
+ return WTF::nullopt;
}
inline void setInstructionPointer(PlatformRegisters& regs, MacroAssemblerCodePtr<CFunctionPtrTag> value)
diff --git a/Source/JavaScriptCore/runtime/MathCommon.h b/Source/JavaScriptCore/runtime/MathCommon.h
index eda3fa5..5a0aebe 100644
--- a/Source/JavaScriptCore/runtime/MathCommon.h
+++ b/Source/JavaScriptCore/runtime/MathCommon.h
@@ -156,15 +156,15 @@
return toInt32(number);
}
-inline std::optional<double> safeReciprocalForDivByConst(double constant)
+inline Optional<double> safeReciprocalForDivByConst(double constant)
{
// No "weird" numbers (NaN, Denormal, etc).
if (!constant || !std::isnormal(constant))
- return std::nullopt;
+ return WTF::nullopt;
int exponent;
if (std::frexp(constant, &exponent) != 0.5)
- return std::nullopt;
+ return WTF::nullopt;
// Note that frexp() returns the value divided by two
// so we to offset this exponent by one.
@@ -173,7 +173,7 @@
// A double exponent is between -1022 and 1023.
// Nothing we can do to invert 1023.
if (exponent == 1023)
- return std::nullopt;
+ return WTF::nullopt;
double reciprocal = std::ldexp(1, -exponent);
ASSERT(std::isnormal(reciprocal));
diff --git a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
index 275b56f..1bd8930 100644
--- a/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
+++ b/Source/JavaScriptCore/runtime/ObjectPrototype.cpp
@@ -103,7 +103,7 @@
Structure* structure = thisObject->structure(vm);
HasOwnPropertyCache* hasOwnPropertyCache = vm.ensureHasOwnPropertyCache();
- if (std::optional<bool> result = hasOwnPropertyCache->get(structure, propertyName)) {
+ if (Optional<bool> result = hasOwnPropertyCache->get(structure, propertyName)) {
ASSERT(*result == thisObject->hasOwnProperty(exec, propertyName));
scope.assertNoException();
return JSValue::encode(jsBoolean(*result));
diff --git a/Source/JavaScriptCore/runtime/PropertyDescriptor.h b/Source/JavaScriptCore/runtime/PropertyDescriptor.h
index aeeae53..d7b2bfb 100644
--- a/Source/JavaScriptCore/runtime/PropertyDescriptor.h
+++ b/Source/JavaScriptCore/runtime/PropertyDescriptor.h
@@ -98,16 +98,16 @@
// We assume that validation is already done.
PropertyDescriptor desc;
- if (std::optional<bool> enumerable = attributes.enumerable())
+ if (Optional<bool> enumerable = attributes.enumerable())
desc.setEnumerable(enumerable.value());
- if (std::optional<bool> configurable = attributes.configurable())
+ if (Optional<bool> configurable = attributes.configurable())
desc.setConfigurable(configurable.value());
if (attributes.hasValue())
desc.setValue(value);
- if (std::optional<bool> writable = attributes.writable())
+ if (Optional<bool> writable = attributes.writable())
desc.setWritable(writable.value());
if (attributes.hasGet())
diff --git a/Source/JavaScriptCore/runtime/PropertyName.h b/Source/JavaScriptCore/runtime/PropertyName.h
index a4740ced..c035fa6 100644
--- a/Source/JavaScriptCore/runtime/PropertyName.h
+++ b/Source/JavaScriptCore/runtime/PropertyName.h
@@ -120,13 +120,13 @@
return a.uid() != b.uid();
}
-ALWAYS_INLINE std::optional<uint32_t> parseIndex(PropertyName propertyName)
+ALWAYS_INLINE Optional<uint32_t> parseIndex(PropertyName propertyName)
{
auto uid = propertyName.uid();
if (!uid)
- return std::nullopt;
+ return WTF::nullopt;
if (uid->isSymbol())
- return std::nullopt;
+ return WTF::nullopt;
return parseIndex(*uid);
}
diff --git a/Source/JavaScriptCore/runtime/PropertySlot.h b/Source/JavaScriptCore/runtime/PropertySlot.h
index e0e6904..e196923 100644
--- a/Source/JavaScriptCore/runtime/PropertySlot.h
+++ b/Source/JavaScriptCore/runtime/PropertySlot.h
@@ -187,11 +187,11 @@
return m_watchpointSet;
}
- std::optional<DOMAttributeAnnotation> domAttribute() const
+ Optional<DOMAttributeAnnotation> domAttribute() const
{
if (m_additionalDataType == AdditionalDataType::DOMAttribute)
return m_additionalData.domAttribute;
- return std::nullopt;
+ return WTF::nullopt;
}
struct ModuleNamespaceSlot {
@@ -199,11 +199,11 @@
unsigned scopeOffset;
};
- std::optional<ModuleNamespaceSlot> moduleNamespaceSlot() const
+ Optional<ModuleNamespaceSlot> moduleNamespaceSlot() const
{
if (m_additionalDataType == AdditionalDataType::ModuleNamespace)
return m_additionalData.moduleNamespaceSlot;
- return std::nullopt;
+ return WTF::nullopt;
}
void setValue(JSObject* slotBase, unsigned attributes, JSValue value)
diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp
index 1752633..f4b07d9 100644
--- a/Source/JavaScriptCore/runtime/SamplingProfiler.cpp
+++ b/Source/JavaScriptCore/runtime/SamplingProfiler.cpp
@@ -606,7 +606,7 @@
}
} else {
#if ENABLE(JIT)
- if (std::optional<CodeOrigin> codeOrigin = topCodeBlock->findPC(unprocessedStackTrace.topPC)) {
+ if (Optional<CodeOrigin> codeOrigin = topCodeBlock->findPC(unprocessedStackTrace.topPC)) {
appendCodeOrigin(topCodeBlock, *codeOrigin);
storeCalleeIntoLastFrame(unprocessedStackTrace.frames[0].unverifiedCallee);
startIndex = 1;
@@ -1045,7 +1045,7 @@
StackFrame& frame = stackTrace.frames.first();
String frameDescription = makeString(frame.displayName(m_vm), descriptionForLocation(frame.semanticLocation));
- if (std::optional<std::pair<StackFrame::CodeLocation, CodeBlock*>> machineLocation = frame.machineLocation) {
+ if (Optional<std::pair<StackFrame::CodeLocation, CodeBlock*>> machineLocation = frame.machineLocation) {
frameDescription = makeString(frameDescription, " <-- ",
machineLocation->second->inferredName().data(), descriptionForLocation(machineLocation->first));
}
diff --git a/Source/JavaScriptCore/runtime/SamplingProfiler.h b/Source/JavaScriptCore/runtime/SamplingProfiler.h
index 32a1b48..c79ae75 100644
--- a/Source/JavaScriptCore/runtime/SamplingProfiler.h
+++ b/Source/JavaScriptCore/runtime/SamplingProfiler.h
@@ -112,7 +112,7 @@
};
CodeLocation semanticLocation;
- std::optional<std::pair<CodeLocation, CodeBlock*>> machineLocation; // This is non-null if we were inlined. It represents the machine frame we were inlined into.
+ Optional<std::pair<CodeLocation, CodeBlock*>> machineLocation; // This is non-null if we were inlined. It represents the machine frame we were inlined into.
bool hasExpressionInfo() const { return semanticLocation.hasExpressionInfo(); }
unsigned lineNumber() const
diff --git a/Source/JavaScriptCore/runtime/StringObject.cpp b/Source/JavaScriptCore/runtime/StringObject.cpp
index 234ef89..980c072 100644
--- a/Source/JavaScriptCore/runtime/StringObject.cpp
+++ b/Source/JavaScriptCore/runtime/StringObject.cpp
@@ -72,7 +72,7 @@
if (propertyName == vm.propertyNames->length)
return typeError(exec, scope, slot.isStrictMode(), ReadonlyPropertyWriteError);
- if (std::optional<uint32_t> index = parseIndex(propertyName))
+ if (Optional<uint32_t> index = parseIndex(propertyName))
RELEASE_AND_RETURN(scope, putByIndex(cell, exec, index.value(), value, slot.isStrictMode()));
RELEASE_AND_RETURN(scope, JSObject::put(cell, exec, propertyName, value, slot));
}
@@ -93,7 +93,7 @@
VM& vm = exec->vm();
if (propertyName == vm.propertyNames->length)
return true;
- if (std::optional<uint32_t> index = parseIndex(propertyName)) {
+ if (Optional<uint32_t> index = parseIndex(propertyName)) {
if (object->internalValue()->canGetIndex(index.value()))
return true;
}
@@ -130,7 +130,7 @@
StringObject* thisObject = jsCast<StringObject*>(cell);
if (propertyName == vm.propertyNames->length)
return false;
- std::optional<uint32_t> index = parseIndex(propertyName);
+ Optional<uint32_t> index = parseIndex(propertyName);
if (index && thisObject->internalValue()->canGetIndex(index.value()))
return false;
return JSObject::deleteProperty(thisObject, exec, propertyName);
diff --git a/Source/JavaScriptCore/runtime/TemplateObjectDescriptor.h b/Source/JavaScriptCore/runtime/TemplateObjectDescriptor.h
index bbe92ed..1ef8e5a 100644
--- a/Source/JavaScriptCore/runtime/TemplateObjectDescriptor.h
+++ b/Source/JavaScriptCore/runtime/TemplateObjectDescriptor.h
@@ -37,7 +37,7 @@
class TemplateObjectDescriptor : public RefCounted<TemplateObjectDescriptor> {
public:
typedef Vector<String, 4> StringVector;
- typedef Vector<std::optional<String>, 4> OptionalStringVector;
+ typedef Vector<Optional<String>, 4> OptionalStringVector;
enum DeletedValueTag { DeletedValue };
TemplateObjectDescriptor(DeletedValueTag);
diff --git a/Source/JavaScriptCore/runtime/ToNativeFromValue.h b/Source/JavaScriptCore/runtime/ToNativeFromValue.h
index fd61843..5e971cb 100644
--- a/Source/JavaScriptCore/runtime/ToNativeFromValue.h
+++ b/Source/JavaScriptCore/runtime/ToNativeFromValue.h
@@ -48,10 +48,10 @@
}
template<typename Adaptor>
-std::optional<typename Adaptor::Type> toNativeFromValueWithoutCoercion(JSValue value)
+Optional<typename Adaptor::Type> toNativeFromValueWithoutCoercion(JSValue value)
{
if (!value.isNumber())
- return std::nullopt;
+ return WTF::nullopt;
if (value.isInt32())
return Adaptor::toNativeFromInt32WithoutCoercion(value.asInt32());
return Adaptor::toNativeFromDoubleWithoutCoercion(value.asDouble());
diff --git a/Source/JavaScriptCore/runtime/TypedArrayAdaptors.h b/Source/JavaScriptCore/runtime/TypedArrayAdaptors.h
index 0af71f4..06f4d9e 100644
--- a/Source/JavaScriptCore/runtime/TypedArrayAdaptors.h
+++ b/Source/JavaScriptCore/runtime/TypedArrayAdaptors.h
@@ -79,26 +79,26 @@
return OtherAdaptor::toNativeFromInt32(value);
}
- static std::optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
+ static Optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
{
if ((value >= 0 && static_cast<uint32_t>(value) > static_cast<uint32_t>(maxValue)) || value < static_cast<int32_t>(minValue))
- return std::nullopt;
+ return WTF::nullopt;
return static_cast<Type>(value);
}
- static std::optional<Type> toNativeFromUint32WithoutCoercion(uint32_t value)
+ static Optional<Type> toNativeFromUint32WithoutCoercion(uint32_t value)
{
if (value > static_cast<uint32_t>(maxValue))
- return std::nullopt;
+ return WTF::nullopt;
return static_cast<Type>(value);
}
- static std::optional<Type> toNativeFromDoubleWithoutCoercion(double value)
+ static Optional<Type> toNativeFromDoubleWithoutCoercion(double value)
{
Type integer = static_cast<Type>(value);
if (static_cast<double>(integer) != value)
- return std::nullopt;
+ return WTF::nullopt;
if (value < 0)
return toNativeFromInt32WithoutCoercion(static_cast<int32_t>(value));
@@ -149,12 +149,12 @@
return OtherAdaptor::toNativeFromDouble(value);
}
- static std::optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
+ static Optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
{
return static_cast<Type>(value);
}
- static std::optional<Type> toNativeFromDoubleWithoutCoercion(double value)
+ static Optional<Type> toNativeFromDoubleWithoutCoercion(double value)
{
if (std::isnan(value) || std::isinf(value))
return static_cast<Type>(value);
@@ -162,10 +162,10 @@
Type valueResult = static_cast<Type>(value);
if (static_cast<double>(valueResult) != value)
- return std::nullopt;
+ return WTF::nullopt;
if (value < minValue || value > maxValue)
- return std::nullopt;
+ return WTF::nullopt;
return valueResult;
}
@@ -255,19 +255,19 @@
return OtherAdaptor::toNativeFromInt32(value);
}
- static std::optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
+ static Optional<Type> toNativeFromInt32WithoutCoercion(int32_t value)
{
if (value > maxValue || value < minValue)
- return std::nullopt;
+ return WTF::nullopt;
return static_cast<Type>(value);
}
- static std::optional<Type> toNativeFromDoubleWithoutCoercion(double value)
+ static Optional<Type> toNativeFromDoubleWithoutCoercion(double value)
{
uint8_t integer = static_cast<uint8_t>(value);
if (static_cast<double>(integer) != value)
- return std::nullopt;
+ return WTF::nullopt;
return integer;
}
diff --git a/Source/JavaScriptCore/runtime/VM.h b/Source/JavaScriptCore/runtime/VM.h
index 8ae7d96..f42c74d 100644
--- a/Source/JavaScriptCore/runtime/VM.h
+++ b/Source/JavaScriptCore/runtime/VM.h
@@ -874,7 +874,7 @@
template<typename Func>
void logEvent(CodeBlock*, const char* summary, const Func& func);
- std::optional<RefPtr<Thread>> ownerThread() const { return m_apiLock->ownerThread(); }
+ Optional<RefPtr<Thread>> ownerThread() const { return m_apiLock->ownerThread(); }
VMTraps& traps() { return m_traps; }
diff --git a/Source/JavaScriptCore/runtime/VMTraps.cpp b/Source/JavaScriptCore/runtime/VMTraps.cpp
index 7ffc586..e66866c 100644
--- a/Source/JavaScriptCore/runtime/VMTraps.cpp
+++ b/Source/JavaScriptCore/runtime/VMTraps.cpp
@@ -64,11 +64,11 @@
{ }
public:
- static std::optional<SignalContext> tryCreate(PlatformRegisters& registers)
+ static Optional<SignalContext> tryCreate(PlatformRegisters& registers)
{
auto instructionPointer = MachineContext::instructionPointer(registers);
if (!instructionPointer)
- return std::nullopt;
+ return WTF::nullopt;
return SignalContext(registers, *instructionPointer);
}
diff --git a/Source/JavaScriptCore/tools/JSDollarVM.cpp b/Source/JavaScriptCore/tools/JSDollarVM.cpp
index a6eb1c2..53c5c46 100644
--- a/Source/JavaScriptCore/tools/JSDollarVM.cpp
+++ b/Source/JavaScriptCore/tools/JSDollarVM.cpp
@@ -445,7 +445,7 @@
return true;
}
- std::optional<uint32_t> index = parseIndex(propertyName);
+ Optional<uint32_t> index = parseIndex(propertyName);
if (index && index.value() < thisObject->getLength()) {
slot.setValue(thisObject, PropertyAttribute::DontDelete | PropertyAttribute::DontEnum, jsNumber(thisObject->m_vector[index.value()]));
return true;
diff --git a/Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp b/Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp
index 4165ea4..5a9d99a 100644
--- a/Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp
+++ b/Source/JavaScriptCore/tools/SigillCrashAnalyzer.cpp
@@ -87,11 +87,11 @@
{ }
public:
- static std::optional<SignalContext> tryCreate(PlatformRegisters& registers)
+ static Optional<SignalContext> tryCreate(PlatformRegisters& registers)
{
auto instructionPointer = MachineContext::instructionPointer(registers);
if (!instructionPointer)
- return std::nullopt;
+ return WTF::nullopt;
return SignalContext(registers, *instructionPointer);
}
diff --git a/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp b/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
index 86c3a8f..73ec8bd 100644
--- a/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
+++ b/Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
@@ -227,7 +227,7 @@
void dump(const Vector<ControlEntry>& controlStack, const ExpressionList* expressionStack);
void setParser(FunctionParser<B3IRGenerator>* parser) { m_parser = parser; };
- Value* constant(B3::Type, uint64_t bits, std::optional<Origin> = std::nullopt);
+ Value* constant(B3::Type, uint64_t bits, Optional<Origin> = WTF::nullopt);
void insertConstants();
private:
@@ -503,7 +503,7 @@
});
}
-Value* B3IRGenerator::constant(B3::Type type, uint64_t bits, std::optional<Origin> maybeOrigin)
+Value* B3IRGenerator::constant(B3::Type type, uint64_t bits, Optional<Origin> maybeOrigin)
{
auto result = m_constantPool.ensure(ValueKey(opcodeForConstant(type), type, static_cast<int64_t>(bits)), [&] {
Value* result = m_proc.addConstant(maybeOrigin ? *maybeOrigin : origin(), type, bits);
diff --git a/Source/JavaScriptCore/wasm/WasmBBQPlan.cpp b/Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
index 22a65c3..1351d45 100644
--- a/Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
+++ b/Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
@@ -239,7 +239,7 @@
if (!hasWork())
return;
- std::optional<TraceScope> traceScope;
+ Optional<TraceScope> traceScope;
if (Options::useTracePoints())
traceScope.emplace(WebAssemblyCompileStart, WebAssemblyCompileEnd);
ThreadCountHolder holder(*this);
diff --git a/Source/JavaScriptCore/wasm/WasmFormat.h b/Source/JavaScriptCore/wasm/WasmFormat.h
index 4632394..fc69ee5 100644
--- a/Source/JavaScriptCore/wasm/WasmFormat.h
+++ b/Source/JavaScriptCore/wasm/WasmFormat.h
@@ -212,7 +212,7 @@
ASSERT(!*this);
}
- TableInformation(uint32_t initial, std::optional<uint32_t> maximum, bool isImport)
+ TableInformation(uint32_t initial, Optional<uint32_t> maximum, bool isImport)
: m_initial(initial)
, m_maximum(maximum)
, m_isImport(isImport)
@@ -224,11 +224,11 @@
explicit operator bool() const { return m_isValid; }
bool isImport() const { return m_isImport; }
uint32_t initial() const { return m_initial; }
- std::optional<uint32_t> maximum() const { return m_maximum; }
+ Optional<uint32_t> maximum() const { return m_maximum; }
private:
uint32_t m_initial;
- std::optional<uint32_t> m_maximum;
+ Optional<uint32_t> m_maximum;
bool m_isImport { false };
bool m_isValid { false };
};
diff --git a/Source/JavaScriptCore/wasm/WasmModuleInformation.h b/Source/JavaScriptCore/wasm/WasmModuleInformation.h
index aa7bfc0..ad5eb95 100644
--- a/Source/JavaScriptCore/wasm/WasmModuleInformation.h
+++ b/Source/JavaScriptCore/wasm/WasmModuleInformation.h
@@ -76,7 +76,7 @@
Vector<FunctionData> functions;
Vector<Export> exports;
- std::optional<uint32_t> startFunctionIndexSpace;
+ Optional<uint32_t> startFunctionIndexSpace;
Vector<Segment::Ptr> data;
Vector<Element> elements;
TableInformation tableInformation;
diff --git a/Source/JavaScriptCore/wasm/WasmNameSection.h b/Source/JavaScriptCore/wasm/WasmNameSection.h
index fe63cf5..bc2ebdf 100644
--- a/Source/JavaScriptCore/wasm/WasmNameSection.h
+++ b/Source/JavaScriptCore/wasm/WasmNameSection.h
@@ -39,7 +39,7 @@
public:
NameSection()
{
- setHash(std::nullopt);
+ setHash(WTF::nullopt);
}
static Ref<NameSection> create()
@@ -47,7 +47,7 @@
return adoptRef(*new NameSection);
}
- void setHash(const std::optional<CString> &hash)
+ void setHash(const Optional<CString> &hash)
{
moduleHash = Name(hash ? hash->length() : 3);
if (hash) {
diff --git a/Source/JavaScriptCore/wasm/WasmSectionParser.cpp b/Source/JavaScriptCore/wasm/WasmSectionParser.cpp
index ae8725d..a3c41f8 100644
--- a/Source/JavaScriptCore/wasm/WasmSectionParser.cpp
+++ b/Source/JavaScriptCore/wasm/WasmSectionParser.cpp
@@ -171,7 +171,7 @@
return { };
}
-auto SectionParser::parseResizableLimits(uint32_t& initial, std::optional<uint32_t>& maximum) -> PartialResult
+auto SectionParser::parseResizableLimits(uint32_t& initial, Optional<uint32_t>& maximum) -> PartialResult
{
ASSERT(!maximum);
@@ -198,7 +198,7 @@
WASM_PARSER_FAIL_IF(type != Wasm::Anyfunc, "Table type should be anyfunc, got ", type);
uint32_t initial;
- std::optional<uint32_t> maximum;
+ Optional<uint32_t> maximum;
PartialResult limits = parseResizableLimits(initial, maximum);
if (UNLIKELY(!limits))
return makeUnexpected(WTFMove(limits.error()));
@@ -236,7 +236,7 @@
PageCount maximumPageCount;
{
uint32_t initial;
- std::optional<uint32_t> maximum;
+ Optional<uint32_t> maximum;
PartialResult limits = parseResizableLimits(initial, maximum);
if (UNLIKELY(!limits))
return makeUnexpected(WTFMove(limits.error()));
diff --git a/Source/JavaScriptCore/wasm/WasmSectionParser.h b/Source/JavaScriptCore/wasm/WasmSectionParser.h
index 78d0283..2c1318a 100644
--- a/Source/JavaScriptCore/wasm/WasmSectionParser.h
+++ b/Source/JavaScriptCore/wasm/WasmSectionParser.h
@@ -62,7 +62,7 @@
PartialResult WARN_UNUSED_RETURN parseGlobalType(Global&);
PartialResult WARN_UNUSED_RETURN parseMemoryHelper(bool isImport);
PartialResult WARN_UNUSED_RETURN parseTableHelper(bool isImport);
- PartialResult WARN_UNUSED_RETURN parseResizableLimits(uint32_t& initial, std::optional<uint32_t>& maximum);
+ PartialResult WARN_UNUSED_RETURN parseResizableLimits(uint32_t& initial, Optional<uint32_t>& maximum);
PartialResult WARN_UNUSED_RETURN parseInitExpr(uint8_t&, uint64_t&, Type& initExprType);
size_t m_offsetInSource;
diff --git a/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp b/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
index 9f37260..8c69c73 100644
--- a/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
+++ b/Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
@@ -47,14 +47,14 @@
} \
} while (0)
-ALWAYS_INLINE std::optional<uint8_t> parseUInt7(const uint8_t* data, size_t& offset, size_t size)
+ALWAYS_INLINE Optional<uint8_t> parseUInt7(const uint8_t* data, size_t& offset, size_t size)
{
if (offset >= size)
return false;
uint8_t result = data[offset++];
if (result < 0x80)
return result;
- return std::nullopt;
+ return WTF::nullopt;
}
template <typename ...Args>
@@ -173,7 +173,7 @@
return State::SectionID;
}
-auto StreamingParser::consume(const uint8_t* bytes, size_t bytesSize, size_t& offsetInBytes, size_t requiredSize) -> std::optional<Vector<uint8_t>>
+auto StreamingParser::consume(const uint8_t* bytes, size_t bytesSize, size_t& offsetInBytes, size_t requiredSize) -> Optional<Vector<uint8_t>>
{
if (m_remaining.size() == requiredSize) {
Vector<uint8_t> result = WTFMove(m_remaining);
@@ -195,7 +195,7 @@
if (totalDataSize < requiredSize) {
m_remaining.append(bytes + offsetInBytes, bytesRemainingSize);
offsetInBytes = bytesSize;
- return std::nullopt;
+ return WTF::nullopt;
}
size_t usedSize = requiredSize - m_remaining.size();
diff --git a/Source/JavaScriptCore/wasm/WasmStreamingParser.h b/Source/JavaScriptCore/wasm/WasmStreamingParser.h
index 1fbb6b2..8bd5e97 100644
--- a/Source/JavaScriptCore/wasm/WasmStreamingParser.h
+++ b/Source/JavaScriptCore/wasm/WasmStreamingParser.h
@@ -91,7 +91,7 @@
State parseFunctionSize(uint32_t);
State parseFunctionPayload(Vector<uint8_t>&&);
- std::optional<Vector<uint8_t>> consume(const uint8_t* bytes, size_t, size_t&, size_t);
+ Optional<Vector<uint8_t>> consume(const uint8_t* bytes, size_t, size_t&, size_t);
Expected<uint32_t, State> consumeVarUInt32(const uint8_t* bytes, size_t, size_t&, IsEndOfStream);
template <typename ...Args> NEVER_INLINE State WARN_UNUSED_RETURN fail(Args...);
diff --git a/Source/JavaScriptCore/wasm/WasmTable.cpp b/Source/JavaScriptCore/wasm/WasmTable.cpp
index ebb6325..e5c608c 100644
--- a/Source/JavaScriptCore/wasm/WasmTable.cpp
+++ b/Source/JavaScriptCore/wasm/WasmTable.cpp
@@ -47,7 +47,7 @@
ASSERT(m_mask == WTF::maskForSize(allocatedLength(length)));
}
-RefPtr<Table> Table::tryCreate(uint32_t initial, std::optional<uint32_t> maximum)
+RefPtr<Table> Table::tryCreate(uint32_t initial, Optional<uint32_t> maximum)
{
if (!isValidLength(initial))
return nullptr;
@@ -58,7 +58,7 @@
{
}
-Table::Table(uint32_t initial, std::optional<uint32_t> maximum)
+Table::Table(uint32_t initial, Optional<uint32_t> maximum)
{
setLength(initial);
m_maximum = maximum;
@@ -76,7 +76,7 @@
}
}
-std::optional<uint32_t> Table::grow(uint32_t delta)
+Optional<uint32_t> Table::grow(uint32_t delta)
{
if (delta == 0)
return length();
@@ -86,12 +86,12 @@
newLengthChecked += delta;
uint32_t newLength;
if (newLengthChecked.safeGet(newLength) == CheckedState::DidOverflow)
- return std::nullopt;
+ return WTF::nullopt;
if (maximum() && newLength > *maximum())
- return std::nullopt;
+ return WTF::nullopt;
if (!isValidLength(newLength))
- return std::nullopt;
+ return WTF::nullopt;
auto checkedGrow = [&] (auto& container) {
if (newLengthChecked.unsafeGet() > allocatedLength(m_length)) {
@@ -109,9 +109,9 @@
};
if (!checkedGrow(m_importableFunctions))
- return std::nullopt;
+ return WTF::nullopt;
if (!checkedGrow(m_instances))
- return std::nullopt;
+ return WTF::nullopt;
setLength(newLength);
diff --git a/Source/JavaScriptCore/wasm/WasmTable.h b/Source/JavaScriptCore/wasm/WasmTable.h
index 2f5483c..7e30041 100644
--- a/Source/JavaScriptCore/wasm/WasmTable.h
+++ b/Source/JavaScriptCore/wasm/WasmTable.h
@@ -40,13 +40,13 @@
class Table : public ThreadSafeRefCounted<Table> {
public:
- static RefPtr<Table> tryCreate(uint32_t initial, std::optional<uint32_t> maximum);
+ static RefPtr<Table> tryCreate(uint32_t initial, Optional<uint32_t> maximum);
JS_EXPORT_PRIVATE ~Table();
- std::optional<uint32_t> maximum() const { return m_maximum; }
+ Optional<uint32_t> maximum() const { return m_maximum; }
uint32_t length() const { return m_length; }
- std::optional<uint32_t> grow(uint32_t delta) WARN_UNUSED_RETURN;
+ Optional<uint32_t> grow(uint32_t delta) WARN_UNUSED_RETURN;
void clearFunction(uint32_t);
void setFunction(uint32_t, WasmToWasmImportableFunction, Instance*);
@@ -60,7 +60,7 @@
static bool isValidLength(uint32_t length) { return length < maxTableEntries; }
private:
- Table(uint32_t initial, std::optional<uint32_t> maximum);
+ Table(uint32_t initial, Optional<uint32_t> maximum);
void setLength(uint32_t);
@@ -69,7 +69,7 @@
MallocPtr<Instance*> m_instances;
uint32_t m_length;
uint32_t m_mask;
- std::optional<uint32_t> m_maximum;
+ Optional<uint32_t> m_maximum;
};
} } // namespace JSC::Wasm
diff --git a/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h b/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h
index ad70a1f..604119f 100644
--- a/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h
+++ b/Source/JavaScriptCore/wasm/js/JSWebAssemblyTable.h
@@ -49,7 +49,7 @@
DECLARE_INFO;
static bool isValidLength(uint32_t length) { return Wasm::Table::isValidLength(length); }
- std::optional<uint32_t> maximum() const { return m_table->maximum(); }
+ Optional<uint32_t> maximum() const { return m_table->maximum(); }
uint32_t length() const { return m_table->length(); }
uint32_t allocatedLength() const { return m_table->allocatedLength(length()); }
bool grow(uint32_t delta) WARN_UNUSED_RETURN;
diff --git a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp b/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
index 0f24369..50b999b 100644
--- a/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
+++ b/Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
@@ -62,7 +62,7 @@
// Make sure that the memory we think we are going to run with matches the one we expect.
ASSERT(wasmFunction->instance()->instance().codeBlock()->isSafeToRun(wasmFunction->instance()->memory()->memory().mode()));
- std::optional<TraceScope> traceScope;
+ Optional<TraceScope> traceScope;
if (Options::useTracePoints())
traceScope.emplace(WebAssemblyExecuteStart, WebAssemblyExecuteEnd);
diff --git a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp b/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
index ec3c497..c5708bc 100644
--- a/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
+++ b/Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
@@ -269,8 +269,8 @@
if (actualInitial < expectedInitial)
return exception(createJSWebAssemblyLinkError(exec, vm, importFailMessage(import, "Table import", "provided an 'initial' that is too small")));
- if (std::optional<uint32_t> expectedMaximum = moduleInformation.tableInformation.maximum()) {
- std::optional<uint32_t> actualMaximum = table->maximum();
+ if (Optional<uint32_t> expectedMaximum = moduleInformation.tableInformation.maximum()) {
+ Optional<uint32_t> actualMaximum = table->maximum();
if (!actualMaximum)
return exception(createJSWebAssemblyLinkError(exec, vm, importFailMessage(import, "Table import", "does not have a 'maximum' but the module requires that it does")));
if (*actualMaximum > *expectedMaximum)
@@ -449,7 +449,7 @@
const Vector<Wasm::Segment::Ptr>& data = moduleInformation.data;
- std::optional<JSValue> exception;
+ Optional<JSValue> exception;
auto forEachElement = [&] (auto fn) {
for (const Wasm::Element& element : moduleInformation.elements) {
diff --git a/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp b/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp
index 5a69520..9746c49 100644
--- a/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp
+++ b/Source/JavaScriptCore/wasm/js/WebAssemblyTableConstructor.cpp
@@ -74,7 +74,7 @@
uint32_t initial = toNonWrappingUint32(exec, initialSizeValue);
RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
- std::optional<uint32_t> maximum;
+ Optional<uint32_t> maximum;
Identifier maximumIdent = Identifier::fromString(&vm, "maximum");
bool hasProperty = memoryDescriptor->hasProperty(exec, maximumIdent);
RETURN_IF_EXCEPTION(throwScope, encodedJSValue());
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.cpp b/Source/JavaScriptCore/yarr/YarrJIT.cpp
index f477587..be71e4c 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.cpp
+++ b/Source/JavaScriptCore/yarr/YarrJIT.cpp
@@ -4140,7 +4140,7 @@
// Used to detect regular expression constructs that are not currently
// supported in the JIT; fall back to the interpreter when this is detected.
- std::optional<JITFailureReason> m_failureReason;
+ Optional<JITFailureReason> m_failureReason;
bool m_decodeSurrogatePairs;
bool m_unicodeIgnoreCase;
diff --git a/Source/JavaScriptCore/yarr/YarrJIT.h b/Source/JavaScriptCore/yarr/YarrJIT.h
index e1f5ae0..89091a8 100644
--- a/Source/JavaScriptCore/yarr/YarrJIT.h
+++ b/Source/JavaScriptCore/yarr/YarrJIT.h
@@ -83,7 +83,7 @@
YarrCodeBlock() = default;
void setFallBackWithFailureReason(JITFailureReason failureReason) { m_failureReason = failureReason; }
- std::optional<JITFailureReason> failureReason() { return m_failureReason; }
+ Optional<JITFailureReason> failureReason() { return m_failureReason; }
bool has8BitCode() { return m_ref8.size(); }
bool has16BitCode() { return m_ref16.size(); }
@@ -193,7 +193,7 @@
m_ref16 = MacroAssemblerCodeRef<Yarr16BitPtrTag>();
m_matchOnly8 = MacroAssemblerCodeRef<YarrMatchOnly8BitPtrTag>();
m_matchOnly16 = MacroAssemblerCodeRef<YarrMatchOnly16BitPtrTag>();
- m_failureReason = std::nullopt;
+ m_failureReason = WTF::nullopt;
}
private:
@@ -204,7 +204,7 @@
#if ENABLE(YARR_JIT_ALL_PARENS_EXPRESSIONS)
bool m_usesPatternContextBuffer;
#endif
- std::optional<JITFailureReason> m_failureReason;
+ Optional<JITFailureReason> m_failureReason;
};
enum YarrJITCompileMode {
diff --git a/Source/JavaScriptCore/yarr/YarrParser.h b/Source/JavaScriptCore/yarr/YarrParser.h
index 8e0fd83..b0e96cd 100644
--- a/Source/JavaScriptCore/yarr/YarrParser.h
+++ b/Source/JavaScriptCore/yarr/YarrParser.h
@@ -1022,10 +1022,10 @@
return n;
}
- std::optional<String> tryConsumeGroupName()
+ Optional<String> tryConsumeGroupName()
{
if (atEndOfPattern())
- return std::nullopt;
+ return WTF::nullopt;
ParseState state = saveState();
@@ -1038,7 +1038,7 @@
while (!atEndOfPattern()) {
ch = tryConsumeIdentifierCharacter();
if (ch == '>')
- return std::optional<String>(identifierBuilder.toString());
+ return Optional<String>(identifierBuilder.toString());
if (!isIdentifierPart(ch))
break;
@@ -1049,14 +1049,14 @@
restoreState(state);
- return std::nullopt;
+ return WTF::nullopt;
}
- std::optional<BuiltInCharacterClassID> tryConsumeUnicodePropertyExpression()
+ Optional<BuiltInCharacterClassID> tryConsumeUnicodePropertyExpression()
{
if (atEndOfPattern() || !isUnicodePropertyValueExpressionChar(peek())) {
m_errorCode = ErrorCode::InvalidUnicodePropertyExpression;
- return std::nullopt;
+ return WTF::nullopt;
}
StringBuilder expressionBuilder;
@@ -1072,7 +1072,7 @@
consume();
if (errors) {
m_errorCode = ErrorCode::InvalidUnicodePropertyExpression;
- return std::nullopt;
+ return WTF::nullopt;
}
if (foundEquals) {
@@ -1103,7 +1103,7 @@
}
m_errorCode = ErrorCode::InvalidUnicodePropertyExpression;
- return std::nullopt;
+ return WTF::nullopt;
}
Delegate& m_delegate;
@@ -1141,7 +1141,7 @@
* void atomCharacterClassRange(UChar32 begin, UChar32 end)
* void atomCharacterClassBuiltIn(BuiltInCharacterClassID classID, bool invert)
* void atomCharacterClassEnd()
- * void atomParenthesesSubpatternBegin(bool capture = true, std::optional<String> groupName);
+ * void atomParenthesesSubpatternBegin(bool capture = true, Optional<String> groupName);
* void atomParentheticalAssertionBegin(bool invert = false);
* void atomParenthesesEnd();
* void atomBackReference(unsigned subpatternId);
diff --git a/Source/JavaScriptCore/yarr/YarrPattern.cpp b/Source/JavaScriptCore/yarr/YarrPattern.cpp
index 482587c..733fb2c 100644
--- a/Source/JavaScriptCore/yarr/YarrPattern.cpp
+++ b/Source/JavaScriptCore/yarr/YarrPattern.cpp
@@ -590,7 +590,7 @@
m_pattern.m_userCharacterClasses.append(WTFMove(newCharacterClass));
}
- void atomParenthesesSubpatternBegin(bool capture = true, std::optional<String> optGroupName = std::nullopt)
+ void atomParenthesesSubpatternBegin(bool capture = true, Optional<String> optGroupName = WTF::nullopt)
{
unsigned subpatternId = m_pattern.m_numSubpatterns + 1;
if (capture) {
diff --git a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
index 358cc94..0e0f635 100644
--- a/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
+++ b/Source/JavaScriptCore/yarr/YarrSyntaxChecker.cpp
@@ -44,7 +44,7 @@
void atomCharacterClassRange(UChar, UChar) {}
void atomCharacterClassBuiltIn(BuiltInCharacterClassID, bool) {}
void atomCharacterClassEnd() {}
- void atomParenthesesSubpatternBegin(bool = true, std::optional<String> = std::nullopt) {}
+ void atomParenthesesSubpatternBegin(bool = true, Optional<String> = WTF::nullopt) {}
void atomParentheticalAssertionBegin(bool = false) {}
void atomParenthesesEnd() {}
void atomBackReference(unsigned) {}
diff --git a/Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp b/Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp
index c0792fa..b50ba03 100644
--- a/Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp
+++ b/Source/JavaScriptCore/yarr/YarrUnicodeProperties.cpp
@@ -72,7 +72,7 @@
#include "UnicodePatternTables.h"
-std::optional<BuiltInCharacterClassID> unicodeMatchPropertyValue(WTF::String unicodePropertyName, WTF::String unicodePropertyValue)
+Optional<BuiltInCharacterClassID> unicodeMatchPropertyValue(WTF::String unicodePropertyName, WTF::String unicodePropertyValue)
{
int propertyIndex = -1;
@@ -84,12 +84,12 @@
propertyIndex = generalCategoryHashTable.entry(unicodePropertyValue);
if (propertyIndex == -1)
- return std::nullopt;
+ return WTF::nullopt;
- return std::optional<BuiltInCharacterClassID>(static_cast<BuiltInCharacterClassID>(static_cast<int>(BuiltInCharacterClassID::BaseUnicodePropertyID) + propertyIndex));
+ return Optional<BuiltInCharacterClassID>(static_cast<BuiltInCharacterClassID>(static_cast<int>(BuiltInCharacterClassID::BaseUnicodePropertyID) + propertyIndex));
}
-std::optional<BuiltInCharacterClassID> unicodeMatchProperty(WTF::String unicodePropertyValue)
+Optional<BuiltInCharacterClassID> unicodeMatchProperty(WTF::String unicodePropertyValue)
{
int propertyIndex = -1;
@@ -98,9 +98,9 @@
propertyIndex = generalCategoryHashTable.entry(unicodePropertyValue);
if (propertyIndex == -1)
- return std::nullopt;
+ return WTF::nullopt;
- return std::optional<BuiltInCharacterClassID>(static_cast<BuiltInCharacterClassID>(static_cast<int>(BuiltInCharacterClassID::BaseUnicodePropertyID) + propertyIndex));
+ return Optional<BuiltInCharacterClassID>(static_cast<BuiltInCharacterClassID>(static_cast<int>(BuiltInCharacterClassID::BaseUnicodePropertyID) + propertyIndex));
}
std::unique_ptr<CharacterClass> createUnicodeCharacterClassFor(BuiltInCharacterClassID unicodeClassID)
diff --git a/Source/JavaScriptCore/yarr/YarrUnicodeProperties.h b/Source/JavaScriptCore/yarr/YarrUnicodeProperties.h
index 20f6739..1923356 100644
--- a/Source/JavaScriptCore/yarr/YarrUnicodeProperties.h
+++ b/Source/JavaScriptCore/yarr/YarrUnicodeProperties.h
@@ -33,8 +33,8 @@
struct CharacterClass;
-JS_EXPORT_PRIVATE std::optional<BuiltInCharacterClassID> unicodeMatchPropertyValue(WTF::String, WTF::String);
-JS_EXPORT_PRIVATE std::optional<BuiltInCharacterClassID> unicodeMatchProperty(WTF::String);
+JS_EXPORT_PRIVATE Optional<BuiltInCharacterClassID> unicodeMatchPropertyValue(WTF::String, WTF::String);
+JS_EXPORT_PRIVATE Optional<BuiltInCharacterClassID> unicodeMatchProperty(WTF::String);
std::unique_ptr<CharacterClass> createUnicodeCharacterClassFor(BuiltInCharacterClassID);