fromZoirNode
Like fromZoir, but the parse starts on node instead of root.
Function parameters
Parameters
Configuration for the runtime parser.
Types
- Options
- Configuration for the runtime parser.
- Diagnostics
- Information about the success or failure of a parse.
Parses the given slice as ZON.
Functions
- fromSlice
- Parses the given slice as ZON.
- fromZoir
- Like `fromSlice`, but operates on `Zoir` instead of ZON source.
- fromZoirNode
- Like `fromZoir`, but the parse starts on `node` instead of root.
- free
- Frees ZON values.
Source
Implementation
pub fn fromZoirNode(
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);
}