Exemplo n.º 1
0
void print_compound_definition(const compound_t *compound)
{
	print_string("{\n");
	change_indent(1);

	for (entity_t const *entity = compound->members.first_entity;
	     entity != NULL; entity = entity->base.next) {
		if (entity->kind != ENTITY_COMPOUND_MEMBER)
			continue;

		print_indent();
		print_entity(entity);
		print_char('\n');
	}

	change_indent(-1);
	print_indent();
	print_char('}');
	print_modifiers(compound->modifiers);
}
Exemplo n.º 2
0
void print_tes(string tag)
{
    char buf[BUFLEN];  /* danger: buffer overflow */

    change_indent(- indent);
    if (xml)
      sprintf(buf, "</%s>",tag);
    else
      sprintf(buf, "tes");
    (void) outstr(buf);
    end_line();
}
Exemplo n.º 3
0
void print_enum_definition(const enum_t *enume)
{
	print_string("{\n");
	change_indent(1);

	for (const entity_t *entry = enume->first_value;
	     entry != NULL && entry->kind == ENTITY_ENUM_VALUE;
	     entry = entry->base.next) {
		print_indent();
		print_string(entry->base.symbol->string);
		if (entry->enum_value.value != NULL) {
			print_string(" = ");
			print_expression(entry->enum_value.value);
		}
		print_string(",\n");
	}

	change_indent(-1);
	print_indent();
	print_char('}');
}
Exemplo n.º 4
0
void print_set(string tag)
{
    char buf[BUFLEN];  /* danger: buffer overflow */

    if (xml)
      sprintf(buf, "<%s>", tag);
    else
      sprintf(buf, "set %s", tag);
    (void) outstr(buf);
    end_line();
    change_indent(indent);
}
Exemplo n.º 5
0
void print_compound_definition(const compound_t *compound)
{
	print_string("{\n");
	change_indent(1);

	entity_t *entity = compound->members.entities;
	for ( ; entity != NULL; entity = entity->base.next) {
		if (entity->kind != ENTITY_COMPOUND_MEMBER)
			continue;

		print_indent();
		print_entity(entity);
		print_char('\n');
	}

	change_indent(-1);
	print_indent();
	print_char('}');
	if (compound->modifiers & DM_TRANSPARENT_UNION) {
		print_string("__attribute__((__transparent_union__))");
	}
}