@@ -734,7 +734,7 @@ struct StackCodegen {
734734 func liftExpression( for type: BridgeType ) -> ExprSyntax {
735735 switch type {
736736 case . string, . int, . uint, . bool, . float, . double,
737- . jsObject( nil ) , . jsValue, . swiftStruct, . swiftHeapObject, . unsafePointer,
737+ . jsObject( nil ) , . jsString , . jsValue, . swiftStruct, . swiftHeapObject, . unsafePointer,
738738 . swiftProtocol, . caseEnum, . associatedValueEnum, . rawValueEnum, . array, . dictionary:
739739 return " \( raw: type. swiftType) .bridgeJSStackPop() "
740740 case . jsObject( let className? ) :
@@ -751,7 +751,7 @@ struct StackCodegen {
751751 private func liftNullableExpression( wrappedType: BridgeType , kind: JSOptionalKind ) -> ExprSyntax {
752752 let typeName = kind == . null ? " Optional " : " JSUndefinedOr "
753753 switch wrappedType {
754- case . string, . int, . uint, . bool, . float, . double, . jsObject( nil ) , . jsValue,
754+ case . string, . int, . uint, . bool, . float, . double, . jsObject( nil ) , . jsString , . jsValue,
755755 . swiftStruct, . swiftHeapObject, . caseEnum, . associatedValueEnum, . rawValueEnum,
756756 . array, . dictionary:
757757 return " \( raw: typeName) < \( raw: wrappedType. swiftType) >.bridgeJSStackPop() "
@@ -775,7 +775,7 @@ struct StackCodegen {
775775 ) -> [ CodeBlockItemSyntax ] {
776776 switch type {
777777 case . string, . int, . uint, . bool, . float, . double, . jsValue,
778- . jsObject( nil ) , . swiftHeapObject, . unsafePointer, . closure,
778+ . jsObject( nil ) , . jsString , . swiftHeapObject, . unsafePointer, . closure,
779779 . caseEnum, . rawValueEnum, . associatedValueEnum, . swiftStruct, . nullable:
780780 return [ " \( raw: accessor) .bridgeJSStackPush() " ]
781781 case . jsObject( _? ) :
@@ -1385,6 +1385,7 @@ extension BridgeType {
13851385 case . jsValue: return " JSValue "
13861386 case . jsObject( nil ) : return " JSObject "
13871387 case . jsObject( let name? ) : return name
1388+ case . jsString: return " JSString "
13881389 case . swiftHeapObject( let name) : return name
13891390 case . unsafePointer( let ptr) : return ptr. swiftType
13901391 case . swiftProtocol( let name) : return " Any \( name) "
@@ -1431,6 +1432,7 @@ extension BridgeType {
14311432 static let double = LiftingIntrinsicInfo ( parameters: [ ( " value " , . f64) ] )
14321433 static let string = LiftingIntrinsicInfo ( parameters: [ ( " bytes " , . i32) , ( " length " , . i32) ] )
14331434 static let jsObject = LiftingIntrinsicInfo ( parameters: [ ( " value " , . i32) ] )
1435+ static let jsString = LiftingIntrinsicInfo ( parameters: [ ( " value " , . i32) ] )
14341436 static let jsValue = LiftingIntrinsicInfo ( parameters: [ ( " kind " , . i32) , ( " payload1 " , . i32) , ( " payload2 " , . f64) ] )
14351437 static let swiftHeapObject = LiftingIntrinsicInfo ( parameters: [ ( " value " , . pointer) ] )
14361438 static let unsafePointer = LiftingIntrinsicInfo ( parameters: [ ( " pointer " , . pointer) ] )
@@ -1449,6 +1451,7 @@ extension BridgeType {
14491451 case . double: return . double
14501452 case . string: return . string
14511453 case . jsObject: return . jsObject
1454+ case . jsString: return . jsString
14521455 case . jsValue: return . jsValue
14531456 case . swiftHeapObject: return . swiftHeapObject
14541457 case . unsafePointer: return . unsafePointer
@@ -1487,6 +1490,7 @@ extension BridgeType {
14871490 static let double = LoweringIntrinsicInfo ( returnType: . f64)
14881491 static let string = LoweringIntrinsicInfo ( returnType: nil )
14891492 static let jsObject = LoweringIntrinsicInfo ( returnType: . i32)
1493+ static let jsString = LoweringIntrinsicInfo ( returnType: . i32)
14901494 static let jsValue = LoweringIntrinsicInfo ( returnType: nil )
14911495 static let swiftHeapObject = LoweringIntrinsicInfo ( returnType: . pointer)
14921496 static let unsafePointer = LoweringIntrinsicInfo ( returnType: . pointer)
@@ -1507,6 +1511,7 @@ extension BridgeType {
15071511 case . double: return . double
15081512 case . string: return . string
15091513 case . jsObject: return . jsObject
1514+ case . jsString: return . jsString
15101515 case . jsValue: return . jsValue
15111516 case . swiftHeapObject: return . swiftHeapObject
15121517 case . unsafePointer: return . unsafePointer
0 commit comments