Making CompiledSourceError a C enum, to keep `JSBase.h` as a C header

Reviewed By: javache

Differential Revision: D4299281

fbshipit-source-id: 14cdc6d4502a70300919dc6a98a5f274076134c7
This commit is contained in:
Ashok Menon 2016-12-08 16:23:35 -08:00 committed by Facebook Github Bot
parent 1642b38abe
commit 30213757d9
1 changed files with 15 additions and 13 deletions

View File

@ -382,24 +382,26 @@ void JSCExecutor::loadApplicationScript(
JSCompiledSourceError jsError;
auto bcSourceCode = JSCreateCompiledSourceCode(fd, jsSourceURL, &jsError);
if (jsError == JSCompiledSourceErrorOnRead ||
jsError == JSCompiledSourceErrorNotCompiled) {
switch (jsError) {
case JSCompiledSourceErrorOnRead:
case JSCompiledSourceErrorNotCompiled:
// Not bytecode, fall through.
return JSExecutor::loadApplicationScript(fd, sourceURL);
} else if (jsError == JSCompiledSourceErrorVersionMismatch) {
case JSCompiledSourceErrorVersionMismatch:
throw std::runtime_error("Compiled Source Version Mismatch");
case JSCompiledSourceErrorNone:
folly::throwOnFail<std::runtime_error>(
bcSourceCode != nullptr,
"Unexpected error opening compiled bundle"
);
break;
default:
throw std::runtime_error("Unhandled Compiled Source Error");
}
folly::throwOnFail<std::runtime_error>(
jsError == JSCompiledSourceErrorNone,
"Unhandled Compiled Source Error"
);
folly::throwOnFail<std::runtime_error>(
bcSourceCode != nullptr,
"Unexpected error opening compiled bundle"
);
ReactMarker::logMarker("RUN_JS_BUNDLE_START");
evaluateSourceCode(m_context, bcSourceCode, jsSourceURL);