@@ -209,7 +209,7 @@ const Scope = struct {
209
209
210
210
pub const Context = struct {
211
211
tree : * ast.Tree ,
212
- source_buffer : * std.Buffer ,
212
+ source_buffer : * std .ArrayList ( u8 ) ,
213
213
err : Error ,
214
214
source_manager : * ZigClangSourceManager ,
215
215
decl_table : DeclTable ,
@@ -296,7 +296,8 @@ pub fn translate(
296
296
.eof_token = undefined ,
297
297
};
298
298
299
- var source_buffer = try std .Buffer .initSize (arena , 0 );
299
+ var source_buffer = std .ArrayList (u8 ).init (arena );
300
+ errdefer source_buffer .deinit ();
300
301
301
302
var context = Context {
302
303
.tree = tree ,
@@ -4291,7 +4292,7 @@ fn makeRestorePoint(c: *Context) RestorePoint {
4291
4292
return RestorePoint {
4292
4293
.c = c ,
4293
4294
.token_index = c .tree .tokens .len ,
4294
- .src_buf_index = c .source_buffer .len () ,
4295
+ .src_buf_index = c .source_buffer .len ,
4295
4296
};
4296
4297
}
4297
4298
@@ -4754,14 +4755,14 @@ fn appendToken(c: *Context, token_id: Token.Id, bytes: []const u8) !ast.TokenInd
4754
4755
fn appendTokenFmt (c : * Context , token_id : Token.Id , comptime format : []const u8 , args : var ) ! ast.TokenIndex {
4755
4756
const S = struct {
4756
4757
fn callback (context : * Context , bytes : []const u8 ) error {OutOfMemory }! void {
4757
- return context .source_buffer .append (bytes );
4758
+ return context .source_buffer .appendSlice (bytes );
4758
4759
}
4759
4760
};
4760
- const start_index = c .source_buffer .len () ;
4761
+ const start_index = c .source_buffer .len ;
4761
4762
errdefer c .source_buffer .shrink (start_index );
4762
4763
4763
4764
try std .fmt .format (c , error {OutOfMemory }, S .callback , format , args );
4764
- const end_index = c .source_buffer .len () ;
4765
+ const end_index = c .source_buffer .len ;
4765
4766
const token_index = c .tree .tokens .len ;
4766
4767
const new_token = try c .tree .tokens .addOne ();
4767
4768
errdefer c .tree .tokens .shrink (token_index );
@@ -4771,7 +4772,7 @@ fn appendTokenFmt(c: *Context, token_id: Token.Id, comptime format: []const u8,
4771
4772
.start = start_index ,
4772
4773
.end = end_index ,
4773
4774
};
4774
- try c .source_buffer .appendByte (' ' );
4775
+ try c .source_buffer .append (' ' );
4775
4776
4776
4777
return token_index ;
4777
4778
}
@@ -5789,7 +5790,7 @@ fn parseCPrefixOpExpr(c: *Context, it: *CTokenList.Iterator, source: []const u8,
5789
5790
5790
5791
fn tokenSlice (c : * Context , token : ast.TokenIndex ) []u8 {
5791
5792
const tok = c .tree .tokens .at (token );
5792
- const slice = c .source_buffer .toSlice ()[tok .start .. tok .end ];
5793
+ const slice = c .source_buffer .span ()[tok .start .. tok .end ];
5793
5794
return if (mem .startsWith (u8 , slice , "@\" " ))
5794
5795
slice [2 .. slice .len - 1 ]
5795
5796
else
0 commit comments