Function fromZoirNodeAlloc [src]

Like fromZoirAlloc, but the parse starts at node instead of root.

Prototype

pub fn fromZoirNodeAlloc( T: type, gpa: Allocator, ast: Ast, zoir: Zoir, node: Zoir.Node.Index, diag: ?*Diagnostics, options: Options, ) error{ OutOfMemory, ParseZon }!T

Parameters

T: typegpa: Allocatorast: Astzoir: Zoirnode: Zoir.Node.Indexdiag: ?*Diagnosticsoptions: Options

Possible Errors

OutOfMemory
ParseZon

Source

pub fn fromZoirNodeAlloc( T: type, gpa: Allocator, ast: Ast, zoir: Zoir, node: Zoir.Node.Index, diag: ?*Diagnostics, options: Options, ) error{ OutOfMemory, ParseZon }!T { comptime assert(canParseType(T)); if (diag) |s| { s.assertEmpty(); s.ast = ast; s.zoir = zoir; } if (zoir.hasCompileErrors()) { return error.ParseZon; } var parser: Parser = .{ .gpa = gpa, .ast = ast, .zoir = zoir, .options = options, .diag = diag, }; return parser.parseExpr(T, node); }