Skip to content

Commit 7829ad2

Browse files
committed
gfgf
1 parent 072098a commit 7829ad2

File tree

2 files changed

+18
-32
lines changed

2 files changed

+18
-32
lines changed

Plugins/BridgeJS/Sources/BridgeJSCore/ExportSwift.swift

Lines changed: 9 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -801,8 +801,6 @@ struct StackCodegen {
801801
switch elementType {
802802
case .jsObject(let className?) where className != "JSObject":
803803
return liftArrayExpressionInline(elementType: elementType)
804-
case .swiftProtocol(let protocolName):
805-
return "[Any\(raw: protocolName)].bridgeJSLiftParameter()"
806804
case .nullable, .closure:
807805
return liftArrayExpressionInline(elementType: elementType)
808806
case .void, .namespaceEnum:
@@ -838,13 +836,6 @@ struct StackCodegen {
838836
return __dict.mapValues { \(raw: className)(unsafelyWrapping: $0) }
839837
}()
840838
"""
841-
case .swiftProtocol(let protocolName):
842-
return """
843-
{
844-
let __dict = [String: JSObject].bridgeJSLiftParameter()
845-
return __dict.mapValues { $0 as! Any\(raw: protocolName) }
846-
}()
847-
"""
848839
case .nullable, .closure:
849840
return liftDictionaryExpressionInline(valueType: valueType)
850841
case .void, .namespaceEnum:
@@ -898,19 +889,14 @@ struct StackCodegen {
898889
varPrefix: String
899890
) -> [CodeBlockItemSyntax] {
900891
switch type {
901-
case .string, .int, .uint, .bool, .float, .double, .jsValue:
902-
return ["\(raw: accessor).bridgeJSLowerStackReturn()"]
903-
case .jsObject(nil):
892+
case .string, .int, .uint, .bool, .float, .double, .jsValue,
893+
.jsObject(nil), .swiftHeapObject, .unsafePointer, .closure,
894+
.caseEnum, .rawValueEnum:
904895
return ["\(raw: accessor).bridgeJSLowerStackReturn()"]
905896
case .jsObject(_?):
906897
return ["\(raw: accessor).jsObject.bridgeJSLowerStackReturn()"]
907-
case .swiftHeapObject, .unsafePointer, .closure:
908-
return ["\(raw: accessor).bridgeJSLowerStackReturn()"]
909-
case .swiftProtocol(let protocolName):
910-
let wrapperName = "Any\(protocolName)"
911-
return ["(\(raw: accessor) as! \(raw: wrapperName)).bridgeJSLowerStackReturn()"]
912-
case .caseEnum, .rawValueEnum:
913-
return ["\(raw: accessor).bridgeJSLowerStackReturn()"]
898+
case .swiftProtocol:
899+
return ["(\(raw: accessor) as! \(raw: type.swiftType)).bridgeJSLowerStackReturn()"]
914900
case .associatedValueEnum, .swiftStruct:
915901
return ["\(raw: accessor).bridgeJSLowerReturn()"]
916902
case .nullable(let wrappedType, _):
@@ -932,8 +918,8 @@ struct StackCodegen {
932918
switch elementType {
933919
case .jsObject(let className?) where className != "JSObject":
934920
return ["\(raw: accessor).map { $0.jsObject }.bridgeJSLowerReturn()"]
935-
case .swiftProtocol(let protocolName):
936-
return ["\(raw: accessor).map { $0 as! Any\(raw: protocolName) }.bridgeJSLowerReturn()"]
921+
case .swiftProtocol:
922+
return ["\(raw: accessor).map { $0 as! \(raw: elementType.swiftType) }.bridgeJSLowerReturn()"]
937923
case .nullable, .closure:
938924
return lowerArrayStatementsInline(
939925
elementType: elementType,
@@ -979,8 +965,8 @@ struct StackCodegen {
979965
switch valueType {
980966
case .jsObject(let className?) where className != "JSObject":
981967
return ["\(raw: accessor).mapValues { $0.jsObject }.bridgeJSLowerReturn()"]
982-
case .swiftProtocol(let protocolName):
983-
return ["\(raw: accessor).mapValues { $0 as! Any\(raw: protocolName) }.bridgeJSLowerReturn()"]
968+
case .swiftProtocol:
969+
return ["\(raw: accessor).mapValues { $0 as! \(raw: valueType.swiftType) }.bridgeJSLowerReturn()"]
984970
case .nullable, .closure:
985971
return lowerDictionaryStatementsInline(
986972
valueType: valueType,

Tests/BridgeJSRuntimeTests/Generated/BridgeJS.swift

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2198,7 +2198,7 @@ extension AllTypesResult: _BridgedSwiftAssociatedValueEnum {
21982198
case 2:
21992199
return .jsObjectPayload(JSObject.bridgeJSLiftParameter())
22002200
case 3:
2201-
return .nestedEnum(APIResult.bridgeJSLiftParameter(_swift_js_pop_i32()))
2201+
return .nestedEnum(APIResult.bridgeJSLiftParameter())
22022202
case 4:
22032203
return .arrayPayload([Int].bridgeJSLiftParameter())
22042204
case 5:
@@ -2240,9 +2240,9 @@ extension TypedPayloadResult: _BridgedSwiftAssociatedValueEnum {
22402240
@_spi(BridgeJS) @_transparent public static func bridgeJSStackPopPayload(_ caseId: Int32) -> TypedPayloadResult {
22412241
switch caseId {
22422242
case 0:
2243-
return .precision(Precision.bridgeJSLiftParameter(_swift_js_pop_f32()))
2243+
return .precision(Precision.bridgeJSLiftParameter())
22442244
case 1:
2245-
return .direction(Direction.bridgeJSLiftParameter(_swift_js_pop_i32()))
2245+
return .direction(Direction.bridgeJSLiftParameter())
22462246
case 2:
22472247
return .optPrecision(Optional<Precision>.bridgeJSLiftParameter())
22482248
case 3:
@@ -2992,7 +2992,7 @@ fileprivate func _bjs_struct_lift_Contact() -> Int32 {
29922992

29932993
extension Config: _BridgedSwiftStruct {
29942994
@_spi(BridgeJS) @_transparent public static func bridgeJSLiftParameter() -> Config {
2995-
let status = Status.bridgeJSLiftParameter(_swift_js_pop_i32())
2995+
let status = Status.bridgeJSLiftParameter()
29962996
let direction = Optional<Direction>.bridgeJSLiftParameter()
29972997
let theme = Optional<Theme>.bridgeJSLiftParameter()
29982998
let name = String.bridgeJSLiftParameter()
@@ -3100,7 +3100,7 @@ extension ValidationReport: _BridgedSwiftStruct {
31003100
@_spi(BridgeJS) @_transparent public static func bridgeJSLiftParameter() -> ValidationReport {
31013101
let outcome = Optional<APIResult>.bridgeJSLiftParameter()
31023102
let status = Optional<Status>.bridgeJSLiftParameter()
3103-
let result = APIResult.bridgeJSLiftParameter(_swift_js_pop_i32())
3103+
let result = APIResult.bridgeJSLiftParameter()
31043104
let id = Int.bridgeJSLiftParameter()
31053105
return ValidationReport(id: id, result: result, status: status, outcome: outcome)
31063106
}
@@ -3160,8 +3160,8 @@ extension AdvancedConfig: _BridgedSwiftStruct {
31603160
let location = Optional<DataPoint>.bridgeJSLiftParameter()
31613161
let metadata = Optional<JSObject>.bridgeJSLiftParameter()
31623162
let result = Optional<APIResult>.bridgeJSLiftParameter()
3163-
let status = Status.bridgeJSLiftParameter(_swift_js_pop_i32())
3164-
let theme = Theme.bridgeJSLiftParameter(_swift_js_pop_i32(), _swift_js_pop_i32())
3163+
let status = Status.bridgeJSLiftParameter()
3164+
let theme = Theme.bridgeJSLiftParameter()
31653165
let enabled = Bool.bridgeJSLiftParameter()
31663166
let title = String.bridgeJSLiftParameter()
31673167
let id = Int.bridgeJSLiftParameter()
@@ -3226,8 +3226,8 @@ extension MeasurementConfig: _BridgedSwiftStruct {
32263226
@_spi(BridgeJS) @_transparent public static func bridgeJSLiftParameter() -> MeasurementConfig {
32273227
let optionalRatio = Optional<Ratio>.bridgeJSLiftParameter()
32283228
let optionalPrecision = Optional<Precision>.bridgeJSLiftParameter()
3229-
let ratio = Ratio.bridgeJSLiftParameter(_swift_js_pop_f64())
3230-
let precision = Precision.bridgeJSLiftParameter(_swift_js_pop_f32())
3229+
let ratio = Ratio.bridgeJSLiftParameter()
3230+
let precision = Precision.bridgeJSLiftParameter()
32313231
return MeasurementConfig(precision: precision, ratio: ratio, optionalPrecision: optionalPrecision, optionalRatio: optionalRatio)
32323232
}
32333233

0 commit comments

Comments
 (0)