protected override object InnerEvaluate(string expression, string documentName) { object result; string uniqueDocumentName = _documentNameManager.GetUniqueName(documentName); OriginalParserOptions parserOptions = CreateParserOptions(uniqueDocumentName); lock (_executionSynchronizer) { OriginalValue resultValue; try { resultValue = _jsEngine.Evaluate(expression, parserOptions); } catch (OriginalParserException e) { throw WrapParserException(e); } catch (OriginalRuntimeException e) { throw WrapRuntimeException(e); } catch (TimeoutException e) { throw WrapTimeoutException(e); } result = MapToHostType(resultValue); } return(result); }