typedef struct _GISourceScanner GISourceScanner;
typedef struct _GISourceSymbol GISourceSymbol;
typedef struct _GISourceType GISourceType;
-typedef struct _GISourceDirective GISourceDirective;
typedef enum
{
gboolean macro_scan;
GSList *symbols;
GList *filenames;
- GHashTable *directives_map;
+ GSList *comments;
GHashTable *typedef_table;
GHashTable *struct_or_union_or_enum_table;
};
gboolean const_int_set;
int const_int;
char *const_string;
- GSList *directives; /* list of GISourceDirective */
+ gboolean const_double_set;
+ double const_double;
+ char *source_filename;
+ int line;
};
struct _GISourceType
char *name;
GISourceType *base_type;
GList *child_list; /* list of GISourceSymbol */
-};
-
-struct _GISourceDirective
-{
- char *name;
- char *value;
- GSList *options; /* list of options (key=value) */
+ gboolean is_bitfield;
};
GISourceScanner * gi_source_scanner_new (void);
void gi_source_scanner_set_macro_scan (GISourceScanner *scanner,
gboolean macro_scan);
GSList * gi_source_scanner_get_symbols (GISourceScanner *scanner);
-GSList * gi_source_scanner_get_directives (GISourceScanner *scanner,
- const gchar *name);
+GSList * gi_source_scanner_get_comments (GISourceScanner *scanner);
void gi_source_scanner_free (GISourceScanner *scanner);
-GISourceSymbol * gi_source_symbol_new (GISourceSymbolType type);
+GISourceSymbol * gi_source_symbol_new (GISourceSymbolType type, int line);
gboolean gi_source_symbol_get_const_boolean (GISourceSymbol *symbol);
GISourceSymbol * gi_source_symbol_ref (GISourceSymbol *symbol);
void gi_source_symbol_unref (GISourceSymbol *symbol);
-GISourceDirective * gi_source_directive_new (const gchar *name,
- const gchar *value,
- GSList *options);
-void gi_source_directive_free (GISourceDirective *directive);
-
/* Private */
void gi_source_scanner_add_symbol (GISourceScanner *scanner,
GISourceSymbol *symbol);
GISourceType * gi_source_array_new (GISourceSymbol *size);
GISourceType * gi_source_function_new (void);
+void ctype_free (GISourceType * type);
+
G_END_DECLS
#endif /* __SOURCE_SCANNER_H__ */