std: rename List to ArrayList and re-organize...

...the exports of std.

closes #356
master
Andrew Kelley 2017-05-04 14:05:06 -04:00
parent b6a679c0ed
commit 5c094d7390
10 changed files with 113 additions and 100 deletions

View File

@ -196,6 +196,7 @@ install(TARGETS zig DESTINATION bin)
install(FILES ${C_HEADERS} DESTINATION ${C_HEADERS_DEST})
install(FILES "${CMAKE_SOURCE_DIR}/std/array_list.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/base64.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/buf_map.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/buf_set.zig" DESTINATION "${ZIG_STD_DEST}")
@ -216,7 +217,6 @@ install(FILES "${CMAKE_SOURCE_DIR}/std/hash_map.zig" DESTINATION "${ZIG_STD_DEST
install(FILES "${CMAKE_SOURCE_DIR}/std/index.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/io.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/linked_list.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/list.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/math.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/mem.zig" DESTINATION "${ZIG_STD_DEST}")
install(FILES "${CMAKE_SOURCE_DIR}/std/net.zig" DESTINATION "${ZIG_STD_DEST}")

View File

@ -3,7 +3,7 @@ const assert = debug.assert;
const mem = @import("mem.zig");
const Allocator = mem.Allocator;
pub fn List(comptime T: type) -> type{
pub fn ArrayList(comptime T: type) -> type{
struct {
const Self = this;
@ -74,8 +74,8 @@ pub fn List(comptime T: type) -> type{
}
}
test "basic list test" {
var list = List(i32).init(&debug.global_allocator);
test "basic ArrayList test" {
var list = ArrayList(i32).init(&debug.global_allocator);
defer list.deinit();
{var i: usize = 0; while (i < 10) : (i += 1) {

View File

@ -2,11 +2,11 @@ const debug = @import("debug.zig");
const mem = @import("mem.zig");
const Allocator = mem.Allocator;
const assert = debug.assert;
const List = @import("list.zig").List;
const ArrayList = @import("array_list.zig").ArrayList;
/// A buffer that allocates memory and maintains a null byte at the end.
pub const Buffer = struct {
list: List(u8),
list: ArrayList(u8),
/// Must deinitialize with deinit.
pub fn init(allocator: &Allocator, m: []const u8) -> %Buffer {
@ -29,7 +29,7 @@ pub const Buffer = struct {
/// * ::resize
pub fn initNull(allocator: &Allocator) -> Buffer {
Buffer {
.list = List(u8).init(allocator),
.list = ArrayList(u8).init(allocator),
}
}

View File

@ -3,7 +3,7 @@ const io = @import("io.zig");
const mem = @import("mem.zig");
const debug = @import("debug.zig");
const assert = debug.assert;
const List = @import("list.zig").List;
const ArrayList = @import("array_list.zig").ArrayList;
const HashMap = @import("hash_map.zig").HashMap;
const Allocator = @import("mem.zig").Allocator;
const os = @import("os/index.zig");
@ -26,22 +26,22 @@ pub const Builder = struct {
have_uninstall_step: bool,
have_install_step: bool,
allocator: &Allocator,
lib_paths: List([]const u8),
include_paths: List([]const u8),
rpaths: List([]const u8),
lib_paths: ArrayList([]const u8),
include_paths: ArrayList([]const u8),
rpaths: ArrayList([]const u8),
user_input_options: UserInputOptionsMap,
available_options_map: AvailableOptionsMap,
available_options_list: List(AvailableOption),
available_options_list: ArrayList(AvailableOption),
verbose: bool,
invalid_user_input: bool,
zig_exe: []const u8,
default_step: &Step,
env_map: BufMap,
top_level_steps: List(&TopLevelStep),
top_level_steps: ArrayList(&TopLevelStep),
prefix: []const u8,
lib_dir: []const u8,
exe_dir: []const u8,
installed_files: List([]const u8),
installed_files: ArrayList([]const u8),
build_root: []const u8,
cache_root: []const u8,
@ -63,7 +63,7 @@ pub const Builder = struct {
const UserValue = enum {
Flag,
Scalar: []const u8,
List: List([]const u8),
List: ArrayList([]const u8),
};
const TypeId = enum {
@ -89,19 +89,19 @@ pub const Builder = struct {
.verbose = false,
.invalid_user_input = false,
.allocator = allocator,
.lib_paths = List([]const u8).init(allocator),
.include_paths = List([]const u8).init(allocator),
.rpaths = List([]const u8).init(allocator),
.lib_paths = ArrayList([]const u8).init(allocator),
.include_paths = ArrayList([]const u8).init(allocator),
.rpaths = ArrayList([]const u8).init(allocator),
.user_input_options = UserInputOptionsMap.init(allocator),
.available_options_map = AvailableOptionsMap.init(allocator),
.available_options_list = List(AvailableOption).init(allocator),
.top_level_steps = List(&TopLevelStep).init(allocator),
.available_options_list = ArrayList(AvailableOption).init(allocator),
.top_level_steps = ArrayList(&TopLevelStep).init(allocator),
.default_step = undefined,
.env_map = %%os.getEnvMap(allocator),
.prefix = undefined,
.lib_dir = undefined,
.exe_dir = undefined,
.installed_files = List([]const u8).init(allocator),
.installed_files = ArrayList([]const u8).init(allocator),
.uninstall_tls = TopLevelStep {
.step = Step.init("uninstall", allocator, makeUninstall),
.description = "Remove build artifacts from prefix path",
@ -225,7 +225,7 @@ pub const Builder = struct {
}
pub fn make(self: &Builder, step_names: []const []const u8) -> %void {
var wanted_steps = List(&Step).init(self.allocator);
var wanted_steps = ArrayList(&Step).init(self.allocator);
defer wanted_steps.deinit();
if (step_names.len == 0) {
@ -433,7 +433,7 @@ pub const Builder = struct {
switch (prev_value.value) {
UserValue.Scalar => |s| {
// turn it into a list
var list = List([]const u8).init(self.allocator);
var list = ArrayList([]const u8).init(self.allocator);
%%list.append(s);
%%list.append(value);
_ = %%self.user_input_options.put(name, UserInputOption {
@ -695,9 +695,9 @@ pub const LibExeObjStep = struct {
out_filename: []const u8,
major_only_filename: []const u8,
name_only_filename: []const u8,
object_files: List([]const u8),
assembly_files: List([]const u8),
packages: List(Pkg),
object_files: ArrayList([]const u8),
assembly_files: ArrayList([]const u8),
packages: ArrayList(Pkg),
const Pkg = struct {
name: []const u8,
@ -758,9 +758,9 @@ pub const LibExeObjStep = struct {
.out_h_filename = builder.fmt("{}.h", name),
.major_only_filename = undefined,
.name_only_filename = undefined,
.object_files = List([]const u8).init(builder.allocator),
.assembly_files = List([]const u8).init(builder.allocator),
.packages = List(Pkg).init(builder.allocator),
.object_files = ArrayList([]const u8).init(builder.allocator),
.assembly_files = ArrayList([]const u8).init(builder.allocator),
.packages = ArrayList(Pkg).init(builder.allocator),
};
self.computeOutFileNames();
return self;
@ -875,7 +875,7 @@ pub const LibExeObjStep = struct {
return error.NeedAnObject;
}
var zig_args = List([]const u8).init(builder.allocator);
var zig_args = ArrayList([]const u8).init(builder.allocator);
defer zig_args.deinit();
const cmd = switch (self.kind) {
@ -1043,7 +1043,7 @@ pub const TestStep = struct {
const self = @fieldParentPtr(TestStep, "step", step);
const builder = self.builder;
var zig_args = List([]const u8).init(builder.allocator);
var zig_args = ArrayList([]const u8).init(builder.allocator);
defer zig_args.deinit();
%%zig_args.append("test");
@ -1104,14 +1104,14 @@ pub const CLibExeObjStep = struct {
output_path: ?[]const u8,
static: bool,
version: Version,
cflags: List([]const u8),
source_files: List([]const u8),
object_files: List([]const u8),
cflags: ArrayList([]const u8),
source_files: ArrayList([]const u8),
object_files: ArrayList([]const u8),
link_libs: BufSet,
full_path_libs: List([]const u8),
full_path_libs: ArrayList([]const u8),
target: Target,
builder: &Builder,
include_dirs: List([]const u8),
include_dirs: ArrayList([]const u8),
major_only_filename: []const u8,
name_only_filename: []const u8,
object_src: []const u8,
@ -1158,13 +1158,13 @@ pub const CLibExeObjStep = struct {
.version = *version,
.static = static,
.target = Target.Native,
.cflags = List([]const u8).init(builder.allocator),
.source_files = List([]const u8).init(builder.allocator),
.object_files = List([]const u8).init(builder.allocator),
.cflags = ArrayList([]const u8).init(builder.allocator),
.source_files = ArrayList([]const u8).init(builder.allocator),
.object_files = ArrayList([]const u8).init(builder.allocator),
.step = Step.init(name, builder.allocator, make),
.link_libs = BufSet.init(builder.allocator),
.full_path_libs = List([]const u8).init(builder.allocator),
.include_dirs = List([]const u8).init(builder.allocator),
.full_path_libs = ArrayList([]const u8).init(builder.allocator),
.include_dirs = ArrayList([]const u8).init(builder.allocator),
.output_path = null,
.out_filename = undefined,
.major_only_filename = undefined,
@ -1267,7 +1267,7 @@ pub const CLibExeObjStep = struct {
}
}
fn appendCompileFlags(self: &CLibExeObjStep, args: &List([]const u8)) {
fn appendCompileFlags(self: &CLibExeObjStep, args: &ArrayList([]const u8)) {
if (!self.strip) {
%%args.append("-g");
}
@ -1300,7 +1300,7 @@ pub const CLibExeObjStep = struct {
const cc = os.getEnv("CC") ?? "cc";
const builder = self.builder;
var cc_args = List([]const u8).init(builder.allocator);
var cc_args = ArrayList([]const u8).init(builder.allocator);
defer cc_args.deinit();
switch (self.kind) {
@ -1646,7 +1646,7 @@ pub const RemoveDirStep = struct {
pub const Step = struct {
name: []const u8,
makeFn: fn(self: &Step) -> %void,
dependencies: List(&Step),
dependencies: ArrayList(&Step),
loop_flag: bool,
done_flag: bool,
@ -1654,7 +1654,7 @@ pub const Step = struct {
Step {
.name = name,
.makeFn = makeFn,
.dependencies = List(&Step).init(allocator),
.dependencies = ArrayList(&Step).init(allocator),
.loop_flag = false,
.done_flag = false,
}

View File

@ -3,7 +3,7 @@ const io = @import("io.zig");
const os = @import("os/index.zig");
const elf = @import("elf.zig");
const DW = @import("dwarf.zig");
const List = @import("list.zig").List;
const ArrayList = @import("array_list.zig").ArrayList;
const builtin = @import("builtin");
error MissingDebugInfo;
@ -60,8 +60,8 @@ pub fn writeStackTrace(out_stream: &io.OutStream, allocator: &mem.Allocator, tty
.debug_abbrev = undefined,
.debug_str = undefined,
.debug_line = undefined,
.abbrev_table_list = List(AbbrevTableHeader).init(allocator),
.compile_unit_list = List(CompileUnit).init(allocator),
.abbrev_table_list = ArrayList(AbbrevTableHeader).init(allocator),
.compile_unit_list = ArrayList(CompileUnit).init(allocator),
};
const st = &stack_trace;
st.self_exe_stream = %return io.openSelfExe();
@ -179,8 +179,8 @@ const ElfStackTrace = struct {
debug_abbrev: &elf.SectionHeader,
debug_str: &elf.SectionHeader,
debug_line: &elf.SectionHeader,
abbrev_table_list: List(AbbrevTableHeader),
compile_unit_list: List(CompileUnit),
abbrev_table_list: ArrayList(AbbrevTableHeader),
compile_unit_list: ArrayList(CompileUnit),
pub fn allocator(self: &const ElfStackTrace) -> &mem.Allocator {
return self.abbrev_table_list.allocator;
@ -204,7 +204,7 @@ const CompileUnit = struct {
pc_range: ?PcRange,
};
const AbbrevTable = List(AbbrevTableEntry);
const AbbrevTable = ArrayList(AbbrevTableEntry);
const AbbrevTableHeader = struct {
// offset from .debug_abbrev
@ -216,7 +216,7 @@ const AbbrevTableEntry = struct {
has_children: bool,
abbrev_code: u64,
tag_id: u64,
attrs: List(AbbrevAttr),
attrs: ArrayList(AbbrevAttr),
};
const AbbrevAttr = struct {
@ -254,7 +254,7 @@ const Constant = struct {
const Die = struct {
tag_id: u64,
has_children: bool,
attrs: List(Attr),
attrs: ArrayList(Attr),
const Attr = struct {
id: u64,
@ -324,7 +324,7 @@ const LineNumberProgram = struct {
target_address: usize,
include_dirs: []const []const u8,
file_entries: &List(FileEntry),
file_entries: &ArrayList(FileEntry),
prev_address: usize,
prev_file: usize,
@ -335,7 +335,7 @@ const LineNumberProgram = struct {
prev_end_sequence: bool,
pub fn init(is_stmt: bool, include_dirs: []const []const u8,
file_entries: &List(FileEntry), target_address: usize) -> LineNumberProgram
file_entries: &ArrayList(FileEntry), target_address: usize) -> LineNumberProgram
{
LineNumberProgram {
.address = 0,
@ -394,7 +394,7 @@ const LineNumberProgram = struct {
};
fn readStringRaw(allocator: &mem.Allocator, in_stream: &io.InStream) -> %[]u8 {
var buf = List(u8).init(allocator);
var buf = ArrayList(u8).init(allocator);
while (true) {
const byte = %return in_stream.readByte();
if (byte == 0)
@ -525,7 +525,7 @@ fn parseAbbrevTable(st: &ElfStackTrace) -> %AbbrevTable {
.abbrev_code = abbrev_code,
.tag_id = %return readULeb128(in_stream),
.has_children = (%return in_stream.readByte()) == DW.CHILDREN_yes,
.attrs = List(AbbrevAttr).init(st.allocator()),
.attrs = ArrayList(AbbrevAttr).init(st.allocator()),
});
const attrs = &result.items[result.len - 1].attrs;
@ -574,7 +574,7 @@ fn parseDie(st: &ElfStackTrace, abbrev_table: &const AbbrevTable, is_64: bool) -
var result = Die {
.tag_id = table_entry.tag_id,
.has_children = table_entry.has_children,
.attrs = List(Die.Attr).init(st.allocator()),
.attrs = ArrayList(Die.Attr).init(st.allocator()),
};
%return result.attrs.resize(table_entry.attrs.len);
for (table_entry.attrs.toSliceConst()) |attr, i| {
@ -632,7 +632,7 @@ fn getLineNumberInfo(st: &ElfStackTrace, compile_unit: &const CompileUnit, targe
standard_opcode_lengths[i] = %return in_stream.readByte();
}}
var include_directories = List([]u8).init(st.allocator());
var include_directories = ArrayList([]u8).init(st.allocator());
%return include_directories.append(compile_unit_cwd);
while (true) {
const dir = %return st.readString();
@ -641,7 +641,7 @@ fn getLineNumberInfo(st: &ElfStackTrace, compile_unit: &const CompileUnit, targe
%return include_directories.append(dir);
}
var file_entries = List(FileEntry).init(st.allocator());
var file_entries = ArrayList(FileEntry).init(st.allocator());
var prog = LineNumberProgram.init(default_is_stmt, include_directories.toSliceConst(),
&file_entries, target_address);

View File

@ -1,15 +1,21 @@
pub const ArrayList = @import("array_list.zig").ArrayList;
pub const BufMap = @import("buf_map.zig").BufMap;
pub const BufSet = @import("buf_set.zig").BufSet;
pub const Buffer = @import("buffer.zig").Buffer;
pub const HashMap = @import("hash_map.zig").HashMap;
pub const LinkedList = @import("linked_list.zig").LinkedList;
pub const base64 = @import("base64.zig");
pub const buffer = @import("buffer.zig");
pub const build = @import("build.zig");
pub const c = @import("c/index.zig");
pub const cstr = @import("cstr.zig");
pub const debug = @import("debug.zig");
pub const dwarf = @import("dwarf.zig");
pub const elf = @import("elf.zig");
pub const empty_import = @import("empty.zig");
pub const endian = @import("endian.zig");
pub const fmt = @import("fmt.zig");
pub const hash_map = @import("hash_map.zig");
pub const io = @import("io.zig");
pub const linked_list = @import("linked_list.zig");
pub const list = @import("list.zig");
pub const math = @import("math.zig");
pub const mem = @import("mem.zig");
pub const net = @import("net.zig");
@ -20,17 +26,24 @@ pub const target = @import("target.zig");
test "std" {
// run tests from these
_ = @import("array_list.zig").ArrayList;
_ = @import("buf_map.zig").BufMap;
_ = @import("buf_set.zig").BufSet;
_ = @import("buffer.zig").Buffer;
_ = @import("hash_map.zig").HashMap;
_ = @import("linked_list.zig").LinkedList;
_ = @import("base64.zig");
_ = @import("buffer.zig");
_ = @import("build.zig");
_ = @import("c/index.zig");
_ = @import("cstr.zig");
_ = @import("debug.zig");
_ = @import("dwarf.zig");
_ = @import("elf.zig");
_ = @import("empty.zig");
_ = @import("endian.zig");
_ = @import("fmt.zig");
_ = @import("hash_map.zig");
_ = @import("io.zig");
_ = @import("linked_list.zig");
_ = @import("list.zig");
_ = @import("math.zig");
_ = @import("mem.zig");
_ = @import("net.zig");

View File

@ -6,7 +6,7 @@ const Allocator = mem.Allocator;
/// Generic doubly linked list.
pub fn LinkedList(comptime T: type) -> type {
struct {
const List = this;
const Self = this;
/// Node inside the linked list wrapping the actual data.
pub const Node = struct {
@ -27,8 +27,8 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Returns:
/// An empty linked list.
pub fn init(allocator: &Allocator) -> List {
List {
pub fn init(allocator: &Allocator) -> Self {
Self {
.first = null,
.last = null,
.len = 0,
@ -41,7 +41,7 @@ pub fn LinkedList(comptime T: type) -> type {
/// Arguments:
/// node: Pointer to a node in the list.
/// new_node: Pointer to the new node to insert.
pub fn insertAfter(list: &List, node: &Node, new_node: &Node) {
pub fn insertAfter(list: &Self, node: &Node, new_node: &Node) {
new_node.prev = node;
if (node.next) |next_node| {
// Intermediate node.
@ -62,7 +62,7 @@ pub fn LinkedList(comptime T: type) -> type {
/// Arguments:
/// node: Pointer to a node in the list.
/// new_node: Pointer to the new node to insert.
pub fn insertBefore(list: &List, node: &Node, new_node: &Node) {
pub fn insertBefore(list: &Self, node: &Node, new_node: &Node) {
new_node.next = node;
if (node.prev) |prev_node| {
// Intermediate node.
@ -82,7 +82,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Arguments:
/// new_node: Pointer to the new node to insert.
pub fn append(list: &List, new_node: &Node) {
pub fn append(list: &Self, new_node: &Node) {
if (list.last) |last| {
// Insert after last.
list.insertAfter(last, new_node);
@ -96,7 +96,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Arguments:
/// new_node: Pointer to the new node to insert.
pub fn prepend(list: &List, new_node: &Node) {
pub fn prepend(list: &Self, new_node: &Node) {
if (list.first) |first| {
// Insert before first.
list.insertBefore(first, new_node);
@ -115,7 +115,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Arguments:
/// node: Pointer to the node to be removed.
pub fn remove(list: &List, node: &Node) {
pub fn remove(list: &Self, node: &Node) {
if (node.prev) |prev_node| {
// Intermediate node.
prev_node.next = node.next;
@ -139,7 +139,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Returns:
/// A pointer to the last node in the list.
pub fn pop(list: &List) -> ?&Node {
pub fn pop(list: &Self) -> ?&Node {
const last = list.last ?? return null;
list.remove(last);
return last;
@ -149,7 +149,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Returns:
/// A pointer to the first node in the list.
pub fn popFirst(list: &List) -> ?&Node {
pub fn popFirst(list: &Self) -> ?&Node {
const first = list.first ?? return null;
list.remove(first);
return first;
@ -159,7 +159,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Returns:
/// A pointer to the new node.
pub fn allocateNode(list: &List) -> %&Node {
pub fn allocateNode(list: &Self) -> %&Node {
list.allocator.create(Node)
}
@ -167,7 +167,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Arguments:
/// node: Pointer to the node to deallocate.
pub fn destroyNode(list: &List, node: &Node) {
pub fn destroyNode(list: &Self, node: &Node) {
list.allocator.destroy(node);
}
@ -178,7 +178,7 @@ pub fn LinkedList(comptime T: type) -> type {
///
/// Returns:
/// A pointer to the new node.
pub fn createNode(list: &List, data: &const T) -> %&Node {
pub fn createNode(list: &Self, data: &const T) -> %&Node {
var node = %return list.allocateNode();
*node = Node {
.prev = null,

View File

@ -36,7 +36,7 @@ const cstr = @import("../cstr.zig");
const io = @import("../io.zig");
const base64 = @import("../base64.zig");
const List = @import("../list.zig").List;
const ArrayList = @import("../array_list.zig").ArrayList;
error Unexpected;
error SystemResources;
@ -683,7 +683,7 @@ start_over:
};
defer dir.close();
var full_entry_buf = List(u8).init(allocator);
var full_entry_buf = ArrayList(u8).init(allocator);
defer full_entry_buf.deinit();
while (%return dir.next()) |entry| {

View File

@ -5,7 +5,7 @@ const fmt = std.fmt;
const os = std.os;
const Builder = std.build.Builder;
const mem = std.mem;
const List = std.list.List;
const ArrayList = std.ArrayList;
error InvalidArgs;
@ -51,7 +51,7 @@ pub fn main() -> %void {
var builder = Builder.init(allocator, zig_exe, build_root, cache_root);
defer builder.deinit();
var targets = List([]const u8).init(allocator);
var targets = ArrayList([]const u8).init(allocator);
var prefix: ?[]const u8 = null;

View File

@ -4,11 +4,11 @@ const build = std.build;
const os = std.os;
const StdIo = os.ChildProcess.StdIo;
const Term = os.ChildProcess.Term;
const Buffer = std.buffer.Buffer;
const Buffer = std.Buffer;
const io = std.io;
const mem = std.mem;
const fmt = std.fmt;
const List = std.list.List;
const ArrayList = std.ArrayList;
const Mode = @import("builtin").Mode;
const compare_output = @import("compare_output.zig");
@ -138,7 +138,7 @@ pub const CompareOutputContext = struct {
const TestCase = struct {
name: []const u8,
sources: List(SourceFile),
sources: ArrayList(SourceFile),
expected_output: []const u8,
link_libc: bool,
special: Special,
@ -304,7 +304,7 @@ pub const CompareOutputContext = struct {
{
var tc = TestCase {
.name = name,
.sources = List(TestCase.SourceFile).init(self.b.allocator),
.sources = ArrayList(TestCase.SourceFile).init(self.b.allocator),
.expected_output = expected_output,
.link_libc = false,
.special = special,
@ -432,8 +432,8 @@ pub const CompileErrorContext = struct {
const TestCase = struct {
name: []const u8,
sources: List(SourceFile),
expected_errors: List([]const u8),
sources: ArrayList(SourceFile),
expected_errors: ArrayList([]const u8),
link_libc: bool,
is_exe: bool,
@ -486,7 +486,7 @@ pub const CompileErrorContext = struct {
const root_src = %%os.path.join(b.allocator, b.cache_root, self.case.sources.items[0].filename);
const obj_path = %%os.path.join(b.allocator, b.cache_root, "test.o");
var zig_args = List([]const u8).init(b.allocator);
var zig_args = ArrayList([]const u8).init(b.allocator);
%%zig_args.append(if (self.case.is_exe) "build_exe" else "build_obj");
%%zig_args.append(b.pathFromRoot(root_src));
@ -583,8 +583,8 @@ pub const CompileErrorContext = struct {
const tc = %%self.b.allocator.create(TestCase);
*tc = TestCase {
.name = name,
.sources = List(TestCase.SourceFile).init(self.b.allocator),
.expected_errors = List([]const u8).init(self.b.allocator),
.sources = ArrayList(TestCase.SourceFile).init(self.b.allocator),
.expected_errors = ArrayList([]const u8).init(self.b.allocator),
.link_libc = false,
.is_exe = false,
};
@ -660,7 +660,7 @@ pub const BuildExamplesContext = struct {
return;
}
var zig_args = List([]const u8).init(b.allocator);
var zig_args = ArrayList([]const u8).init(b.allocator);
%%zig_args.append("build");
%%zig_args.append("--build-file");
@ -713,8 +713,8 @@ pub const ParseHContext = struct {
const TestCase = struct {
name: []const u8,
sources: List(SourceFile),
expected_lines: List([]const u8),
sources: ArrayList(SourceFile),
expected_lines: ArrayList([]const u8),
allow_warnings: bool,
const SourceFile = struct {
@ -761,7 +761,7 @@ pub const ParseHContext = struct {
const root_src = %%os.path.join(b.allocator, b.cache_root, self.case.sources.items[0].filename);
var zig_args = List([]const u8).init(b.allocator);
var zig_args = ArrayList([]const u8).init(b.allocator);
%%zig_args.append("parseh");
%%zig_args.append(b.pathFromRoot(root_src));
@ -847,8 +847,8 @@ pub const ParseHContext = struct {
const tc = %%self.b.allocator.create(TestCase);
*tc = TestCase {
.name = name,
.sources = List(TestCase.SourceFile).init(self.b.allocator),
.expected_lines = List([]const u8).init(self.b.allocator),
.sources = ArrayList(TestCase.SourceFile).init(self.b.allocator),
.expected_lines = ArrayList([]const u8).init(self.b.allocator),
.allow_warnings = allow_warnings,
};
tc.addSourceFile("source.h", source);