Function toWip [src]

Prototype

pub fn toWip(self: FunctionAttributes, builder: *const Builder) Allocator.Error!Wip

Parameters

self: FunctionAttributesbuilder: *const Builder

Source

pub fn toWip(self: FunctionAttributes, builder: *const Builder) Allocator.Error!Wip { var wip: Wip = .{}; errdefer wip.deinit(builder); const attributes_slice = self.slice(builder); try wip.maps.ensureTotalCapacityPrecise(builder.gpa, attributes_slice.len); for (attributes_slice) |attributes| { const map = wip.maps.addOneAssumeCapacity(); map.* = .{}; const attribute_slice = attributes.slice(builder); try map.ensureTotalCapacity(builder.gpa, attribute_slice.len); for (attributes.slice(builder)) |attribute| map.putAssumeCapacityNoClobber(attribute.getKind(builder), attribute); } return wip; }