Skip to content

Commit 98099d6

Browse files
[NFC] BridgeJS: Rename Stack ABI operation methods
To make push/pop operations agnostic to import/export contexts, rename the following methods: - `bridgeJSLiftParameter()` -> `bridgeJSStackPop()` - `bridgeJSLowerStackReturn()` -> `bridgeJSStackPush()`
1 parent 83995af commit 98099d6

File tree

16 files changed

+1055
-1020
lines changed

16 files changed

+1055
-1020
lines changed

Benchmarks/Sources/Generated/BridgeJS.swift

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

Plugins/BridgeJS/Sources/BridgeJSCore/ExportSwift.swift

Lines changed: 28 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -739,17 +739,17 @@ struct StackCodegen {
739739
case .string, .int, .uint, .bool, .float, .double,
740740
.jsObject(nil), .jsValue, .swiftStruct, .swiftHeapObject, .unsafePointer,
741741
.swiftProtocol, .caseEnum, .associatedValueEnum, .rawValueEnum:
742-
return "\(raw: type.swiftType).bridgeJSLiftParameter()"
742+
return "\(raw: type.swiftType).bridgeJSStackPop()"
743743
case .jsObject(let className?):
744-
return "\(raw: className)(unsafelyWrapping: JSObject.bridgeJSLiftParameter())"
744+
return "\(raw: className)(unsafelyWrapping: JSObject.bridgeJSStackPop())"
745745
case .nullable(let wrappedType, let kind):
746746
return liftNullableExpression(wrappedType: wrappedType, kind: kind)
747747
case .array(let elementType):
748748
return liftArrayExpression(elementType: elementType)
749749
case .dictionary(let valueType):
750750
return liftDictionaryExpression(valueType: valueType)
751751
case .closure:
752-
return "JSObject.bridgeJSLiftParameter()"
752+
return "JSObject.bridgeJSStackPop()"
753753
case .void, .namespaceEnum:
754754
return "()"
755755
}
@@ -758,13 +758,13 @@ struct StackCodegen {
758758
func liftArrayExpression(elementType: BridgeType) -> ExprSyntax {
759759
switch elementType {
760760
case .jsObject(let className?) where className != "JSObject":
761-
return "[JSObject].bridgeJSLiftParameter().map { \(raw: className)(unsafelyWrapping: $0) }"
761+
return "[JSObject].bridgeJSStackPop().map { \(raw: className)(unsafelyWrapping: $0) }"
762762
case .nullable, .closure:
763763
return liftArrayExpressionInline(elementType: elementType)
764764
case .void, .namespaceEnum:
765765
fatalError("Invalid array element type: \(elementType)")
766766
default:
767-
return "[\(raw: elementType.swiftType)].bridgeJSLiftParameter()"
767+
return "[\(raw: elementType.swiftType)].bridgeJSStackPop()"
768768
}
769769
}
770770

@@ -790,7 +790,7 @@ struct StackCodegen {
790790
case .jsObject(let className?) where className != "JSObject":
791791
return """
792792
{
793-
let __dict = [String: JSObject].bridgeJSLiftParameter()
793+
let __dict = [String: JSObject].bridgeJSStackPop()
794794
return __dict.mapValues { \(raw: className)(unsafelyWrapping: $0) }
795795
}()
796796
"""
@@ -799,7 +799,7 @@ struct StackCodegen {
799799
case .void, .namespaceEnum:
800800
fatalError("Invalid dictionary value type: \(valueType)")
801801
default:
802-
return "[String: \(raw: valueType.swiftType)].bridgeJSLiftParameter()"
802+
return "[String: \(raw: valueType.swiftType)].bridgeJSStackPop()"
803803
}
804804
}
805805

@@ -813,7 +813,7 @@ struct StackCodegen {
813813
__result.reserveCapacity(__count)
814814
for _ in 0..<__count {
815815
let __value = \(valueLift)
816-
let __key = String.bridgeJSLiftParameter()
816+
let __key = String.bridgeJSStackPop()
817817
__result[__key] = __value
818818
}
819819
return __result
@@ -827,9 +827,9 @@ struct StackCodegen {
827827
case .string, .int, .uint, .bool, .float, .double, .jsObject(nil), .jsValue,
828828
.swiftStruct, .swiftHeapObject, .caseEnum, .associatedValueEnum, .rawValueEnum,
829829
.array, .dictionary:
830-
return "\(raw: typeName)<\(raw: wrappedType.swiftType)>.bridgeJSLiftParameter()"
830+
return "\(raw: typeName)<\(raw: wrappedType.swiftType)>.bridgeJSStackPop()"
831831
case .jsObject(let className?):
832-
return "\(raw: typeName)<JSObject>.bridgeJSLiftParameter().map { \(raw: className)(unsafelyWrapping: $0) }"
832+
return "\(raw: typeName)<JSObject>.bridgeJSStackPop().map { \(raw: className)(unsafelyWrapping: $0) }"
833833
case .nullable, .void, .namespaceEnum, .closure, .unsafePointer, .swiftProtocol:
834834
fatalError("Invalid nullable wrapped type: \(wrappedType)")
835835
}
@@ -850,13 +850,13 @@ struct StackCodegen {
850850
case .string, .int, .uint, .bool, .float, .double, .jsValue,
851851
.jsObject(nil), .swiftHeapObject, .unsafePointer, .closure,
852852
.caseEnum, .rawValueEnum:
853-
return ["\(raw: accessor).bridgeJSLowerStackReturn()"]
853+
return ["\(raw: accessor).bridgeJSStackPush()"]
854854
case .jsObject(_?):
855-
return ["\(raw: accessor).jsObject.bridgeJSLowerStackReturn()"]
855+
return ["\(raw: accessor).jsObject.bridgeJSStackPush()"]
856856
case .swiftProtocol:
857-
return ["(\(raw: accessor) as! \(raw: type.swiftType)).bridgeJSLowerStackReturn()"]
857+
return ["(\(raw: accessor) as! \(raw: type.swiftType)).bridgeJSStackPush()"]
858858
case .associatedValueEnum, .swiftStruct:
859-
return ["\(raw: accessor).bridgeJSLowerReturn()"]
859+
return ["\(raw: accessor).bridgeJSStackPush()"]
860860
case .nullable(let wrappedType, _):
861861
return lowerOptionalStatements(wrappedType: wrappedType, accessor: accessor, varPrefix: varPrefix)
862862
case .void, .namespaceEnum:
@@ -875,9 +875,9 @@ struct StackCodegen {
875875
) -> [CodeBlockItemSyntax] {
876876
switch elementType {
877877
case .jsObject(let className?) where className != "JSObject":
878-
return ["\(raw: accessor).map { $0.jsObject }.bridgeJSLowerReturn()"]
878+
return ["\(raw: accessor).map { $0.jsObject }.bridgeJSStackPush()"]
879879
case .swiftProtocol:
880-
return ["\(raw: accessor).map { $0 as! \(raw: elementType.swiftType) }.bridgeJSLowerReturn()"]
880+
return ["\(raw: accessor).map { $0 as! \(raw: elementType.swiftType) }.bridgeJSStackPush()"]
881881
case .nullable, .closure:
882882
return lowerArrayStatementsInline(
883883
elementType: elementType,
@@ -887,7 +887,7 @@ struct StackCodegen {
887887
case .void, .namespaceEnum:
888888
fatalError("Invalid array element type: \(elementType)")
889889
default:
890-
return ["\(raw: accessor).bridgeJSLowerReturn()"]
890+
return ["\(raw: accessor).bridgeJSStackPush()"]
891891
}
892892
}
893893

@@ -922,9 +922,9 @@ struct StackCodegen {
922922
) -> [CodeBlockItemSyntax] {
923923
switch valueType {
924924
case .jsObject(let className?) where className != "JSObject":
925-
return ["\(raw: accessor).mapValues { $0.jsObject }.bridgeJSLowerReturn()"]
925+
return ["\(raw: accessor).mapValues { $0.jsObject }.bridgeJSStackPush()"]
926926
case .swiftProtocol:
927-
return ["\(raw: accessor).mapValues { $0 as! \(raw: valueType.swiftType) }.bridgeJSLowerReturn()"]
927+
return ["\(raw: accessor).mapValues { $0 as! \(raw: valueType.swiftType) }.bridgeJSStackPush()"]
928928
case .nullable, .closure:
929929
return lowerDictionaryStatementsInline(
930930
valueType: valueType,
@@ -934,7 +934,7 @@ struct StackCodegen {
934934
case .void, .namespaceEnum:
935935
fatalError("Invalid dictionary value type: \(valueType)")
936936
default:
937-
return ["\(raw: accessor).bridgeJSLowerReturn()"]
937+
return ["\(raw: accessor).bridgeJSStackPush()"]
938938
}
939939
}
940940

@@ -979,7 +979,7 @@ struct StackCodegen {
979979
) -> [CodeBlockItemSyntax] {
980980
switch wrappedType {
981981
case .array, .dictionary, .swiftStruct:
982-
return ["\(raw: accessor).bridgeJSLowerReturn()"]
982+
return ["\(raw: accessor).bridgeJSStackPush()"]
983983
default:
984984
break
985985
}
@@ -1008,13 +1008,13 @@ struct StackCodegen {
10081008
) -> [CodeBlockItemSyntax] {
10091009
switch wrappedType {
10101010
case .jsObject(_?):
1011-
return ["\(raw: unwrappedVar).jsObject.bridgeJSLowerStackReturn()"]
1011+
return ["\(raw: unwrappedVar).jsObject.bridgeJSStackPush()"]
10121012
case .swiftProtocol:
1013-
return ["(\(raw: unwrappedVar) as! \(raw: wrappedType.swiftType)).bridgeJSLowerStackReturn()"]
1013+
return ["(\(raw: unwrappedVar) as! \(raw: wrappedType.swiftType)).bridgeJSStackPush()"]
10141014
case .string, .int, .uint, .bool, .float, .double, .jsValue,
10151015
.jsObject(nil), .swiftHeapObject, .unsafePointer, .closure,
10161016
.caseEnum, .rawValueEnum, .associatedValueEnum:
1017-
return ["\(raw: unwrappedVar).bridgeJSLowerStackReturn()"]
1017+
return ["\(raw: unwrappedVar).bridgeJSStackPush()"]
10181018
default:
10191019
return ["preconditionFailure(\"BridgeJS: unsupported optional wrapped type\")"]
10201020
}
@@ -1225,14 +1225,14 @@ struct StructCodegen {
12251225
let printer = CodeFragmentPrinter()
12261226
printer.write("extension \(typeName): _BridgedSwiftStruct {")
12271227
printer.indent {
1228-
printer.write("@_spi(BridgeJS) @_transparent public static func bridgeJSLiftParameter() -> \(typeName) {")
1228+
printer.write("@_spi(BridgeJS) @_transparent public static func bridgeJSStackPop() -> \(typeName) {")
12291229
printer.indent {
12301230
printer.write(lines: generateStructLiftCode(structDef: structDef))
12311231
}
12321232
printer.write("}")
12331233
printer.nextLine()
12341234

1235-
printer.write("@_spi(BridgeJS) @_transparent public consuming func bridgeJSLowerReturn() {")
1235+
printer.write("@_spi(BridgeJS) @_transparent public consuming func bridgeJSStackPush() {")
12361236
printer.indent {
12371237
printer.write(lines: generateStructLowerCode(structDef: structDef))
12381238
}
@@ -1247,7 +1247,7 @@ struct StructCodegen {
12471247
defer {
12481248
_swift_js_struct_cleanup(__bjs_cleanupId)
12491249
}
1250-
self = Self.bridgeJSLiftParameter()
1250+
self = Self.bridgeJSStackPop()
12511251
}
12521252
"""
12531253
)
@@ -1257,7 +1257,7 @@ struct StructCodegen {
12571257
multilineString: """
12581258
\(accessControl)func toJSObject() -> JSObject {
12591259
let __bjs_self = self
1260-
__bjs_self.bridgeJSLowerReturn()
1260+
__bjs_self.bridgeJSStackPush()
12611261
return JSObject(id: UInt32(bitPattern: \(liftFunctionName)()))
12621262
}
12631263
"""

0 commit comments

Comments
 (0)