/* afrodite.h generated by valac 0.12.1.1-323029-dirty, the Vala compiler, do not modify */


#ifndef __AFRODITE_H__
#define __AFRODITE_H__

#include <glib.h>
#include <vala.h>
#include <stdlib.h>
#include <string.h>
#include <valagee.h>
#include <glib-object.h>
#include <stdarg.h>

G_BEGIN_DECLS


#define AFRODITE_TYPE_AST_DUMPER (afrodite_ast_dumper_get_type ())
#define AFRODITE_AST_DUMPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_AST_DUMPER, AfroditeAstDumper))
#define AFRODITE_AST_DUMPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_AST_DUMPER, AfroditeAstDumperClass))
#define AFRODITE_IS_AST_DUMPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_AST_DUMPER))
#define AFRODITE_IS_AST_DUMPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_AST_DUMPER))
#define AFRODITE_AST_DUMPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_AST_DUMPER, AfroditeAstDumperClass))

typedef struct _AfroditeAstDumper AfroditeAstDumper;
typedef struct _AfroditeAstDumperClass AfroditeAstDumperClass;
typedef struct _AfroditeAstDumperPrivate AfroditeAstDumperPrivate;

#define AFRODITE_TYPE_CODE_DOM (afrodite_code_dom_get_type ())
#define AFRODITE_CODE_DOM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_CODE_DOM, AfroditeCodeDom))
#define AFRODITE_CODE_DOM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_CODE_DOM, AfroditeCodeDomClass))
#define AFRODITE_IS_CODE_DOM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_CODE_DOM))
#define AFRODITE_IS_CODE_DOM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_CODE_DOM))
#define AFRODITE_CODE_DOM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_CODE_DOM, AfroditeCodeDomClass))

typedef struct _AfroditeCodeDom AfroditeCodeDom;
typedef struct _AfroditeCodeDomClass AfroditeCodeDomClass;

#define AFRODITE_TYPE_PARSE_RESULT (afrodite_parse_result_get_type ())
#define AFRODITE_PARSE_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_PARSE_RESULT, AfroditeParseResult))
#define AFRODITE_PARSE_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_PARSE_RESULT, AfroditeParseResultClass))
#define AFRODITE_IS_PARSE_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_PARSE_RESULT))
#define AFRODITE_IS_PARSE_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_PARSE_RESULT))
#define AFRODITE_PARSE_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_PARSE_RESULT, AfroditeParseResultClass))

typedef struct _AfroditeParseResult AfroditeParseResult;
typedef struct _AfroditeParseResultClass AfroditeParseResultClass;
typedef struct _AfroditeParseResultPrivate AfroditeParseResultPrivate;

#define AFRODITE_TYPE_SYMBOL (afrodite_symbol_get_type ())
#define AFRODITE_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_SYMBOL, AfroditeSymbol))
#define AFRODITE_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_SYMBOL, AfroditeSymbolClass))
#define AFRODITE_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_SYMBOL))
#define AFRODITE_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_SYMBOL))
#define AFRODITE_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_SYMBOL, AfroditeSymbolClass))

typedef struct _AfroditeSymbol AfroditeSymbol;
typedef struct _AfroditeSymbolClass AfroditeSymbolClass;
typedef struct _AfroditeSymbolPrivate AfroditeSymbolPrivate;

#define AFRODITE_TYPE_MEMBER_BINDING (afrodite_member_binding_get_type ())

#define AFRODITE_TYPE_VOID_TYPE (afrodite_void_type_get_type ())
#define AFRODITE_VOID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_VOID_TYPE, AfroditeVoidType))
#define AFRODITE_VOID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_VOID_TYPE, AfroditeVoidTypeClass))
#define AFRODITE_IS_VOID_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_VOID_TYPE))
#define AFRODITE_IS_VOID_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_VOID_TYPE))
#define AFRODITE_VOID_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_VOID_TYPE, AfroditeVoidTypeClass))

typedef struct _AfroditeVoidType AfroditeVoidType;
typedef struct _AfroditeVoidTypeClass AfroditeVoidTypeClass;

#define AFRODITE_TYPE_DATA_TYPE (afrodite_data_type_get_type ())
#define AFRODITE_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_DATA_TYPE, AfroditeDataType))
#define AFRODITE_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_DATA_TYPE, AfroditeDataTypeClass))
#define AFRODITE_IS_DATA_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_DATA_TYPE))
#define AFRODITE_IS_DATA_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_DATA_TYPE))
#define AFRODITE_DATA_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_DATA_TYPE, AfroditeDataTypeClass))

typedef struct _AfroditeDataType AfroditeDataType;
typedef struct _AfroditeDataTypeClass AfroditeDataTypeClass;

#define AFRODITE_TYPE_ELLIPSIS_TYPE (afrodite_ellipsis_type_get_type ())
#define AFRODITE_ELLIPSIS_TYPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_ELLIPSIS_TYPE, AfroditeEllipsisType))
#define AFRODITE_ELLIPSIS_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_ELLIPSIS_TYPE, AfroditeEllipsisTypeClass))
#define AFRODITE_IS_ELLIPSIS_TYPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_ELLIPSIS_TYPE))
#define AFRODITE_IS_ELLIPSIS_TYPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_ELLIPSIS_TYPE))
#define AFRODITE_ELLIPSIS_TYPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_ELLIPSIS_TYPE, AfroditeEllipsisTypeClass))

typedef struct _AfroditeEllipsisType AfroditeEllipsisType;
typedef struct _AfroditeEllipsisTypeClass AfroditeEllipsisTypeClass;

#define AFRODITE_TYPE_MEMBER_TYPE (afrodite_member_type_get_type ())

#define AFRODITE_TYPE_COMPARE_MODE (afrodite_compare_mode_get_type ())

#define AFRODITE_TYPE_SYMBOL_ACCESSIBILITY (afrodite_symbol_accessibility_get_type ())

#define AFRODITE_TYPE_SOURCE_REFERENCE (afrodite_source_reference_get_type ())
#define AFRODITE_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_SOURCE_REFERENCE, AfroditeSourceReference))
#define AFRODITE_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_SOURCE_REFERENCE, AfroditeSourceReferenceClass))
#define AFRODITE_IS_SOURCE_REFERENCE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_SOURCE_REFERENCE))
#define AFRODITE_IS_SOURCE_REFERENCE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_SOURCE_REFERENCE))
#define AFRODITE_SOURCE_REFERENCE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_SOURCE_REFERENCE, AfroditeSourceReferenceClass))

typedef struct _AfroditeSourceReference AfroditeSourceReference;
typedef struct _AfroditeSourceReferenceClass AfroditeSourceReferenceClass;

#define AFRODITE_TYPE_SOURCE_FILE (afrodite_source_file_get_type ())
#define AFRODITE_SOURCE_FILE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_SOURCE_FILE, AfroditeSourceFile))
#define AFRODITE_SOURCE_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_SOURCE_FILE, AfroditeSourceFileClass))
#define AFRODITE_IS_SOURCE_FILE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_SOURCE_FILE))
#define AFRODITE_IS_SOURCE_FILE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_SOURCE_FILE))
#define AFRODITE_SOURCE_FILE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_SOURCE_FILE, AfroditeSourceFileClass))

typedef struct _AfroditeSourceFile AfroditeSourceFile;
typedef struct _AfroditeSourceFileClass AfroditeSourceFileClass;

#define AFRODITE_TYPE_QUERY_OPTIONS (afrodite_query_options_get_type ())
#define AFRODITE_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_QUERY_OPTIONS, AfroditeQueryOptions))
#define AFRODITE_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_QUERY_OPTIONS, AfroditeQueryOptionsClass))
#define AFRODITE_IS_QUERY_OPTIONS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_QUERY_OPTIONS))
#define AFRODITE_IS_QUERY_OPTIONS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_QUERY_OPTIONS))
#define AFRODITE_QUERY_OPTIONS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_QUERY_OPTIONS, AfroditeQueryOptionsClass))

typedef struct _AfroditeQueryOptions AfroditeQueryOptions;
typedef struct _AfroditeQueryOptionsClass AfroditeQueryOptionsClass;

#define AFRODITE_TYPE_SYMBOL_RESOLVER (afrodite_symbol_resolver_get_type ())
#define AFRODITE_SYMBOL_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_SYMBOL_RESOLVER, AfroditeSymbolResolver))
#define AFRODITE_SYMBOL_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_SYMBOL_RESOLVER, AfroditeSymbolResolverClass))
#define AFRODITE_IS_SYMBOL_RESOLVER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_SYMBOL_RESOLVER))
#define AFRODITE_IS_SYMBOL_RESOLVER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_SYMBOL_RESOLVER))
#define AFRODITE_SYMBOL_RESOLVER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_SYMBOL_RESOLVER, AfroditeSymbolResolverClass))

typedef struct _AfroditeSymbolResolver AfroditeSymbolResolver;
typedef struct _AfroditeSymbolResolverClass AfroditeSymbolResolverClass;
typedef struct _AfroditeSymbolResolverPrivate AfroditeSymbolResolverPrivate;
typedef struct _AfroditeDataTypePrivate AfroditeDataTypePrivate;
typedef struct _AfroditeVoidTypePrivate AfroditeVoidTypePrivate;
typedef struct _AfroditeSourceReferencePrivate AfroditeSourceReferencePrivate;
typedef struct _AfroditeSourceFilePrivate AfroditeSourceFilePrivate;
typedef struct _AfroditeCodeDomPrivate AfroditeCodeDomPrivate;

#define AFRODITE_TYPE_QUERY_RESULT (afrodite_query_result_get_type ())
#define AFRODITE_QUERY_RESULT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_QUERY_RESULT, AfroditeQueryResult))
#define AFRODITE_QUERY_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_QUERY_RESULT, AfroditeQueryResultClass))
#define AFRODITE_IS_QUERY_RESULT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_QUERY_RESULT))
#define AFRODITE_IS_QUERY_RESULT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_QUERY_RESULT))
#define AFRODITE_QUERY_RESULT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_QUERY_RESULT, AfroditeQueryResultClass))

typedef struct _AfroditeQueryResult AfroditeQueryResult;
typedef struct _AfroditeQueryResultClass AfroditeQueryResultClass;

#define AFRODITE_TYPE_CASE_SENSITIVENESS (afrodite_case_sensitiveness_get_type ())

#define AFRODITE_TYPE_COMPLETION_ENGINE (afrodite_completion_engine_get_type ())
#define AFRODITE_COMPLETION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_COMPLETION_ENGINE, AfroditeCompletionEngine))
#define AFRODITE_COMPLETION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_COMPLETION_ENGINE, AfroditeCompletionEngineClass))
#define AFRODITE_IS_COMPLETION_ENGINE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_COMPLETION_ENGINE))
#define AFRODITE_IS_COMPLETION_ENGINE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_COMPLETION_ENGINE))
#define AFRODITE_COMPLETION_ENGINE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_COMPLETION_ENGINE, AfroditeCompletionEngineClass))

typedef struct _AfroditeCompletionEngine AfroditeCompletionEngine;
typedef struct _AfroditeCompletionEngineClass AfroditeCompletionEngineClass;
typedef struct _AfroditeCompletionEnginePrivate AfroditeCompletionEnginePrivate;

#define AFRODITE_TYPE_SOURCE_ITEM (afrodite_source_item_get_type ())
#define AFRODITE_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_SOURCE_ITEM, AfroditeSourceItem))
#define AFRODITE_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_SOURCE_ITEM, AfroditeSourceItemClass))
#define AFRODITE_IS_SOURCE_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_SOURCE_ITEM))
#define AFRODITE_IS_SOURCE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_SOURCE_ITEM))
#define AFRODITE_SOURCE_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_SOURCE_ITEM, AfroditeSourceItemClass))

typedef struct _AfroditeSourceItem AfroditeSourceItem;
typedef struct _AfroditeSourceItemClass AfroditeSourceItemClass;
typedef struct _AfroditeEllipsisTypePrivate AfroditeEllipsisTypePrivate;
typedef struct _AfroditeQueryOptionsPrivate AfroditeQueryOptionsPrivate;
typedef struct _AfroditeQueryResultPrivate AfroditeQueryResultPrivate;

#define AFRODITE_TYPE_RESULT_ITEM (afrodite_result_item_get_type ())
#define AFRODITE_RESULT_ITEM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), AFRODITE_TYPE_RESULT_ITEM, AfroditeResultItem))
#define AFRODITE_RESULT_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), AFRODITE_TYPE_RESULT_ITEM, AfroditeResultItemClass))
#define AFRODITE_IS_RESULT_ITEM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), AFRODITE_TYPE_RESULT_ITEM))
#define AFRODITE_IS_RESULT_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), AFRODITE_TYPE_RESULT_ITEM))
#define AFRODITE_RESULT_ITEM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), AFRODITE_TYPE_RESULT_ITEM, AfroditeResultItemClass))

typedef struct _AfroditeResultItem AfroditeResultItem;
typedef struct _AfroditeResultItemClass AfroditeResultItemClass;
typedef struct _AfroditeResultItemPrivate AfroditeResultItemPrivate;

#define AFRODITE_TYPE_SOURCE_TYPE (afrodite_source_type_get_type ())
typedef struct _AfroditeSourceItemPrivate AfroditeSourceItemPrivate;

struct _AfroditeAstDumper {
	ValaCodeVisitor parent_instance;
	AfroditeAstDumperPrivate * priv;
};

struct _AfroditeAstDumperClass {
	ValaCodeVisitorClass parent_class;
};

struct _AfroditeParseResult {
	ValaReport parent_instance;
	AfroditeParseResultPrivate * priv;
	ValaList* warnings;
	ValaList* errors;
	ValaList* notes;
	gchar* source_path;
	gboolean is_glib;
	ValaCodeContext* context;
	gboolean is_edited;
};

struct _AfroditeParseResultClass {
	ValaReportClass parent_class;
};

typedef enum  {
	AFRODITE_MEMBER_BINDING_INSTANCE = 1,
	AFRODITE_MEMBER_BINDING_CLASS = 1 << 1,
	AFRODITE_MEMBER_BINDING_STATIC = 1 << 2,
	AFRODITE_MEMBER_BINDING_ANY = (AFRODITE_MEMBER_BINDING_INSTANCE | AFRODITE_MEMBER_BINDING_CLASS) | AFRODITE_MEMBER_BINDING_STATIC
} AfroditeMemberBinding;

struct _AfroditeSymbol {
	GObject parent_instance;
	AfroditeSymbolPrivate * priv;
	ValaList* _resolved_targets;
	ValaList* resolve_targets;
	AfroditeMemberBinding binding;
	gboolean is_virtual;
	gboolean is_abstract;
	gboolean overrides;
	gint _static_child_count;
	gint _creation_method_child_count;
};

struct _AfroditeSymbolClass {
	GObjectClass parent_class;
};

typedef enum  {
	AFRODITE_MEMBER_TYPE_NONE,
	AFRODITE_MEMBER_TYPE_VOID,
	AFRODITE_MEMBER_TYPE_CONSTANT,
	AFRODITE_MEMBER_TYPE_ENUM,
	AFRODITE_MEMBER_TYPE_ENUM_VALUE,
	AFRODITE_MEMBER_TYPE_FIELD,
	AFRODITE_MEMBER_TYPE_PROPERTY,
	AFRODITE_MEMBER_TYPE_LOCAL_VARIABLE,
	AFRODITE_MEMBER_TYPE_SIGNAL,
	AFRODITE_MEMBER_TYPE_CREATION_METHOD,
	AFRODITE_MEMBER_TYPE_CONSTRUCTOR,
	AFRODITE_MEMBER_TYPE_DESTRUCTOR,
	AFRODITE_MEMBER_TYPE_METHOD,
	AFRODITE_MEMBER_TYPE_DELEGATE,
	AFRODITE_MEMBER_TYPE_PARAMETER,
	AFRODITE_MEMBER_TYPE_TYPE_PARAMETER,
	AFRODITE_MEMBER_TYPE_ERROR_DOMAIN,
	AFRODITE_MEMBER_TYPE_ERROR_CODE,
	AFRODITE_MEMBER_TYPE_NAMESPACE,
	AFRODITE_MEMBER_TYPE_STRUCT,
	AFRODITE_MEMBER_TYPE_CLASS,
	AFRODITE_MEMBER_TYPE_INTERFACE,
	AFRODITE_MEMBER_TYPE_SCOPED_CODE_NODE
} AfroditeMemberType;

typedef enum  {
	AFRODITE_COMPARE_MODE_EXACT,
	AFRODITE_COMPARE_MODE_START_WITH
} AfroditeCompareMode;

typedef enum  {
	AFRODITE_SYMBOL_ACCESSIBILITY_PRIVATE = 1,
	AFRODITE_SYMBOL_ACCESSIBILITY_INTERNAL = 1 << 1,
	AFRODITE_SYMBOL_ACCESSIBILITY_PROTECTED = 1 << 2,
	AFRODITE_SYMBOL_ACCESSIBILITY_PUBLIC = 1 << 3,
	AFRODITE_SYMBOL_ACCESSIBILITY_ANY = ((AFRODITE_SYMBOL_ACCESSIBILITY_PRIVATE | AFRODITE_SYMBOL_ACCESSIBILITY_INTERNAL) | AFRODITE_SYMBOL_ACCESSIBILITY_PROTECTED) | AFRODITE_SYMBOL_ACCESSIBILITY_PUBLIC
} AfroditeSymbolAccessibility;

struct _AfroditeSymbolResolver {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeSymbolResolverPrivate * priv;
};

struct _AfroditeSymbolResolverClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeSymbolResolver *self);
};

struct _AfroditeDataType {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeDataTypePrivate * priv;
};

struct _AfroditeDataTypeClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeDataType *self);
};

struct _AfroditeVoidType {
	AfroditeSymbol parent_instance;
	AfroditeVoidTypePrivate * priv;
};

struct _AfroditeVoidTypeClass {
	AfroditeSymbolClass parent_class;
};

struct _AfroditeSourceReference {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeSourceReferencePrivate * priv;
};

struct _AfroditeSourceReferenceClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeSourceReference *self);
};

struct _AfroditeSourceFile {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeSourceFilePrivate * priv;
	GTimeVal last_modification_time;
};

struct _AfroditeSourceFileClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeSourceFile *self);
};

struct _AfroditeCodeDom {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeCodeDomPrivate * priv;
	ValaHashMap* symbols;
	ValaList* unresolved_symbols;
};

struct _AfroditeCodeDomClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeCodeDom *self);
};

typedef enum  {
	AFRODITE_CASE_SENSITIVENESS_CASE_SENSITIVE,
	AFRODITE_CASE_SENSITIVENESS_CASE_INSENSITIVE,
	AFRODITE_CASE_SENSITIVENESS_AUTO
} AfroditeCaseSensitiveness;

struct _AfroditeCompletionEngine {
	GObject parent_instance;
	AfroditeCompletionEnginePrivate * priv;
	gchar* id;
};

struct _AfroditeCompletionEngineClass {
	GObjectClass parent_class;
};

struct _AfroditeEllipsisType {
	AfroditeDataType parent_instance;
	AfroditeEllipsisTypePrivate * priv;
};

struct _AfroditeEllipsisTypeClass {
	AfroditeDataTypeClass parent_class;
};

struct _AfroditeQueryOptions {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeQueryOptionsPrivate * priv;
	gboolean all_symbols;
	gboolean only_creation_methods;
	gboolean only_static_factories;
	gboolean only_error_domains;
	gboolean exclude_creation_methods;
	gboolean exclude_code_node;
	AfroditeSymbolAccessibility access;
	gboolean auto_member_binding_mode;
	AfroditeMemberBinding binding;
	AfroditeCompareMode compare_mode;
};

struct _AfroditeQueryOptionsClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeQueryOptions *self);
};

struct _AfroditeQueryResult {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeQueryResultPrivate * priv;
	gint items_created;
};

struct _AfroditeQueryResultClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeQueryResult *self);
};

struct _AfroditeResultItem {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeResultItemPrivate * priv;
};

struct _AfroditeResultItemClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeResultItem *self);
};

typedef enum  {
	AFRODITE_SOURCE_TYPE_AUTO,
	AFRODITE_SOURCE_TYPE_VALA,
	AFRODITE_SOURCE_TYPE_GENIE,
	AFRODITE_SOURCE_TYPE_VAPI,
	AFRODITE_SOURCE_TYPE_UNKNOWN
} AfroditeSourceType;

struct _AfroditeSourceItem {
	GTypeInstance parent_instance;
	volatile int ref_count;
	AfroditeSourceItemPrivate * priv;
	gchar* content;
	AfroditeSourceType source_type;
	gboolean is_glib;
	ValaCodeContext* context;
};

struct _AfroditeSourceItemClass {
	GTypeClass parent_class;
	void (*finalize) (AfroditeSourceItem *self);
};


GType afrodite_ast_dumper_get_type (void) G_GNUC_CONST;
gpointer afrodite_code_dom_ref (gpointer instance);
void afrodite_code_dom_unref (gpointer instance);
GParamSpec* afrodite_param_spec_code_dom (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_code_dom (GValue* value, gpointer v_object);
void afrodite_value_take_code_dom (GValue* value, gpointer v_object);
gpointer afrodite_value_get_code_dom (const GValue* value);
GType afrodite_code_dom_get_type (void) G_GNUC_CONST;
void afrodite_ast_dumper_dump (AfroditeAstDumper* self, AfroditeCodeDom* ast, const gchar* filter_symbol);
AfroditeAstDumper* afrodite_ast_dumper_new (void);
AfroditeAstDumper* afrodite_ast_dumper_construct (GType object_type);
GType afrodite_parse_result_get_type (void) G_GNUC_CONST;
AfroditeParseResult* afrodite_parse_result_new (void);
AfroditeParseResult* afrodite_parse_result_construct (GType object_type);
GType afrodite_symbol_get_type (void) G_GNUC_CONST;
GType afrodite_member_binding_get_type (void) G_GNUC_CONST;
GType afrodite_void_type_get_type (void) G_GNUC_CONST;
extern AfroditeVoidType* afrodite_symbol_VOID;
gpointer afrodite_data_type_ref (gpointer instance);
void afrodite_data_type_unref (gpointer instance);
GParamSpec* afrodite_param_spec_data_type (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_data_type (GValue* value, gpointer v_object);
void afrodite_value_take_data_type (GValue* value, gpointer v_object);
gpointer afrodite_value_get_data_type (const GValue* value);
GType afrodite_data_type_get_type (void) G_GNUC_CONST;
GType afrodite_ellipsis_type_get_type (void) G_GNUC_CONST;
extern AfroditeEllipsisType* afrodite_symbol_ELLIPSIS;
GType afrodite_member_type_get_type (void) G_GNUC_CONST;
AfroditeSymbol* afrodite_symbol_new (const gchar* symbol_name, AfroditeMemberType type);
AfroditeSymbol* afrodite_symbol_construct (GType object_type, const gchar* symbol_name, AfroditeMemberType type);
void afrodite_symbol_add_child (AfroditeSymbol* self, AfroditeSymbol* child);
void afrodite_symbol_remove_child (AfroditeSymbol* self, AfroditeSymbol* child);
AfroditeSymbol* afrodite_symbol_lookup_child (AfroditeSymbol* self, const gchar* name);
GType afrodite_compare_mode_get_type (void) G_GNUC_CONST;
GType afrodite_symbol_accessibility_get_type (void) G_GNUC_CONST;
AfroditeDataType* afrodite_symbol_lookup_datatype_for_variable_name (AfroditeSymbol* self, AfroditeCompareMode mode, const gchar* name, AfroditeSymbolAccessibility access);
AfroditeDataType* afrodite_symbol_lookup_datatype_for_symbol_name (AfroditeSymbol* self, AfroditeCompareMode mode, const gchar* name, AfroditeSymbolAccessibility access);
AfroditeDataType* afrodite_symbol_lookup_datatype_for_name (AfroditeSymbol* self, AfroditeCompareMode mode, const gchar* name, AfroditeSymbolAccessibility access);
AfroditeDataType* afrodite_symbol_scope_lookup_datatype_for_name (AfroditeSymbol* self, AfroditeCompareMode mode, const gchar* name);
void afrodite_symbol_add_resolved_target (AfroditeSymbol* self, AfroditeSymbol* resolve_target);
void afrodite_symbol_remove_resolved_target (AfroditeSymbol* self, AfroditeSymbol* resolve_target);
void afrodite_symbol_add_parameter (AfroditeSymbol* self, AfroditeDataType* par);
void afrodite_symbol_remove_parameter (AfroditeSymbol* self, AfroditeDataType* par);
void afrodite_symbol_add_generic_type_argument (AfroditeSymbol* self, AfroditeSymbol* sym);
void afrodite_symbol_remove_generic_type_argument (AfroditeSymbol* self, AfroditeSymbol* sym);
void afrodite_symbol_add_local_variable (AfroditeSymbol* self, AfroditeDataType* variable);
void afrodite_symbol_remove_local_variable (AfroditeSymbol* self, AfroditeDataType* variable);
AfroditeDataType* afrodite_symbol_lookup_local_variable (AfroditeSymbol* self, const gchar* name);
void afrodite_symbol_add_base_type (AfroditeSymbol* self, AfroditeDataType* type);
void afrodite_symbol_remove_base_type (AfroditeSymbol* self, AfroditeDataType* type);
gpointer afrodite_source_reference_ref (gpointer instance);
void afrodite_source_reference_unref (gpointer instance);
GParamSpec* afrodite_param_spec_source_reference (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_source_reference (GValue* value, gpointer v_object);
void afrodite_value_take_source_reference (GValue* value, gpointer v_object);
gpointer afrodite_value_get_source_reference (const GValue* value);
GType afrodite_source_reference_get_type (void) G_GNUC_CONST;
void afrodite_symbol_add_source_reference (AfroditeSymbol* self, AfroditeSourceReference* reference);
void afrodite_symbol_remove_source_reference (AfroditeSymbol* self, AfroditeSourceReference* reference);
AfroditeSourceReference* afrodite_symbol_lookup_source_reference_filename (AfroditeSymbol* self, const gchar* filename);
gpointer afrodite_source_file_ref (gpointer instance);
void afrodite_source_file_unref (gpointer instance);
GParamSpec* afrodite_param_spec_source_file (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_source_file (GValue* value, gpointer v_object);
void afrodite_value_take_source_file (GValue* value, gpointer v_object);
gpointer afrodite_value_get_source_file (const GValue* value);
GType afrodite_source_file_get_type (void) G_GNUC_CONST;
AfroditeSourceReference* afrodite_symbol_lookup_source_reference_sourcefile (AfroditeSymbol* self, AfroditeSourceFile* source);
gpointer afrodite_query_options_ref (gpointer instance);
void afrodite_query_options_unref (gpointer instance);
GParamSpec* afrodite_param_spec_query_options (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_query_options (GValue* value, gpointer v_object);
void afrodite_value_take_query_options (GValue* value, gpointer v_object);
gpointer afrodite_value_get_query_options (const GValue* value);
GType afrodite_query_options_get_type (void) G_GNUC_CONST;
gboolean afrodite_symbol_check_options (AfroditeSymbol* self, AfroditeQueryOptions* options);
AfroditeSymbol* afrodite_symbol_get_default_constructor (AfroditeSymbol* self);
AfroditeSymbol* afrodite_symbol_copy (AfroditeSymbol* self);
void afrodite_symbol_specialize_generic_symbol (AfroditeSymbol* self, ValaList* types);
void afrodite_symbol_add_specialized_symbol (AfroditeSymbol* self, AfroditeSymbol* item);
void afrodite_symbol_remove_specialized_symbol (AfroditeSymbol* self, AfroditeSymbol* item);
AfroditeSymbol* afrodite_symbol_get_generic_type_argument (AfroditeSymbol* self, const gchar* name);
AfroditeSymbol* afrodite_symbol_get_parent (AfroditeSymbol* self);
void afrodite_symbol_set_parent (AfroditeSymbol* self, AfroditeSymbol* value);
ValaList* afrodite_symbol_get_children (AfroditeSymbol* self);
ValaList* afrodite_symbol_get_resolved_targets (AfroditeSymbol* self);
AfroditeSymbol* afrodite_symbol_get_generic_parent (AfroditeSymbol* self);
void afrodite_symbol_set_generic_parent (AfroditeSymbol* self, AfroditeSymbol* value);
const gchar* afrodite_symbol_get_name (AfroditeSymbol* self);
gchar* afrodite_symbol_get_fully_qualified_name (AfroditeSymbol* self);
AfroditeMemberType afrodite_symbol_get_member_type (AfroditeSymbol* self);
void afrodite_symbol_set_member_type (AfroditeSymbol* self, AfroditeMemberType value);
ValaList* afrodite_symbol_get_source_references (AfroditeSymbol* self);
void afrodite_symbol_set_source_references (AfroditeSymbol* self, ValaList* value);
ValaList* afrodite_symbol_get_parameters (AfroditeSymbol* self);
void afrodite_symbol_set_parameters (AfroditeSymbol* self, ValaList* value);
ValaList* afrodite_symbol_get_local_variables (AfroditeSymbol* self);
void afrodite_symbol_set_local_variables (AfroditeSymbol* self, ValaList* value);
ValaList* afrodite_symbol_get_base_types (AfroditeSymbol* self);
void afrodite_symbol_set_base_types (AfroditeSymbol* self, ValaList* value);
ValaList* afrodite_symbol_get_generic_type_arguments (AfroditeSymbol* self);
void afrodite_symbol_set_generic_type_arguments (AfroditeSymbol* self, ValaList* value);
gboolean afrodite_symbol_get_is_generic_type_argument (AfroditeSymbol* self);
void afrodite_symbol_set_is_generic_type_argument (AfroditeSymbol* self, gboolean value);
AfroditeSymbolAccessibility afrodite_symbol_get_access (AfroditeSymbol* self);
void afrodite_symbol_set_access (AfroditeSymbol* self, AfroditeSymbolAccessibility value);
gboolean afrodite_symbol_get_is_root (AfroditeSymbol* self);
AfroditeDataType* afrodite_symbol_get_symbol_type (AfroditeSymbol* self);
gint afrodite_symbol_get_static_child_count (AfroditeSymbol* self);
void afrodite_symbol_set_static_child_count (AfroditeSymbol* self, gint value);
gint afrodite_symbol_get_creation_method_child_count (AfroditeSymbol* self);
void afrodite_symbol_set_creation_method_child_count (AfroditeSymbol* self, gint value);
gboolean afrodite_symbol_get_has_children (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_resolved_targets (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_parameters (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_generic_type_arguments (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_local_variables (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_base_types (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_source_references (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_static_child (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_creation_method_child (AfroditeSymbol* self);
gboolean afrodite_symbol_get_is_static (AfroditeSymbol* self);
gchar* afrodite_symbol_get_description (AfroditeSymbol* self);
gchar* afrodite_symbol_get_markup_description (AfroditeSymbol* self);
gchar* afrodite_symbol_get_info (AfroditeSymbol* self);
const gchar* afrodite_symbol_get_display_name (AfroditeSymbol* self);
void afrodite_symbol_set_display_name (AfroditeSymbol* self, const gchar* value);
gchar* afrodite_symbol_get_access_string (AfroditeSymbol* self);
gchar* afrodite_symbol_get_binding_string (AfroditeSymbol* self);
gboolean afrodite_symbol_get_has_specialized_symbols (AfroditeSymbol* self);
gpointer afrodite_symbol_resolver_ref (gpointer instance);
void afrodite_symbol_resolver_unref (gpointer instance);
GParamSpec* afrodite_param_spec_symbol_resolver (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_symbol_resolver (GValue* value, gpointer v_object);
void afrodite_value_take_symbol_resolver (GValue* value, gpointer v_object);
gpointer afrodite_value_get_symbol_resolver (const GValue* value);
GType afrodite_symbol_resolver_get_type (void) G_GNUC_CONST;
void afrodite_symbol_resolver_resolve (AfroditeSymbolResolver* self, AfroditeCodeDom* codedom);
AfroditeSymbolResolver* afrodite_symbol_resolver_new (void);
AfroditeSymbolResolver* afrodite_symbol_resolver_construct (GType object_type);
AfroditeDataType* afrodite_data_type_new (const gchar* type_name, const gchar* name);
AfroditeDataType* afrodite_data_type_construct (GType object_type, const gchar* type_name, const gchar* name);
void afrodite_data_type_add_generic_type (AfroditeDataType* self, AfroditeDataType* type);
void afrodite_data_type_remove_generic_type (AfroditeDataType* self, AfroditeDataType* type);
AfroditeDataType* afrodite_data_type_copy (AfroditeDataType* self);
AfroditeSymbol* afrodite_data_type_get_symbol (AfroditeDataType* self);
void afrodite_data_type_set_symbol (AfroditeDataType* self, AfroditeSymbol* value);
const gchar* afrodite_data_type_get_name (AfroditeDataType* self);
void afrodite_data_type_set_name (AfroditeDataType* self, const gchar* value);
gboolean afrodite_data_type_get_is_array (AfroditeDataType* self);
void afrodite_data_type_set_is_array (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_pointer (AfroditeDataType* self);
void afrodite_data_type_set_is_pointer (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_generic (AfroditeDataType* self);
void afrodite_data_type_set_is_generic (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_nullable (AfroditeDataType* self);
void afrodite_data_type_set_is_nullable (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_out (AfroditeDataType* self);
void afrodite_data_type_set_is_out (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_ref (AfroditeDataType* self);
void afrodite_data_type_set_is_ref (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_dynamic (AfroditeDataType* self);
void afrodite_data_type_set_is_dynamic (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_ellipsis (AfroditeDataType* self);
void afrodite_data_type_set_is_ellipsis (AfroditeDataType* self, gboolean value);
gboolean afrodite_data_type_get_is_iterator (AfroditeDataType* self);
void afrodite_data_type_set_is_iterator (AfroditeDataType* self, gboolean value);
const gchar* afrodite_data_type_get_default_expression (AfroditeDataType* self);
void afrodite_data_type_set_default_expression (AfroditeDataType* self, const gchar* value);
ValaList* afrodite_data_type_get_generic_types (AfroditeDataType* self);
void afrodite_data_type_set_generic_types (AfroditeDataType* self, ValaList* value);
AfroditeSourceReference* afrodite_data_type_get_source_reference (AfroditeDataType* self);
void afrodite_data_type_set_source_reference (AfroditeDataType* self, AfroditeSourceReference* value);
const gchar* afrodite_data_type_get_type_name (AfroditeDataType* self);
void afrodite_data_type_set_type_name (AfroditeDataType* self, const gchar* value);
gboolean afrodite_data_type_get_unresolved (AfroditeDataType* self);
gboolean afrodite_data_type_get_has_generic_types (AfroditeDataType* self);
gchar* afrodite_data_type_get_description (AfroditeDataType* self);
AfroditeVoidType* afrodite_void_type_new (void);
AfroditeVoidType* afrodite_void_type_construct (GType object_type);
gboolean afrodite_source_reference_contains_position (AfroditeSourceReference* self, gint line, gint column);
gboolean afrodite_source_reference_contains_source_reference (AfroditeSourceReference* self, AfroditeSourceReference* child);
AfroditeSourceReference* afrodite_source_reference_new (void);
AfroditeSourceReference* afrodite_source_reference_construct (GType object_type);
AfroditeSourceFile* afrodite_source_reference_get_file (AfroditeSourceReference* self);
void afrodite_source_reference_set_file (AfroditeSourceReference* self, AfroditeSourceFile* value);
gint afrodite_source_reference_get_first_line (AfroditeSourceReference* self);
void afrodite_source_reference_set_first_line (AfroditeSourceReference* self, gint value);
gint afrodite_source_reference_get_last_line (AfroditeSourceReference* self);
void afrodite_source_reference_set_last_line (AfroditeSourceReference* self, gint value);
gint afrodite_source_reference_get_first_column (AfroditeSourceReference* self);
void afrodite_source_reference_set_first_column (AfroditeSourceReference* self, gint value);
gint afrodite_source_reference_get_last_column (AfroditeSourceReference* self);
void afrodite_source_reference_set_last_column (AfroditeSourceReference* self, gint value);
AfroditeSourceFile* afrodite_source_file_new (const gchar* filename);
AfroditeSourceFile* afrodite_source_file_construct (GType object_type, const gchar* filename);
gboolean afrodite_source_file_update_last_modification_time (AfroditeSourceFile* self);
AfroditeDataType* afrodite_source_file_add_using_directive (AfroditeSourceFile* self, const gchar* name);
AfroditeDataType* afrodite_source_file_lookup_using_directive (AfroditeSourceFile* self, const gchar* name);
void afrodite_source_file_remove_using_directive (AfroditeSourceFile* self, const gchar* name);
void afrodite_source_file_add_symbol (AfroditeSourceFile* self, AfroditeSymbol* symbol);
void afrodite_source_file_remove_symbol (AfroditeSourceFile* self, AfroditeSymbol* symbol);
ValaList* afrodite_source_file_get_using_directives (AfroditeSourceFile* self);
void afrodite_source_file_set_using_directives (AfroditeSourceFile* self, ValaList* value);
ValaList* afrodite_source_file_get_symbols (AfroditeSourceFile* self);
void afrodite_source_file_set_symbols (AfroditeSourceFile* self, ValaList* value);
AfroditeCodeDom* afrodite_source_file_get_codedom (AfroditeSourceFile* self);
void afrodite_source_file_set_codedom (AfroditeSourceFile* self, AfroditeCodeDom* value);
const gchar* afrodite_source_file_get_filename (AfroditeSourceFile* self);
void afrodite_source_file_set_filename (AfroditeSourceFile* self, const gchar* value);
gboolean afrodite_source_file_get_has_using_directives (AfroditeSourceFile* self);
gboolean afrodite_source_file_get_has_symbols (AfroditeSourceFile* self);
void afrodite_code_dom_dump_symbols (AfroditeCodeDom* self);
AfroditeSourceFile* afrodite_code_dom_lookup_source_file (AfroditeCodeDom* self, const gchar* filename);
AfroditeSymbol* afrodite_code_dom_lookup_symbol_at (AfroditeCodeDom* self, const gchar* filename, gint line, gint column);
gpointer afrodite_query_result_ref (gpointer instance);
void afrodite_query_result_unref (gpointer instance);
GParamSpec* afrodite_param_spec_query_result (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_query_result (GValue* value, gpointer v_object);
void afrodite_value_take_query_result (GValue* value, gpointer v_object);
gpointer afrodite_value_get_query_result (const GValue* value);
GType afrodite_query_result_get_type (void) G_GNUC_CONST;
AfroditeQueryResult* afrodite_code_dom_get_symbol_for_name_and_path (AfroditeCodeDom* self, AfroditeQueryOptions* options, const gchar* symbol_qualified_name, const gchar* path, gint line, gint column);
AfroditeQueryResult* afrodite_code_dom_get_symbol_type_for_name_and_path (AfroditeCodeDom* self, AfroditeQueryOptions* options, const gchar* symbol_qualified_name, const gchar* path, gint line, gint column);
AfroditeQueryResult* afrodite_code_dom_get_symbols_for_path (AfroditeCodeDom* self, AfroditeQueryOptions* options, const gchar* path);
GType afrodite_case_sensitiveness_get_type (void) G_GNUC_CONST;
ValaList* afrodite_code_dom_lookup_visible_symbols_from_symbol (AfroditeCodeDom* self, AfroditeSymbol* symbol, const gchar* name, AfroditeCompareMode mode, AfroditeCaseSensitiveness case_sensitiveness);
AfroditeSymbol* afrodite_code_dom_get_symbol_for_source_and_position (AfroditeCodeDom* self, AfroditeSourceFile* source, gint line, gint column);
AfroditeCodeDom* afrodite_code_dom_new (void);
AfroditeCodeDom* afrodite_code_dom_construct (GType object_type);
AfroditeSymbol* afrodite_code_dom_get_root (AfroditeCodeDom* self);
void afrodite_code_dom_set_root (AfroditeCodeDom* self, AfroditeSymbol* value);
ValaList* afrodite_code_dom_get_source_files (AfroditeCodeDom* self);
void afrodite_code_dom_set_source_files (AfroditeCodeDom* self, ValaList* value);
gboolean afrodite_code_dom_get_has_source_files (AfroditeCodeDom* self);
void afrodite_utils_log_message (const gchar* log_domain, const gchar* format, va_list args);
ValaList* afrodite_utils_get_package_paths (const gchar* pkg, ValaCodeContext* context, gchar** vapi_dirs, int vapi_dirs_length1);
gchar* afrodite_utils_symbols_get_symbol_type_description (AfroditeMemberType type);
gchar* afrodite_utils_unescape_xml_string (const gchar* text);
GType afrodite_completion_engine_get_type (void) G_GNUC_CONST;
AfroditeCompletionEngine* afrodite_completion_engine_new (const gchar* id);
AfroditeCompletionEngine* afrodite_completion_engine_construct (GType object_type, const gchar* id);
void afrodite_completion_engine_add_vapi_dir (AfroditeCompletionEngine* self, const gchar* path);
void afrodite_completion_engine_remove_vapi_dir (AfroditeCompletionEngine* self, const gchar* path);
gpointer afrodite_source_item_ref (gpointer instance);
void afrodite_source_item_unref (gpointer instance);
GParamSpec* afrodite_param_spec_source_item (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_source_item (GValue* value, gpointer v_object);
void afrodite_value_take_source_item (GValue* value, gpointer v_object);
gpointer afrodite_value_get_source_item (const GValue* value);
GType afrodite_source_item_get_type (void) G_GNUC_CONST;
void afrodite_completion_engine_queue_source (AfroditeCompletionEngine* self, AfroditeSourceItem* item);
gboolean afrodite_completion_engine_queue_sources (AfroditeCompletionEngine* self, ValaList* sources, gboolean no_update_check);
void afrodite_completion_engine_queue_sourcefile (AfroditeCompletionEngine* self, const gchar* path, const gchar* content, gboolean is_vapi, gboolean is_glib);
void afrodite_completion_engine_queue_sourcefiles (AfroditeCompletionEngine* self, ValaList* paths, const gchar* content, gboolean is_vapi, gboolean is_glib);
void afrodite_completion_engine_remove_source_filename (AfroditeCompletionEngine* self, const gchar* source_path);
gboolean afrodite_completion_engine_get_is_parsing (AfroditeCompletionEngine* self);
AfroditeCodeDom* afrodite_completion_engine_get_codedom (AfroditeCompletionEngine* self);
AfroditeEllipsisType* afrodite_ellipsis_type_new (void);
AfroditeEllipsisType* afrodite_ellipsis_type_construct (GType object_type);
AfroditeQueryOptions* afrodite_query_options_standard (void);
AfroditeQueryOptions* afrodite_query_options_creation_methods (void);
AfroditeQueryOptions* afrodite_query_options_factory_methods (void);
AfroditeQueryOptions* afrodite_query_options_error_domains (void);
void afrodite_query_options_dump_settings (AfroditeQueryOptions* self);
AfroditeQueryOptions* afrodite_query_options_new (void);
AfroditeQueryOptions* afrodite_query_options_construct (GType object_type);
gpointer afrodite_result_item_ref (gpointer instance);
void afrodite_result_item_unref (gpointer instance);
GParamSpec* afrodite_param_spec_result_item (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void afrodite_value_set_result_item (GValue* value, gpointer v_object);
void afrodite_value_take_result_item (GValue* value, gpointer v_object);
gpointer afrodite_value_get_result_item (const GValue* value);
GType afrodite_result_item_get_type (void) G_GNUC_CONST;
void afrodite_query_result_add_result_item (AfroditeQueryResult* self, AfroditeResultItem* item);
AfroditeResultItem* afrodite_query_result_new_result_item (AfroditeQueryResult* self, AfroditeResultItem* parent, AfroditeSymbol* symbol);
AfroditeQueryResult* afrodite_query_result_new (void);
AfroditeQueryResult* afrodite_query_result_construct (GType object_type);
ValaList* afrodite_query_result_get_children (AfroditeQueryResult* self);
void afrodite_query_result_set_children (AfroditeQueryResult* self, ValaList* value);
gboolean afrodite_query_result_get_is_empty (AfroditeQueryResult* self);
void afrodite_result_item_add_result_item (AfroditeResultItem* self, AfroditeResultItem* item);
AfroditeResultItem* afrodite_result_item_new (void);
AfroditeResultItem* afrodite_result_item_construct (GType object_type);
AfroditeSymbol* afrodite_result_item_get_symbol (AfroditeResultItem* self);
void afrodite_result_item_set_symbol (AfroditeResultItem* self, AfroditeSymbol* value);
AfroditeResultItem* afrodite_result_item_get_parent (AfroditeResultItem* self);
void afrodite_result_item_set_parent (AfroditeResultItem* self, AfroditeResultItem* value);
ValaList* afrodite_result_item_get_children (AfroditeResultItem* self);
void afrodite_result_item_set_children (AfroditeResultItem* self, ValaList* value);
GType afrodite_source_type_get_type (void) G_GNUC_CONST;
AfroditeSourceItem* afrodite_source_item_new (const gchar* path, AfroditeSourceType source_type);
AfroditeSourceItem* afrodite_source_item_construct (GType object_type, const gchar* path, AfroditeSourceType source_type);
AfroditeSourceItem* afrodite_source_item_copy (AfroditeSourceItem* self);
AfroditeSourceType afrodite_source_item_get_source_type (const gchar* path);
const gchar* afrodite_source_item_get_path (AfroditeSourceItem* self);


G_END_DECLS

#endif
