@@ -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