Lines Matching refs:sym

44 static void examine_symbol(struct symbol *sym, xmlNodePtr node);
65 static xmlNodePtr new_sym_node(struct symbol *sym, const char *name, xmlNodePtr parent) in new_sym_node() argument
68 const char *ident = show_ident(sym->ident); in new_sym_node()
71 assert(sym != NULL); in new_sym_node()
80 if (sym->ident && ident) in new_sym_node()
82 newProp(node, "file", stream_name(sym->pos.stream)); in new_sym_node()
84 newNumProp(node, "start-line", sym->pos.line); in new_sym_node()
85 newNumProp(node, "start-col", sym->pos.pos); in new_sym_node()
87 if (sym->endpos.type) { in new_sym_node()
88 newNumProp(node, "end-line", sym->endpos.line); in new_sym_node()
89 newNumProp(node, "end-col", sym->endpos.pos); in new_sym_node()
90 if (sym->pos.stream != sym->endpos.stream) in new_sym_node()
91 newProp(node, "end-file", stream_name(sym->endpos.stream)); in new_sym_node()
93 sym->aux = node; in new_sym_node()
102 struct symbol *sym; in examine_members() local
104 FOR_EACH_PTR(list, sym) { in examine_members()
105 examine_symbol(sym, node); in examine_members()
106 } END_FOR_EACH_PTR(sym); in examine_members()
109 static void examine_modifiers(struct symbol *sym, xmlNodePtr node) in examine_modifiers() argument
147 if (sym->namespace != NS_SYMBOL) in examine_modifiers()
152 if ((sym->ctype.modifiers & 1<<i) && modifiers[i]) in examine_modifiers()
158 examine_layout(struct symbol *sym, xmlNodePtr node) in examine_layout() argument
160 examine_symbol_type(sym); in examine_layout()
162 newNumProp(node, "bit-size", sym->bit_size); in examine_layout()
163 newNumProp(node, "alignment", sym->ctype.alignment); in examine_layout()
164 newNumProp(node, "offset", sym->offset); in examine_layout()
165 if (is_bitfield_type(sym)) { in examine_layout()
166 newNumProp(node, "bit-offset", sym->bit_offset); in examine_layout()
170 static void examine_symbol(struct symbol *sym, xmlNodePtr node) in examine_symbol() argument
176 if (!sym) in examine_symbol()
178 if (sym->aux) /*already visited */ in examine_symbol()
181 if (sym->ident && sym->ident->reserved) in examine_symbol()
184 child = new_sym_node(sym, get_type_name(sym->type), node); in examine_symbol()
185 examine_modifiers(sym, child); in examine_symbol()
186 examine_layout(sym, child); in examine_symbol()
188 if (sym->ctype.base_type) { in examine_symbol()
189 if ((base = builtin_typename(sym->ctype.base_type)) == NULL) { in examine_symbol()
190 if (!sym->ctype.base_type->aux) { in examine_symbol()
191 examine_symbol(sym->ctype.base_type, root_node); in examine_symbol()
194 xmlGetProp((xmlNodePtr)sym->ctype.base_type->aux, BAD_CAST "id")); in examine_symbol()
199 if (sym->array_size) { in examine_symbol()
201 array_size = get_expression_value(sym->array_size); in examine_symbol()
206 switch (sym->type) { in examine_symbol()
209 examine_members(sym->symbol_list, child); in examine_symbol()
212 examine_members(sym->arguments, child); in examine_symbol()
215 newProp(child, "base-type-builtin", builtin_typename(sym)); in examine_symbol()
237 static void examine_macro(struct symbol *sym, xmlNodePtr node) in examine_macro() argument
242 pos = get_expansion_end(sym->expansion); in examine_macro()
244 sym->endpos = *pos; in examine_macro()
246 sym->endpos = sym->pos; in examine_macro()
248 new_sym_node(sym, "macro", node); in examine_macro()
251 static void examine_namespace(struct symbol *sym) in examine_namespace() argument
253 if (sym->ident && sym->ident->reserved) in examine_namespace()
256 switch(sym->namespace) { in examine_namespace()
258 examine_macro(sym, root_node); in examine_namespace()
263 examine_symbol(sym, root_node); in examine_namespace()
273 die("Unrecognised namespace type %d",sym->namespace); in examine_namespace()
290 struct symbol *sym; in examine_symbol_list() local
295 FOR_EACH_PTR(list, sym) { in examine_symbol_list()
296 if (sym->pos.stream == stream_id) in examine_symbol_list()
297 examine_namespace(sym); in examine_symbol_list()
298 } END_FOR_EACH_PTR(sym); in examine_symbol_list()