stage2: builtin @as
This commit is contained in:
parent
1d52438bd5
commit
d4456d92f5
@ -1534,7 +1534,12 @@ fn astGenBuiltinCall(self: *Module, scope: *Scope, call: *ast.Node.BuiltinCall)
|
|||||||
const arg_count: ?usize = if (positionals.fields[0].field_type == []*zir.Inst) null else positionals.fields.len;
|
const arg_count: ?usize = if (positionals.fields[0].field_type == []*zir.Inst) null else positionals.fields.len;
|
||||||
if (arg_count) |some| {
|
if (arg_count) |some| {
|
||||||
if (call.params_len != some) {
|
if (call.params_len != some) {
|
||||||
return self.failTok(scope, call.builtin_token, "expected {} parameter, found {}", .{ some, call.params_len });
|
return self.failTok(
|
||||||
|
scope,
|
||||||
|
call.builtin_token,
|
||||||
|
"expected {} parameter{}, found {}",
|
||||||
|
.{ some, if (some == 1) "" else "s", call.params_len },
|
||||||
|
);
|
||||||
}
|
}
|
||||||
const params = call.params();
|
const params = call.params();
|
||||||
inline for (positionals.fields) |p, i| {
|
inline for (positionals.fields) |p, i| {
|
||||||
|
@ -290,6 +290,7 @@ pub const Inst = struct {
|
|||||||
|
|
||||||
pub const As = struct {
|
pub const As = struct {
|
||||||
pub const base_tag = Tag.as;
|
pub const base_tag = Tag.as;
|
||||||
|
pub const builtin_name = "@as";
|
||||||
base: Inst,
|
base: Inst,
|
||||||
|
|
||||||
positionals: struct {
|
positionals: struct {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user