#include "type_t.h"
#include "entity_t.h"
#include "type.h"
+#include "printer.h"
#include "adt/error.h"
#include <libfirm/adt/pset_new.h>
case ATOMIC_TYPE_USHORT: return "short";
case ATOMIC_TYPE_INT: return "int";
case ATOMIC_TYPE_UINT: return "int";
- case ATOMIC_TYPE_LONG: return "NativeLong";
- case ATOMIC_TYPE_ULONG: return "NativeLong";
+ case ATOMIC_TYPE_LONG: return "com.sun.jna.NativeLong";
+ case ATOMIC_TYPE_ULONG: return "com.sun.jna.NativeLong";
case ATOMIC_TYPE_LONGLONG: return "long";
case ATOMIC_TYPE_ULONGLONG: return "long";
case ATOMIC_TYPE_FLOAT: return "float";
static void write_expression(const expression_t *expression)
{
- const const_expression_t *constant;
/* TODO */
switch(expression->kind) {
- case EXPR_CONST:
- constant = &expression->conste;
- if(is_type_integer(expression->base.type)) {
- fprintf(out, "%lld", constant->v.int_value);
- } else {
- fprintf(out, "%Lf", constant->v.float_value);
- }
+ case EXPR_LITERAL_INTEGER:
+ fprintf(out, "%s", expression->literal.value.begin);
break;
case EXPR_REFERENCE_ENUM_VALUE: {
/* UHOH... hacking */
pset_new_init(&avoid_symbols);
- ast_set_output(out);
- type_set_output(out);
+ print_to_file(out);
fprintf(out, "/* WARNING: Automatically generated file */\n");
fputs("import com.sun.jna.Library;\n", out);
- fputs("import com.sun.jna.Native;\n", out);
- fputs("import com.sun.jna.Platform;\n", out);
fputs("import com.sun.jna.Pointer;\n", out);
- fputs("import com.sun.jna.NativeLong;\n", out);
fputs("\n\n", out);
/* TODO: where to get the name from? */