@@ -42,13 +42,14 @@ public class JSThrowingFunction {
4242                let  argv  =  bufferPointer. baseAddress
4343                let  argc  =  bufferPointer. count
4444
45-                 var  exceptionKind  =  JavaScriptValueKindAndFlags ( ) 
45+                 var  exceptionRawKind  =  JavaScriptRawValueKindAndFlags ( ) 
4646                var  exceptionPayload1  =  JavaScriptPayload1 ( ) 
4747                var  exceptionPayload2  =  JavaScriptPayload2 ( ) 
4848                let  resultObj  =  swjs_call_throwing_new ( 
4949                    self . base. id,  argv,  Int32 ( argc) , 
50-                     & exceptionKind ,  & exceptionPayload1,  & exceptionPayload2
50+                     & exceptionRawKind ,  & exceptionPayload1,  & exceptionPayload2
5151                ) 
52+                 let  exceptionKind  =  JavaScriptValueKindAndFlags ( bitPattern:  exceptionRawKind) 
5253                if  exceptionKind. isException { 
5354                    let  exception  =  RawJSValue ( kind:  exceptionKind. kind,  payload1:  exceptionPayload1,  payload2:  exceptionPayload2) 
5455                    return  . failure( exception. jsValue) 
@@ -70,21 +71,21 @@ private func invokeJSFunction(_ jsFunc: JSFunction, arguments: [ConvertibleToJSV
7071        rawValues. withUnsafeBufferPointer  {  bufferPointer ->  ( JSValue ,  Bool )  in 
7172            let  argv  =  bufferPointer. baseAddress
7273            let  argc  =  bufferPointer. count
73-             var  kindAndFlags   =   JavaScriptValueKindAndFlags ( ) 
74+             let  kindAndFlags :   JavaScriptValueKindAndFlags 
7475            var  payload1  =  JavaScriptPayload1 ( ) 
7576            var  payload2  =  JavaScriptPayload2 ( ) 
7677            if  let  thisId =  this? . id { 
7778                let  resultBitPattern  =  swjs_call_function_with_this ( 
7879                    thisId,  id,  argv,  Int32 ( argc) , 
7980                    & payload1,  & payload2
8081                ) 
81-                 kindAndFlags =  unsafeBitCast ( resultBitPattern ,  to :   JavaScriptValueKindAndFlags . self ) 
82+                 kindAndFlags =  JavaScriptValueKindAndFlags ( bitPattern :  resultBitPattern ) 
8283            }  else  { 
8384                let  resultBitPattern  =  swjs_call_function ( 
8485                    id,  argv,  Int32 ( argc) , 
8586                    & payload1,  & payload2
8687                ) 
87-                 kindAndFlags =  unsafeBitCast ( resultBitPattern ,  to :   JavaScriptValueKindAndFlags . self ) 
88+                 kindAndFlags =  JavaScriptValueKindAndFlags ( bitPattern :  resultBitPattern ) 
8889            } 
8990            let  result  =  RawJSValue ( kind:  kindAndFlags. kind,  payload1:  payload1,  payload2:  payload2) 
9091            return  ( result. jsValue,  kindAndFlags. isException) 
@@ -95,4 +96,4 @@ private func invokeJSFunction(_ jsFunc: JSFunction, arguments: [ConvertibleToJSV
9596    } 
9697    return  result
9798} 
98- #endif 
99+ #endif 
0 commit comments