Skip to main content

luaur_analysis/methods/
ast_json_encoder_write_ast_stat_declare_function.rs

1//! Source: `Analysis/src/AstJsonEncoder.cpp:907-926` (hand-ported)
2use crate::records::ast_json_encoder::AstJsonEncoder;
3use luaur_ast::records::ast_node::AstNode;
4use luaur_ast::records::ast_stat_declare_function::AstStatDeclareFunction;
5
6impl AstJsonEncoder {
7    pub fn write_ast_stat_declare_function(&mut self, node: *mut AstStatDeclareFunction) {
8        let n = unsafe { &*node };
9        self.write_node_ast_node_string_view_f(
10            node as *mut AstNode,
11            "AstStatDeclareFunction",
12            |e| {
13                e.write("attributes", &n.attributes);
14                e.write("name", &n.name);
15                e.write("nameLocation", &n.name_location);
16                e.write("params", &n.params);
17                e.write("paramNames", &n.param_names);
18                e.write("vararg", &n.vararg);
19                e.write("varargLocation", &n.vararg_location);
20                e.write("retTypes", &n.ret_types);
21                e.write("generics", &n.generics);
22                e.write("genericPacks", &n.generic_packs);
23            },
24        );
25    }
26}