Skip to content

Commit 67cf95d

Browse files
committed
Tests: Cover thunk argument lifting and refresh generated bindings
1 parent 3cb1b5b commit 67cf95d

78 files changed

Lines changed: 3910 additions & 1519 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Benchmarks/Sources/Generated/BridgeJS.swift

Lines changed: 297 additions & 116 deletions
Large diffs are not rendered by default.

Examples/PlayBridgeJS/Sources/PlayBridgeJS/Generated/BridgeJS.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,11 @@ public func _bjs_PlayBridgeJS_init() -> UnsafeMutableRawPointer {
179179
@_cdecl("bjs_PlayBridgeJS_updateDetailed")
180180
public func _bjs_PlayBridgeJS_updateDetailed(_ _self: UnsafeMutableRawPointer, _ swiftSourceBytes: Int32, _ swiftSourceLength: Int32, _ dtsSourceBytes: Int32, _ dtsSourceLength: Int32) -> Void {
181181
#if arch(wasm32)
182+
let liftRet_dtsSource = String.bridgeJSLiftParameter(dtsSourceBytes, dtsSourceLength)
183+
let liftRet_swiftSource = String.bridgeJSLiftParameter(swiftSourceBytes, swiftSourceLength)
184+
let liftRet_self = PlayBridgeJS.bridgeJSLiftParameter(_self)
182185
do {
183-
let ret = try PlayBridgeJS.bridgeJSLiftParameter(_self).updateDetailed(swiftSource: String.bridgeJSLiftParameter(swiftSourceBytes, swiftSourceLength), dtsSource: String.bridgeJSLiftParameter(dtsSourceBytes, dtsSourceLength))
186+
let ret = try liftRet_self.updateDetailed(swiftSource: liftRet_swiftSource, dtsSource: liftRet_dtsSource)
184187
return ret.bridgeJSLowerReturn()
185188
} catch let error {
186189
if let error = error.thrownValue.object {

Plugins/BridgeJS/Tests/BridgeJSToolTests/Inputs/MacroSwift/SwiftStruct.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ extension Vector2D {
7878
@JS func describe() -> String {
7979
return "Vector2D(\(dx), \(dy))"
8080
}
81+
82+
@JS func dot(_ components: [Double]) -> Double {
83+
return zip([dx, dy], components).map(*).reduce(0, +)
84+
}
8185
}
8286

8387
extension DataPoint {

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSCodegenTests/Alias.swift

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,8 @@ extension InnerTag: _BridgedSwiftAssociatedValueEnum {
5353
@_cdecl("bjs_roundtripPolygon")
5454
public func _bjs_roundtripPolygon(_ polygon: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
5555
#if arch(wasm32)
56-
let ret = roundtripPolygon(_: Polygon.bridgeJSLiftParameter(polygon))
56+
let liftRet_polygon = Polygon.bridgeJSLiftParameter(polygon)
57+
let ret = roundtripPolygon(_: liftRet_polygon)
5758
return ret.bridgeJSLowerReturn()
5859
#else
5960
fatalError("Only available on WebAssembly")
@@ -64,7 +65,8 @@ public func _bjs_roundtripPolygon(_ polygon: UnsafeMutableRawPointer) -> UnsafeM
6465
@_cdecl("bjs_optionalPolygon")
6566
public func _bjs_optionalPolygon(_ polygonIsSome: Int32, _ polygonValue: UnsafeMutableRawPointer) -> Void {
6667
#if arch(wasm32)
67-
let ret = optionalPolygon(_: Optional<Polygon>.bridgeJSLiftParameter(polygonIsSome, polygonValue))
68+
let liftRet_polygon = Optional<Polygon>.bridgeJSLiftParameter(polygonIsSome, polygonValue)
69+
let ret = optionalPolygon(_: liftRet_polygon)
6870
return ret.bridgeJSLowerReturn()
6971
#else
7072
fatalError("Only available on WebAssembly")
@@ -75,7 +77,8 @@ public func _bjs_optionalPolygon(_ polygonIsSome: Int32, _ polygonValue: UnsafeM
7577
@_cdecl("bjs_polygonArray")
7678
public func _bjs_polygonArray() -> Void {
7779
#if arch(wasm32)
78-
let ret = polygonArray(_: [Polygon].bridgeJSStackPop())
80+
let liftRet_polygons = [Polygon].bridgeJSStackPop()
81+
let ret = polygonArray(_: liftRet_polygons)
7982
ret.bridgeJSStackPush()
8083
#else
8184
fatalError("Only available on WebAssembly")
@@ -86,8 +89,9 @@ public func _bjs_polygonArray() -> Void {
8689
@_cdecl("bjs_validatePolygon")
8790
public func _bjs_validatePolygon(_ polygon: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
8891
#if arch(wasm32)
92+
let liftRet_polygon = Polygon.bridgeJSLiftParameter(polygon)
8993
do {
90-
let ret = try validatePolygon(_: Polygon.bridgeJSLiftParameter(polygon))
94+
let ret = try validatePolygon(_: liftRet_polygon)
9195
return ret.bridgeJSLowerReturn()
9296
} catch let error {
9397
if let error = error.thrownValue.object {
@@ -111,7 +115,8 @@ public func _bjs_validatePolygon(_ polygon: UnsafeMutableRawPointer) -> UnsafeMu
111115
@_cdecl("bjs_makeTag")
112116
public func _bjs_makeTag(_ nameBytes: Int32, _ nameLength: Int32) -> UnsafeMutableRawPointer {
113117
#if arch(wasm32)
114-
let ret = makeTag(_: String.bridgeJSLiftParameter(nameBytes, nameLength))
118+
let liftRet_name = String.bridgeJSLiftParameter(nameBytes, nameLength)
119+
let ret = makeTag(_: liftRet_name)
115120
return ret.bridgeJSLowerReturn()
116121
#else
117122
fatalError("Only available on WebAssembly")
@@ -122,7 +127,8 @@ public func _bjs_makeTag(_ nameBytes: Int32, _ nameLength: Int32) -> UnsafeMutab
122127
@_cdecl("bjs_roundtripTags")
123128
public func _bjs_roundtripTags() -> Void {
124129
#if arch(wasm32)
125-
let ret = roundtripTags(_: [Optional<AliasedTag>].bridgeJSStackPop())
130+
let liftRet_xs = [Optional<AliasedTag>].bridgeJSStackPop()
131+
let ret = roundtripTags(_: liftRet_xs)
126132
ret.bridgeJSStackPush()
127133
#else
128134
fatalError("Only available on WebAssembly")
@@ -133,7 +139,8 @@ public func _bjs_roundtripTags() -> Void {
133139
@_cdecl("bjs_describeUser")
134140
public func _bjs_describeUser(_ owner: Int32) -> Int32 {
135141
#if arch(wasm32)
136-
let ret = _bridgeJSUnwrapProtocolExportable(describeUser(_: AnyHasOptionalUserId.bridgeJSLiftParameter(owner)), "HasOptionalUserId")
142+
let liftRet_owner = AnyHasOptionalUserId.bridgeJSLiftParameter(owner)
143+
let ret = _bridgeJSUnwrapProtocolExportable(describeUser(_: liftRet_owner), "HasOptionalUserId")
137144
return ret.bridgeJSLowerAsProtocolReturn()
138145
#else
139146
fatalError("Only available on WebAssembly")
@@ -144,7 +151,8 @@ public func _bjs_describeUser(_ owner: Int32) -> Int32 {
144151
@_cdecl("bjs_PolygonReference_init")
145152
public func _bjs_PolygonReference_init(_ underlying: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
146153
#if arch(wasm32)
147-
let ret = PolygonReference(underlying: Polygon.bridgeJSLiftParameter(underlying))
154+
let liftRet_underlying = Polygon.bridgeJSLiftParameter(underlying)
155+
let ret = PolygonReference(underlying: liftRet_underlying)
148156
return ret.bridgeJSLowerReturn()
149157
#else
150158
fatalError("Only available on WebAssembly")
@@ -155,7 +163,8 @@ public func _bjs_PolygonReference_init(_ underlying: UnsafeMutableRawPointer) ->
155163
@_cdecl("bjs_PolygonReference_snapshot")
156164
public func _bjs_PolygonReference_snapshot(_ _self: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
157165
#if arch(wasm32)
158-
let ret = PolygonReference.bridgeJSLiftParameter(_self).snapshot()
166+
let liftRet_self = PolygonReference.bridgeJSLiftParameter(_self)
167+
let ret = liftRet_self.snapshot()
159168
return ret.bridgeJSLowerReturn()
160169
#else
161170
fatalError("Only available on WebAssembly")
@@ -166,7 +175,9 @@ public func _bjs_PolygonReference_snapshot(_ _self: UnsafeMutableRawPointer) ->
166175
@_cdecl("bjs_PolygonReference_merge")
167176
public func _bjs_PolygonReference_merge(_ _self: UnsafeMutableRawPointer, _ other: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
168177
#if arch(wasm32)
169-
let ret = PolygonReference.bridgeJSLiftParameter(_self).merge(_: Polygon.bridgeJSLiftParameter(other))
178+
let liftRet_other = Polygon.bridgeJSLiftParameter(other)
179+
let liftRet_self = PolygonReference.bridgeJSLiftParameter(_self)
180+
let ret = liftRet_self.merge(_: liftRet_other)
170181
return ret.bridgeJSLowerReturn()
171182
#else
172183
fatalError("Only available on WebAssembly")
@@ -219,7 +230,8 @@ fileprivate func _bjs_PolygonReference_wrap_extern(_ pointer: UnsafeMutableRawPo
219230
@_cdecl("bjs_TagReference_init")
220231
public func _bjs_TagReference_init(_ underlying: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
221232
#if arch(wasm32)
222-
let ret = TagReference(underlying: Tag.bridgeJSLiftParameter(underlying))
233+
let liftRet_underlying = Tag.bridgeJSLiftParameter(underlying)
234+
let ret = TagReference(underlying: liftRet_underlying)
223235
return ret.bridgeJSLowerReturn()
224236
#else
225237
fatalError("Only available on WebAssembly")

Plugins/BridgeJS/Tests/BridgeJSToolTests/__Snapshots__/BridgeJSCodegenTests/AliasInClosure.swift

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,10 @@ extension JSTypedClosure where Signature == (Polygon) -> Int {
5353
@_cdecl("invoke_swift_closure_TestModule_10TestModuleAl7Polygon_Si")
5454
public func _invoke_swift_closure_TestModule_10TestModuleAl7Polygon_Si(_ boxPtr: UnsafeMutableRawPointer, _ param0: UnsafeMutableRawPointer) -> Int32 {
5555
#if arch(wasm32)
56+
let liftRet_param0 = Polygon.bridgeJSLiftParameter(param0)
5657
let closure = Unmanaged<_BridgeJSTypedClosureBox<(Polygon) -> Int>>.fromOpaque(boxPtr).takeUnretainedValue().closure
57-
let result = closure(Polygon.bridgeJSLiftParameter(param0))
58-
return result.bridgeJSLowerReturn()
58+
let ret = closure(liftRet_param0)
59+
return ret.bridgeJSLowerReturn()
5960
#else
6061
fatalError("Only available on WebAssembly")
6162
#endif
@@ -116,8 +117,8 @@ extension JSTypedClosure where Signature == () -> Polygon {
116117
public func _invoke_swift_closure_TestModule_10TestModuley_Al7Polygon(_ boxPtr: UnsafeMutableRawPointer) -> UnsafeMutableRawPointer {
117118
#if arch(wasm32)
118119
let closure = Unmanaged<_BridgeJSTypedClosureBox<() -> Polygon>>.fromOpaque(boxPtr).takeUnretainedValue().closure
119-
let result = closure()
120-
return result.bridgeJSLowerReturn()
120+
let ret = closure()
121+
return ret.bridgeJSLowerReturn()
121122
#else
122123
fatalError("Only available on WebAssembly")
123124
#endif
@@ -149,7 +150,8 @@ public func _bjs_makePolygonInspector() -> Int32 {
149150
@_cdecl("bjs_PolygonReference_init")
150151
public func _bjs_PolygonReference_init(_ sides: Int32) -> UnsafeMutableRawPointer {
151152
#if arch(wasm32)
152-
let ret = PolygonReference(sides: Int.bridgeJSLiftParameter(sides))
153+
let liftRet_sides = Int.bridgeJSLiftParameter(sides)
154+
let ret = PolygonReference(sides: liftRet_sides)
153155
return ret.bridgeJSLowerReturn()
154156
#else
155157
fatalError("Only available on WebAssembly")

0 commit comments

Comments
 (0)