@@ -120,17 +120,19 @@ void *SwiftIdentifierExpr_create(void *ctx, BridgedIdentifier base, void *loc) {
120120void *SwiftStringLiteralExpr_create (void *ctx, const uint8_t *_Nullable string,
121121 long len, void *TokenLoc) {
122122 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));
126127}
127128
128129void *SwiftIntegerLiteralExpr_create (void *ctx, const uint8_t *_Nullable string,
129130 long len, void *TokenLoc) {
130131 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));
134136}
135137
136138void *SwiftBooleanLiteralExpr_create (void *ctx, bool value, void *TokenLoc) {
0 commit comments