@@ -120,17 +120,19 @@ void *SwiftIdentifierExpr_create(void *ctx, BridgedIdentifier base, void *loc) {
120
120
void *SwiftStringLiteralExpr_create (void *ctx, const uint8_t *_Nullable string,
121
121
long len, void *TokenLoc) {
122
122
ASTContext &Context = *static_cast <ASTContext *>(ctx);
123
- return new (Context) StringLiteralExpr (
124
- StringRef{reinterpret_cast <const char *>(string), size_t (len)},
125
- getSourceLocFromPointer (TokenLoc));
123
+ auto stringRef = Context.AllocateCopy (
124
+ StringRef{reinterpret_cast <const char *>(string), size_t (len)});
125
+ return new (Context)
126
+ StringLiteralExpr (stringRef, getSourceLocFromPointer (TokenLoc));
126
127
}
127
128
128
129
void *SwiftIntegerLiteralExpr_create (void *ctx, const uint8_t *_Nullable string,
129
130
long len, void *TokenLoc) {
130
131
ASTContext &Context = *static_cast <ASTContext *>(ctx);
131
- return new (Context) IntegerLiteralExpr (
132
- StringRef{reinterpret_cast <const char *>(string), size_t (len)},
133
- getSourceLocFromPointer (TokenLoc));
132
+ auto stringRef = Context.AllocateCopy (
133
+ StringRef{reinterpret_cast <const char *>(string), size_t (len)});
134
+ return new (Context)
135
+ IntegerLiteralExpr (stringRef, getSourceLocFromPointer (TokenLoc));
134
136
}
135
137
136
138
void *SwiftBooleanLiteralExpr_create (void *ctx, bool value, void *TokenLoc) {
0 commit comments