44using System . Text . RegularExpressions ;
55
66using OriginalCacheKind = Microsoft . ClearScript . V8 . V8CacheKind ;
7+ using OriginalCacheResult = Microsoft . ClearScript . V8 . V8CacheResult ;
8+ using OriginalDocumentFlags = Microsoft . ClearScript . DocumentFlags ;
9+ using OriginalDocumentInfo = Microsoft . ClearScript . DocumentInfo ;
710using OriginalEngine = Microsoft . ClearScript . V8 . V8ScriptEngine ;
811using OriginalEngineFlags = Microsoft . ClearScript . V8 . V8ScriptEngineFlags ;
912using OriginalException = Microsoft . ClearScript . ScriptEngineException ;
@@ -364,12 +367,13 @@ protected override IPrecompiledScript InnerPrecompile(string code)
364367
365368 protected override IPrecompiledScript InnerPrecompile ( string code , string documentName )
366369 {
370+ var documentInfo = new OriginalDocumentInfo ( documentName ) ;
367371 var cacheKind = OriginalCacheKind . Code ;
368372 byte [ ] cachedBytes ;
369373
370374 try
371375 {
372- using ( OriginalScript generalScript = _jsEngine . Compile ( documentName , code , cacheKind ,
376+ using ( OriginalScript generalScript = _jsEngine . Compile ( documentInfo , code , cacheKind ,
373377 out cachedBytes ) )
374378 { }
375379 }
@@ -378,7 +382,7 @@ protected override IPrecompiledScript InnerPrecompile(string code, string docume
378382 throw WrapScriptEngineException ( e ) ;
379383 }
380384
381- return new V8PrecompiledScript ( code , cacheKind , cachedBytes , documentName ) ;
385+ return new V8PrecompiledScript ( code , cacheKind , cachedBytes , documentInfo ) ;
382386 }
383387
384388 protected override object InnerEvaluate ( string expression )
@@ -388,11 +392,15 @@ protected override object InnerEvaluate(string expression)
388392
389393 protected override object InnerEvaluate ( string expression , string documentName )
390394 {
395+ var documentInfo = new OriginalDocumentInfo ( documentName )
396+ {
397+ Flags = OriginalDocumentFlags . None
398+ } ;
391399 object result ;
392400
393401 try
394402 {
395- result = _jsEngine . Evaluate ( documentName , false , expression ) ;
403+ result = _jsEngine . Evaluate ( documentInfo , expression ) ;
396404 }
397405 catch ( OriginalException e )
398406 {
@@ -427,9 +435,14 @@ protected override void InnerExecute(string code)
427435
428436 protected override void InnerExecute ( string code , string documentName )
429437 {
438+ var documentInfo = new OriginalDocumentInfo ( documentName )
439+ {
440+ Flags = OriginalDocumentFlags . None
441+ } ;
442+
430443 try
431444 {
432- _jsEngine . Execute ( documentName , false , code ) ;
445+ _jsEngine . Execute ( documentInfo , code ) ;
433446 }
434447 catch ( OriginalException e )
435448 {
@@ -453,15 +466,15 @@ protected override void InnerExecute(IPrecompiledScript precompiledScript)
453466 ) ;
454467 }
455468
456- bool cacheAccepted ;
469+ byte [ ] cachedBytes = v8PrecompiledScript . CachedBytes ;
457470
458471 try
459472 {
460- using ( OriginalScript script = _jsEngine . Compile ( v8PrecompiledScript . DocumentName ,
461- v8PrecompiledScript . Code , v8PrecompiledScript . CacheKind , v8PrecompiledScript . CachedBytes ,
462- out cacheAccepted ) )
473+ using ( OriginalScript script = _jsEngine . Compile ( v8PrecompiledScript . DocumentInfo ,
474+ v8PrecompiledScript . Code , v8PrecompiledScript . CacheKind , ref cachedBytes ,
475+ out var cacheResult ) )
463476 {
464- if ( ! cacheAccepted )
477+ if ( cacheResult != OriginalCacheResult . Accepted && cacheResult != OriginalCacheResult . Verified )
465478 {
466479 throw new WrapperUsageException ( Strings . Usage_PrecompiledScriptNotAccepted , Name , Version ) ;
467480 }
0 commit comments