|
|
@@ -836,6 +836,7 @@ bool WScriptJsrt::Initialize()
|
|
|
IfFalseGo(WScriptJsrt::InstallObjectsOnObject(wscript, "RequestAsyncBreak", RequestAsyncBreakCallback));
|
|
|
IfFalseGo(WScriptJsrt::InstallObjectsOnObject(wscript, "LoadBinaryFile", LoadBinaryFileCallback));
|
|
|
IfFalseGo(WScriptJsrt::InstallObjectsOnObject(wscript, "LoadTextFile", LoadTextFileCallback));
|
|
|
+ IfFalseGo(WScriptJsrt::InstallObjectsOnObject(wscript, "Flag", FlagCallback));
|
|
|
|
|
|
// ToDo Remove
|
|
|
IfFalseGo(WScriptJsrt::InstallObjectsOnObject(wscript, "Edit", EmptyCallback));
|
|
|
@@ -1027,6 +1028,25 @@ Error:
|
|
|
return returnValue;
|
|
|
}
|
|
|
|
|
|
+JsValueRef __stdcall WScriptJsrt::FlagCallback(JsValueRef callee, bool isConstructCall, JsValueRef *arguments, unsigned short argumentCount, void *callbackState)
|
|
|
+{
|
|
|
+ HRESULT hr = E_FAIL;
|
|
|
+ JsValueRef returnValue = JS_INVALID_REFERENCE;
|
|
|
+ JsErrorCode errorCode = JsNoError;
|
|
|
+
|
|
|
+ IfJsrtErrorSetGo(ChakraRTInterface::JsGetUndefinedValue(&returnValue));
|
|
|
+ if (argumentCount > 1)
|
|
|
+ {
|
|
|
+ AutoString cmd;
|
|
|
+ IfJsrtErrorSetGo(cmd.Initialize(arguments[1]));
|
|
|
+ char16* argv[] = { nullptr, cmd.GetWideString() };
|
|
|
+ ChakraRTInterface::SetConfigFlags(2, argv, nullptr);
|
|
|
+ }
|
|
|
+
|
|
|
+Error:
|
|
|
+ return returnValue;
|
|
|
+}
|
|
|
+
|
|
|
bool WScriptJsrt::PrintException(LPCSTR fileName, JsErrorCode jsErrorCode)
|
|
|
{
|
|
|
LPCWSTR errorTypeString = ConvertErrorCodeToMessage(jsErrorCode);
|