Skip to content

Commit 072098a

Browse files
committed
NFC: BridgeJS: Simplify liftExpression by using no-arg bridgeJSLiftParameter() for enums and protocols
1 parent a77ee78 commit 072098a

File tree

3 files changed

+6
-25
lines changed

3 files changed

+6
-25
lines changed

Plugins/BridgeJS/Sources/BridgeJSCore/ExportSwift.swift

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -779,30 +779,11 @@ struct StackCodegen {
779779
func liftExpression(for type: BridgeType) -> ExprSyntax {
780780
switch type {
781781
case .string, .int, .uint, .bool, .float, .double,
782-
.jsObject(nil), .jsValue, .swiftStruct, .swiftHeapObject:
782+
.jsObject(nil), .jsValue, .swiftStruct, .swiftHeapObject, .unsafePointer,
783+
.swiftProtocol, .caseEnum, .associatedValueEnum, .rawValueEnum:
783784
return "\(raw: type.swiftType).bridgeJSLiftParameter()"
784785
case .jsObject(let className?):
785786
return "\(raw: className)(unsafelyWrapping: JSObject.bridgeJSLiftParameter())"
786-
case .unsafePointer:
787-
return "\(raw: type.swiftType).bridgeJSLiftParameter()"
788-
case .swiftProtocol(let protocolName):
789-
return "Any\(raw: protocolName).bridgeJSLiftParameter(_swift_js_pop_i32())"
790-
case .caseEnum:
791-
return "\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_i32())"
792-
case .rawValueEnum(_, let rawType):
793-
switch rawType {
794-
case .string:
795-
return
796-
"\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_i32(), _swift_js_pop_i32())"
797-
case .float:
798-
return "\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_f32())"
799-
case .double:
800-
return "\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_f64())"
801-
case .bool, .int, .int32, .int64, .uint, .uint32, .uint64:
802-
return "\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_i32())"
803-
}
804-
case .associatedValueEnum:
805-
return "\(raw: type.swiftType).bridgeJSLiftParameter(_swift_js_pop_i32())"
806787
case .nullable(let wrappedType, let kind):
807788
return liftNullableExpression(wrappedType: wrappedType, kind: kind)
808789
case .array(let elementType):

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -260,9 +260,9 @@ extension TypedPayloadResult: _BridgedSwiftAssociatedValueEnum {
260260
@_spi(BridgeJS) @_transparent public static func bridgeJSStackPopPayload(_ caseId: Int32) -> TypedPayloadResult {
261261
switch caseId {
262262
case 0:
263-
return .precision(Precision.bridgeJSLiftParameter(_swift_js_pop_f32()))
263+
return .precision(Precision.bridgeJSLiftParameter())
264264
case 1:
265-
return .direction(CardinalDirection.bridgeJSLiftParameter(_swift_js_pop_i32()))
265+
return .direction(CardinalDirection.bridgeJSLiftParameter())
266266
case 2:
267267
return .optPrecision(Optional<Precision>.bridgeJSLiftParameter())
268268
case 3:
@@ -312,7 +312,7 @@ extension AllTypesResult: _BridgedSwiftAssociatedValueEnum {
312312
case 2:
313313
return .jsObjectPayload(JSObject.bridgeJSLiftParameter())
314314
case 3:
315-
return .nestedEnum(APIResult.bridgeJSLiftParameter(_swift_js_pop_i32()))
315+
return .nestedEnum(APIResult.bridgeJSLiftParameter())
316316
case 4:
317317
return .arrayPayload([Int].bridgeJSLiftParameter())
318318
case 5:

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -223,7 +223,7 @@ fileprivate func _bjs_struct_lift_Session() -> Int32 {
223223
extension Measurement: _BridgedSwiftStruct {
224224
@_spi(BridgeJS) @_transparent public static func bridgeJSLiftParameter() -> Measurement {
225225
let optionalPrecision = Optional<Precision>.bridgeJSLiftParameter()
226-
let precision = Precision.bridgeJSLiftParameter(_swift_js_pop_f32())
226+
let precision = Precision.bridgeJSLiftParameter()
227227
let value = Double.bridgeJSLiftParameter()
228228
return Measurement(value: value, precision: precision, optionalPrecision: optionalPrecision)
229229
}

0 commit comments

Comments
 (0)