Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -264,8 +264,8 @@ fileprivate func bjs_TS2Swift_convert_extern(_ self: Int32, _ tsBytes: Int32, _
}

func _$TS2Swift_convert(_ self: JSObject, _ ts: String) throws(JSException) -> String {
let selfValue = self.bridgeJSLowerParameter()
let ret0 = ts.bridgeJSWithLoweredParameter { (tsBytes, tsLength) in
let selfValue = self.bridgeJSLowerParameter()
let ret = bjs_TS2Swift_convert(selfValue, tsBytes, tsLength)
return ret
}
Expand Down
10 changes: 3 additions & 7 deletions Plugins/BridgeJS/Sources/BridgeJSCore/ImportTS.swift
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ public struct ImportTS {
let abiReturnType: WasmCoreType?
// Track destructured variable names for multiple lowered parameters
var destructuredVarNames: [String] = []
// Stack-lowered parameters should be evaluated in reverse order to match LIFO stacks
// Parameters are lowered in reverse order to match the LIFO stacks they push onto
var stackLoweringStmts: [String] = []
// Values to extend lifetime during call
var valuesToExtendLifetimeDuringCall: [String] = []
Expand Down Expand Up @@ -206,12 +206,8 @@ public struct ImportTS {
initializerExpr = ExprSyntax("\(raw: param.name).bridgeJSLowerParameter()")
}

if loweringInfo.loweredParameters.isEmpty {
stackLoweringStmts.insert("let _ = \(initializerExpr)", at: 0)
return
}

body.write("let \(pattern) = \(initializerExpr)")
let binding = loweringInfo.loweredParameters.isEmpty ? "_" : pattern
stackLoweringStmts.insert("let \(binding) = \(initializerExpr)", at: 0)
}
destructuredVarNames.append(contentsOf: destructuredNames)

Expand Down
Original file line number Diff line number Diff line change
@@ -1,2 +1,11 @@
@JSFunction func roundtrip(_ items: [Int]) throws(JSException) -> [Int]
@JSFunction func logStrings(_ items: [String]) throws(JSException)

// An optional container lowers to an `isSome` parameter *and* a stack payload,
// so it has to be ordered with the other stack-lowered parameters.
@JSFunction func optionalArrayThenArray(_ a: [Int]?, _ b: [Int]) throws(JSException) -> Int
@JSFunction func borrowedStringAroundStackParams(
_ s: String,
_ a: [Int]?,
_ b: [Int]
) throws(JSException) -> Int
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ private enum _BJS_Closure_10TestModuleAl7Polygon_Si {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Pointer = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
let ret = invoke_js_callback_TestModule_10TestModuleAl7Polygon_Si(callbackValue, param0Pointer)
return Int.bridgeJSLiftReturn(ret)
#else
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -534,8 +534,8 @@ fileprivate func bjs_checkArrayWithLength_extern(_ a: Int32, _ b: Float64) -> Vo
}

func _$checkArrayWithLength(_ a: JSObject, _ b: Double) throws(JSException) -> Void {
let aValue = a.bridgeJSLowerParameter()
let bValue = b.bridgeJSLowerParameter()
let aValue = a.bridgeJSLowerParameter()
bjs_checkArrayWithLength(aValue, bValue)
if let error = _swift_js_take_exception() {
throw error
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,8 +350,8 @@ fileprivate func promise_reject_TestModule_extern(_ promise: Int32, _ valueKind:
}

func _$Promise_reject(_ promise: JSObject, _ value: JSValue) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let (valueKind, valuePayload1, valuePayload2) = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_reject_TestModule(promiseValue, valueKind, valuePayload1, valuePayload2)
if let error = _swift_js_take_exception() { throw error }
}
Expand Down Expand Up @@ -391,8 +391,8 @@ fileprivate func promise_resolve_TestModule_Si_extern(_ promise: Int32, _ value:
}

func _$Promise_resolve_Si(_ promise: JSObject, _ value: Int) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Si(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -412,8 +412,8 @@ fileprivate func promise_resolve_TestModule_SS_extern(_ promise: Int32, _ valueB
}

func _$Promise_resolve_SS(_ promise: JSObject, _ value: String) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
value.bridgeJSWithLoweredParameter { (valueBytes, valueLength) in
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_SS(promiseValue, valueBytes, valueLength)
}
if let error = _swift_js_take_exception() { throw error }
Expand All @@ -434,8 +434,8 @@ fileprivate func promise_resolve_TestModule_Sb_extern(_ promise: Int32, _ value:
}

func _$Promise_resolve_Sb(_ promise: JSObject, _ value: Bool) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sb(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -455,8 +455,8 @@ fileprivate func promise_resolve_TestModule_Sf_extern(_ promise: Int32, _ value:
}

func _$Promise_resolve_Sf(_ promise: JSObject, _ value: Float) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sf(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -476,8 +476,8 @@ fileprivate func promise_resolve_TestModule_Sd_extern(_ promise: Int32, _ value:
}

func _$Promise_resolve_Sd(_ promise: JSObject, _ value: Double) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sd(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -497,8 +497,8 @@ fileprivate func promise_resolve_TestModule_8JSObjectC_extern(_ promise: Int32,
}

func _$Promise_resolve_8JSObjectC(_ promise: JSObject, _ value: JSObject) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_8JSObjectC(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -518,8 +518,8 @@ fileprivate func promise_resolve_TestModule_10AsyncPointV_extern(_ promise: Int3
}

func _$Promise_resolve_10AsyncPointV(_ promise: JSObject, _ value: AsyncPoint) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueObjectId = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_10AsyncPointV(promiseValue, valueObjectId)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -539,8 +539,8 @@ fileprivate func promise_resolve_TestModule_14AsyncDirectionO_extern(_ promise:
}

func _$Promise_resolve_14AsyncDirectionO(_ promise: JSObject, _ value: AsyncDirection) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueValue = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_14AsyncDirectionO(promiseValue, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -560,8 +560,8 @@ fileprivate func promise_resolve_TestModule_10AsyncThemeO_extern(_ promise: Int3
}

func _$Promise_resolve_10AsyncThemeO(_ promise: JSObject, _ value: AsyncTheme) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
value.bridgeJSWithLoweredParameter { (valueBytes, valueLength) in
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_10AsyncThemeO(promiseValue, valueBytes, valueLength)
}
if let error = _swift_js_take_exception() { throw error }
Expand All @@ -582,8 +582,8 @@ fileprivate func promise_resolve_TestModule_Sq14AsyncDirectionO_extern(_ promise
}

func _$Promise_resolve_Sq14AsyncDirectionO(_ promise: JSObject, _ value: Optional<AsyncDirection>) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let (valueIsSome, valueValue) = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sq14AsyncDirectionO(promiseValue, valueIsSome, valueValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -603,8 +603,8 @@ fileprivate func promise_resolve_TestModule_Sq10AsyncThemeO_extern(_ promise: In
}

func _$Promise_resolve_Sq10AsyncThemeO(_ promise: JSObject, _ value: Optional<AsyncTheme>) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
value.bridgeJSWithLoweredParameter { (valueIsSome, valueBytes, valueLength) in
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sq10AsyncThemeO(promiseValue, valueIsSome, valueBytes, valueLength)
}
if let error = _swift_js_take_exception() { throw error }
Expand All @@ -625,8 +625,8 @@ fileprivate func promise_resolve_TestModule_Sq10AsyncPointV_extern(_ promise: In
}

func _$Promise_resolve_Sq10AsyncPointV(_ promise: JSObject, _ value: Optional<AsyncPoint>) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueIsSome = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sq10AsyncPointV(promiseValue, valueIsSome)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -646,8 +646,8 @@ fileprivate func promise_resolve_TestModule_Sa10AsyncPointV_extern(_ promise: In
}

func _$Promise_resolve_Sa10AsyncPointV(_ promise: JSObject, _ value: [AsyncPoint]) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let _ = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sa10AsyncPointV(promiseValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -667,8 +667,8 @@ fileprivate func promise_resolve_TestModule_Sa14AsyncDirectionO_extern(_ promise
}

func _$Promise_resolve_Sa14AsyncDirectionO(_ promise: JSObject, _ value: [AsyncDirection]) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let _ = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sa14AsyncDirectionO(promiseValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -688,8 +688,8 @@ fileprivate func promise_resolve_TestModule_SD10AsyncPointV_extern(_ promise: In
}

func _$Promise_resolve_SD10AsyncPointV(_ promise: JSObject, _ value: [String: AsyncPoint]) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let _ = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_SD10AsyncPointV(promiseValue)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -709,8 +709,8 @@ fileprivate func promise_resolve_TestModule_SD14AsyncDirectionO_extern(_ promise
}

func _$Promise_resolve_SD14AsyncDirectionO(_ promise: JSObject, _ value: [String: AsyncDirection]) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let _ = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_SD14AsyncDirectionO(promiseValue)
if let error = _swift_js_take_exception() { throw error }
}
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ fileprivate func promise_reject_TestModule_extern(_ promise: Int32, _ valueKind:
}

func _$Promise_reject(_ promise: JSObject, _ value: JSValue) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let (valueKind, valuePayload1, valuePayload2) = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_reject_TestModule(promiseValue, valueKind, valuePayload1, valuePayload2)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -88,8 +88,8 @@ fileprivate func promise_resolve_TestModule_18AsyncPayloadResultO_extern(_ promi
}

func _$Promise_resolve_18AsyncPayloadResultO(_ promise: JSObject, _ value: AsyncPayloadResult) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let valueCaseId = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_18AsyncPayloadResultO(promiseValue, valueCaseId)
if let error = _swift_js_take_exception() { throw error }
}
Expand All @@ -109,8 +109,8 @@ fileprivate func promise_resolve_TestModule_Sq18AsyncPayloadResultO_extern(_ pro
}

func _$Promise_resolve_Sq18AsyncPayloadResultO(_ promise: JSObject, _ value: Optional<AsyncPayloadResult>) throws(JSException) -> Void {
let promiseValue = promise.bridgeJSLowerParameter()
let (valueIsSome, valueCaseId) = value.bridgeJSLowerParameter()
let promiseValue = promise.bridgeJSLowerParameter()
promise_resolve_TestModule_Sq18AsyncPayloadResultO(promiseValue, valueIsSome, valueCaseId)
if let error = _swift_js_take_exception() { throw error }
}
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ private enum _BJS_Closure_10TestModules7JSValueV_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let (param0Kind, param0Payload1, param0Payload2) = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModules7JSValueV_y(callbackValue, param0Kind, param0Payload1, param0Payload2)
#else
fatalError("Only available on WebAssembly")
Expand Down Expand Up @@ -88,8 +88,8 @@ private enum _BJS_Closure_10TestModules8JSObjectC_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Value = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModules8JSObjectC_y(callbackValue, param0Value)
#else
fatalError("Only available on WebAssembly")
Expand Down Expand Up @@ -149,8 +149,8 @@ private enum _BJS_Closure_10TestModulesSS_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
param0.bridgeJSWithLoweredParameter { (param0Bytes, param0Length) in
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModulesSS_y(callbackValue, param0Bytes, param0Length)
}
#else
Expand Down Expand Up @@ -211,8 +211,8 @@ private enum _BJS_Closure_10TestModulesSb_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Value = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModulesSb_y(callbackValue, param0Value)
#else
fatalError("Only available on WebAssembly")
Expand Down Expand Up @@ -272,8 +272,8 @@ private enum _BJS_Closure_10TestModulesSd_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Value = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModulesSd_y(callbackValue, param0Value)
#else
fatalError("Only available on WebAssembly")
Expand Down Expand Up @@ -333,8 +333,8 @@ private enum _BJS_Closure_10TestModulesSi_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Value = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModulesSi_y(callbackValue, param0Value)
#else
fatalError("Only available on WebAssembly")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ private enum _BJS_Closure_10TestModules7JSValueV_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let (param0Kind, param0Payload1, param0Payload2) = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModules7JSValueV_y(callbackValue, param0Kind, param0Payload1, param0Payload2)
#else
fatalError("Only available on WebAssembly")
Expand Down Expand Up @@ -88,8 +88,8 @@ private enum _BJS_Closure_10TestModulesSd_y {
let callback = JSObject.bridgeJSLiftParameter(callbackId)
return { [callback] param0 in
#if arch(wasm32)
let callbackValue = callback.bridgeJSLowerParameter()
let param0Value = param0.bridgeJSLowerParameter()
let callbackValue = callback.bridgeJSLowerParameter()
invoke_js_callback_TestModule_10TestModulesSd_y(callbackValue, param0Value)
#else
fatalError("Only available on WebAssembly")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ struct AnyListener: Listener, _BridgedSwiftProtocolWrapper {
let jsObject: JSObject

func onEvent(id: Int) -> Void {
let jsObjectValue = jsObject.bridgeJSLowerParameter()
let idValue = id.bridgeJSLowerParameter()
let jsObjectValue = jsObject.bridgeJSLowerParameter()
_extern_onEvent(jsObjectValue, idValue)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ func _$PayloadSignalControls_roundTrip(_ signal: PayloadSignal) throws(JSExcepti
}

func _$PayloadSignalControls_send(_ self: JSObject, _ signal: PayloadSignal) throws(JSException) -> Void {
let selfValue = self.bridgeJSLowerParameter()
let signalCaseId = signal.bridgeJSLowerParameter()
let selfValue = self.bridgeJSLowerParameter()
bjs_PayloadSignalControls_send(selfValue, signalCaseId)
if let error = _swift_js_take_exception() {
throw error
Expand All @@ -102,8 +102,8 @@ func _$PayloadSignalControls_current(_ self: JSObject) throws(JSException) -> Pa
}

func _$PayloadSignalControls_roundTripOptional(_ self: JSObject, _ signal: Optional<PayloadSignal>) throws(JSException) -> Optional<PayloadSignal> {
let selfValue = self.bridgeJSLowerParameter()
let (signalIsSome, signalCaseId) = signal.bridgeJSLowerParameter()
let selfValue = self.bridgeJSLowerParameter()
let ret = bjs_PayloadSignalControls_roundTripOptional(selfValue, signalIsSome, signalCaseId)
if let error = _swift_js_take_exception() {
throw error
Expand Down
Loading
Loading