feature. See also
. The project being documented here (as the example) is the Zig library itself.
AstGen.fieldAccess
fn fieldAccess(
gz: *GenZir,
scope: *Scope,
ri: ResultInfo,
node: Ast.Node.Index,
) InnerError!Zir.Inst.Ref
File
Code
fn fieldAccess(
gz: *GenZir,
scope: *Scope,
ri: ResultInfo,
node: Ast.Node.Index,
) InnerError!Zir.Inst.Ref {
switch (ri.rl) {
.ref, .ref_coerced_ty => return addFieldAccess(.field_ptr, gz, scope, .{ .rl = .ref }, node),
.ref_const => return addFieldAccess(.field_ptr, gz, scope, .{ .rl = .ref_const }, node),
else => {
const access = try addFieldAccess(.field_ptr_load, gz, scope, .{ .rl = .ref_const }, node);
return rvalue(gz, ri, access, node);
},
}
}