mirror of
https://github.com/ziglang/zig.git
synced 2026-01-30 11:13:38 +00:00
resinator: use ArrayList instead of BoundedArray
In this case it improved maintainability because magic number `4` is no longer repeated 3 times, and there is no longer a redundant branch in the loop.
This commit is contained in:
parent
49d6dd3ecb
commit
46af8bd2ba
@ -1246,13 +1246,16 @@ pub const Parser = struct {
|
||||
self.nextToken(.normal) catch unreachable;
|
||||
switch (statement_type) {
|
||||
.file_version, .product_version => {
|
||||
var parts = std.BoundedArray(*Node, 4){};
|
||||
var parts_buffer: [4]*Node = undefined;
|
||||
var parts = std.ArrayListUnmanaged(*Node).initBuffer(&parts_buffer);
|
||||
|
||||
while (parts.len < 4) {
|
||||
while (true) {
|
||||
const value = try self.parseExpression(.{ .allowed_types = .{ .number = true } });
|
||||
parts.addOneAssumeCapacity().* = value;
|
||||
|
||||
if (parts.len == 4 or !(try self.parseOptionalToken(.comma))) {
|
||||
if (parts.unusedCapacitySlice().len == 0 or
|
||||
!(try self.parseOptionalToken(.comma)))
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -1260,7 +1263,7 @@ pub const Parser = struct {
|
||||
const node = try self.state.arena.create(Node.VersionStatement);
|
||||
node.* = .{
|
||||
.type = type_token,
|
||||
.parts = try self.state.arena.dupe(*Node, parts.slice()),
|
||||
.parts = try self.state.arena.dupe(*Node, parts.items),
|
||||
};
|
||||
return &node.base;
|
||||
},
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user