| ... | @@ -501,7 +501,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { | ... | @@ -501,7 +501,7 @@ fn visitFnDecl(c: *Context, fn_decl: *const ZigClangFunctionDecl) Error!void { |
| 501 | const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*); | 501 | const param = @fieldParentPtr(ast.Node.ParamDecl, "base", p.*); |
| 502 | const param_name = if (param.name_token) |name_tok| | 502 | const param_name = if (param.name_token) |name_tok| |
| 503 | tokenSlice(c, name_tok) | 503 | tokenSlice(c, name_tok) |
| 504 | else if (param.var_args_token != null) { | 504 | else if (param.param_type == .var_args) { |
| 505 | assert(it.next() == null); | 505 | assert(it.next() == null); |
| 506 | _ = proto_node.params.pop(); | 506 | _ = proto_node.params.pop(); |
| 507 | break; | 507 | break; |
| ... | @@ -4103,8 +4103,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a | ... | @@ -4103,8 +4103,7 @@ fn transCreateNodeMacroFn(c: *Context, name: []const u8, ref: *ast.Node, proto_a |
| 4103 | .comptime_token = null, | 4103 | .comptime_token = null, |
| 4104 | .noalias_token = param.noalias_token, | 4104 | .noalias_token = param.noalias_token, |
| 4105 | .name_token = param_name_tok, | 4105 | .name_token = param_name_tok, |
| 4106 | .type_node = param.type_node, | 4106 | .param_type = param.param_type, |
| 4107 | .var_args_token = null, | | |
| 4108 | }; | 4107 | }; |
| 4109 | try fn_params.push(&param_node.base); | 4108 | try fn_params.push(&param_node.base); |
| 4110 | } | 4109 | } |
| ... | @@ -4678,8 +4677,7 @@ fn finishTransFnProto( | ... | @@ -4678,8 +4677,7 @@ fn finishTransFnProto( |
| 4678 | .comptime_token = null, | 4677 | .comptime_token = null, |
| 4679 | .noalias_token = noalias_tok, | 4678 | .noalias_token = noalias_tok, |
| 4680 | .name_token = param_name_tok, | 4679 | .name_token = param_name_tok, |
| 4681 | .type_node = type_node, | 4680 | .param_type = .{ .type_expr = type_node }, |
| 4682 | .var_args_token = null, | | |
| 4683 | }; | 4681 | }; |
| 4684 | try fn_params.push(&param_node.base); | 4682 | try fn_params.push(&param_node.base); |
| 4685 | | 4683 | |
| ... | @@ -4699,8 +4697,7 @@ fn finishTransFnProto( | ... | @@ -4699,8 +4697,7 @@ fn finishTransFnProto( |
| 4699 | .comptime_token = null, | 4697 | .comptime_token = null, |
| 4700 | .noalias_token = null, | 4698 | .noalias_token = null, |
| 4701 | .name_token = null, | 4699 | .name_token = null, |
| 4702 | .type_node = undefined, // Note: Accessing this causes an access violation. Need to check .var_args_token first before trying this field | 4700 | .param_type = .{ .var_args = try appendToken(rp.c, .Ellipsis3, "...") } |
| 4703 | .var_args_token = try appendToken(rp.c, .Ellipsis3, "..."), | | |
| 4704 | }; | 4701 | }; |
| 4705 | try fn_params.push(&var_arg_node.base); | 4702 | try fn_params.push(&var_arg_node.base); |
| 4706 | } | 4703 | } |
| ... | @@ -5108,8 +5105,7 @@ fn transMacroFnDefine(c: *Context, it: *CTokenList.Iterator, source: []const u8, | ... | @@ -5108,8 +5105,7 @@ fn transMacroFnDefine(c: *Context, it: *CTokenList.Iterator, source: []const u8, |
| 5108 | .comptime_token = null, | 5105 | .comptime_token = null, |
| 5109 | .noalias_token = null, | 5106 | .noalias_token = null, |
| 5110 | .name_token = param_name_tok, | 5107 | .name_token = param_name_tok, |
| 5111 | .type_node = &identifier.base, | 5108 | .param_type = .{ .type_expr = &identifier.base }, |
| 5112 | .var_args_token = null, | | |
| 5113 | }; | 5109 | }; |
| 5114 | try fn_params.push(&param_node.base); | 5110 | try fn_params.push(&param_node.base); |
| 5115 | | 5111 | |