fn parseAsmInputItem(p: *Parse) !?Node.Index
fn parseAsmInputItem(p: *Parse) !?Node.Index { _ = p.eatToken(.l_bracket) orelse return null; const identifier = try p.expectToken(.identifier); _ = try p.expectToken(.r_bracket); _ = try p.expectToken(.string_literal); _ = try p.expectToken(.l_paren); const expr = try p.expectExpr(); const rparen = try p.expectToken(.r_paren); return try p.addNode(.{ .tag = .asm_input, .main_token = identifier, .data = .{ .node_and_token = .{ expr, rparen, } }, }); }