/* gcp.h generated by valac 0.17.4.20-387e, the Vala compiler, do not modify */


#ifndef __GCP_H__
#define __GCP_H__

#include <glib.h>
#include <gio/gio.h>
#include <glib-object.h>
#include <gtk/gtk.h>
#include <gdk/gdk.h>
#include <stdlib.h>
#include <string.h>
#include <gedit/gedit-document.h>
#include <gtksourceview/gtksourceview.h>

G_BEGIN_DECLS


#define GCP_TYPE_SOURCE_RANGE_SUPPORT (gcp_source_range_support_get_type ())
#define GCP_SOURCE_RANGE_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SOURCE_RANGE_SUPPORT, GcpSourceRangeSupport))
#define GCP_IS_SOURCE_RANGE_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SOURCE_RANGE_SUPPORT))
#define GCP_SOURCE_RANGE_SUPPORT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCP_TYPE_SOURCE_RANGE_SUPPORT, GcpSourceRangeSupportIface))

typedef struct _GcpSourceRangeSupport GcpSourceRangeSupport;
typedef struct _GcpSourceRangeSupportIface GcpSourceRangeSupportIface;

#define GCP_TYPE_SOURCE_RANGE (gcp_source_range_get_type ())
#define GCP_SOURCE_RANGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SOURCE_RANGE, GcpSourceRange))
#define GCP_SOURCE_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SOURCE_RANGE, GcpSourceRangeClass))
#define GCP_IS_SOURCE_RANGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SOURCE_RANGE))
#define GCP_IS_SOURCE_RANGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SOURCE_RANGE))
#define GCP_SOURCE_RANGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SOURCE_RANGE, GcpSourceRangeClass))

typedef struct _GcpSourceRange GcpSourceRange;
typedef struct _GcpSourceRangeClass GcpSourceRangeClass;

#define GCP_TYPE_SOURCE_LOCATION (gcp_source_location_get_type ())
#define GCP_SOURCE_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SOURCE_LOCATION, GcpSourceLocation))
#define GCP_SOURCE_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SOURCE_LOCATION, GcpSourceLocationClass))
#define GCP_IS_SOURCE_LOCATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SOURCE_LOCATION))
#define GCP_IS_SOURCE_LOCATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SOURCE_LOCATION))
#define GCP_SOURCE_LOCATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SOURCE_LOCATION, GcpSourceLocationClass))

typedef struct _GcpSourceLocation GcpSourceLocation;
typedef struct _GcpSourceLocationClass GcpSourceLocationClass;
typedef struct _GcpSourceLocationPrivate GcpSourceLocationPrivate;
typedef struct _GcpSourceRangePrivate GcpSourceRangePrivate;

#define GCP_TYPE_SOURCE_INDEX (gcp_source_index_get_type ())
#define GCP_SOURCE_INDEX(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SOURCE_INDEX, GcpSourceIndex))
#define GCP_SOURCE_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SOURCE_INDEX, GcpSourceIndexClass))
#define GCP_IS_SOURCE_INDEX(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SOURCE_INDEX))
#define GCP_IS_SOURCE_INDEX_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SOURCE_INDEX))
#define GCP_SOURCE_INDEX_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SOURCE_INDEX, GcpSourceIndexClass))

typedef struct _GcpSourceIndex GcpSourceIndex;
typedef struct _GcpSourceIndexClass GcpSourceIndexClass;
typedef struct _GcpSourceIndexPrivate GcpSourceIndexPrivate;

#define GCP_SOURCE_INDEX_TYPE_ITERATOR (gcp_source_index_iterator_get_type ())
#define GCP_SOURCE_INDEX_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_SOURCE_INDEX_TYPE_ITERATOR, GcpSourceIndexIterator))
#define GCP_SOURCE_INDEX_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_SOURCE_INDEX_TYPE_ITERATOR, GcpSourceIndexIteratorClass))
#define GCP_SOURCE_INDEX_IS_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_SOURCE_INDEX_TYPE_ITERATOR))
#define GCP_SOURCE_INDEX_IS_ITERATOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_SOURCE_INDEX_TYPE_ITERATOR))
#define GCP_SOURCE_INDEX_ITERATOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_SOURCE_INDEX_TYPE_ITERATOR, GcpSourceIndexIteratorClass))

typedef struct _GcpSourceIndexIterator GcpSourceIndexIterator;
typedef struct _GcpSourceIndexIteratorClass GcpSourceIndexIteratorClass;

#define GCP_SOURCE_INDEX_TYPE_WRAPPER (gcp_source_index_wrapper_get_type ())
#define GCP_SOURCE_INDEX_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_SOURCE_INDEX_TYPE_WRAPPER, GcpSourceIndexWrapper))
#define GCP_SOURCE_INDEX_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_SOURCE_INDEX_TYPE_WRAPPER, GcpSourceIndexWrapperClass))
#define GCP_SOURCE_INDEX_IS_WRAPPER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_SOURCE_INDEX_TYPE_WRAPPER))
#define GCP_SOURCE_INDEX_IS_WRAPPER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_SOURCE_INDEX_TYPE_WRAPPER))
#define GCP_SOURCE_INDEX_WRAPPER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_SOURCE_INDEX_TYPE_WRAPPER, GcpSourceIndexWrapperClass))

typedef struct _GcpSourceIndexWrapper GcpSourceIndexWrapper;
typedef struct _GcpSourceIndexWrapperClass GcpSourceIndexWrapperClass;
typedef struct _GcpSourceIndexWrapperPrivate GcpSourceIndexWrapperPrivate;
typedef struct _GcpSourceIndexIteratorPrivate GcpSourceIndexIteratorPrivate;

#define GCP_TYPE_DOCUMENT (gcp_document_get_type ())
#define GCP_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DOCUMENT, GcpDocument))
#define GCP_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_DOCUMENT, GcpDocumentClass))
#define GCP_IS_DOCUMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DOCUMENT))
#define GCP_IS_DOCUMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_DOCUMENT))
#define GCP_DOCUMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_DOCUMENT, GcpDocumentClass))

typedef struct _GcpDocument GcpDocument;
typedef struct _GcpDocumentClass GcpDocumentClass;
typedef struct _GcpDocumentPrivate GcpDocumentPrivate;

#define GCP_DIAGNOSTIC_TYPE_SEVERITY (gcp_diagnostic_severity_get_type ())

#define GCP_TYPE_SCROLLBAR_MARKER (gcp_scrollbar_marker_get_type ())
#define GCP_SCROLLBAR_MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SCROLLBAR_MARKER, GcpScrollbarMarker))
#define GCP_SCROLLBAR_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SCROLLBAR_MARKER, GcpScrollbarMarkerClass))
#define GCP_IS_SCROLLBAR_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SCROLLBAR_MARKER))
#define GCP_IS_SCROLLBAR_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SCROLLBAR_MARKER))
#define GCP_SCROLLBAR_MARKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SCROLLBAR_MARKER, GcpScrollbarMarkerClass))

typedef struct _GcpScrollbarMarker GcpScrollbarMarker;
typedef struct _GcpScrollbarMarkerClass GcpScrollbarMarkerClass;
typedef struct _GcpScrollbarMarkerPrivate GcpScrollbarMarkerPrivate;

#define GCP_SCROLLBAR_MARKER_TYPE_MARKER (gcp_scrollbar_marker_marker_get_type ())
#define GCP_SCROLLBAR_MARKER_MARKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_SCROLLBAR_MARKER_TYPE_MARKER, GcpScrollbarMarkerMarker))
#define GCP_SCROLLBAR_MARKER_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_SCROLLBAR_MARKER_TYPE_MARKER, GcpScrollbarMarkerMarkerClass))
#define GCP_SCROLLBAR_MARKER_IS_MARKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_SCROLLBAR_MARKER_TYPE_MARKER))
#define GCP_SCROLLBAR_MARKER_IS_MARKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_SCROLLBAR_MARKER_TYPE_MARKER))
#define GCP_SCROLLBAR_MARKER_MARKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_SCROLLBAR_MARKER_TYPE_MARKER, GcpScrollbarMarkerMarkerClass))

typedef struct _GcpScrollbarMarkerMarker GcpScrollbarMarkerMarker;
typedef struct _GcpScrollbarMarkerMarkerClass GcpScrollbarMarkerMarkerClass;
typedef struct _GcpScrollbarMarkerMarkerPrivate GcpScrollbarMarkerMarkerPrivate;

#define GCP_TYPE_BACKEND (gcp_backend_get_type ())
#define GCP_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_BACKEND, GcpBackend))
#define GCP_IS_BACKEND(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_BACKEND))
#define GCP_BACKEND_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCP_TYPE_BACKEND, GcpBackendIface))

typedef struct _GcpBackend GcpBackend;
typedef struct _GcpBackendIface GcpBackendIface;

#define GCP_TYPE_BACKEND_IMPLEMENTATION (gcp_backend_implementation_get_type ())
#define GCP_BACKEND_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_BACKEND_IMPLEMENTATION, GcpBackendImplementation))
#define GCP_BACKEND_IMPLEMENTATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_BACKEND_IMPLEMENTATION, GcpBackendImplementationClass))
#define GCP_IS_BACKEND_IMPLEMENTATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_BACKEND_IMPLEMENTATION))
#define GCP_IS_BACKEND_IMPLEMENTATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_BACKEND_IMPLEMENTATION))
#define GCP_BACKEND_IMPLEMENTATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_BACKEND_IMPLEMENTATION, GcpBackendImplementationClass))

typedef struct _GcpBackendImplementation GcpBackendImplementation;
typedef struct _GcpBackendImplementationClass GcpBackendImplementationClass;
typedef struct _GcpBackendImplementationPrivate GcpBackendImplementationPrivate;

#define GCP_TYPE_UNSAVED_FILE (gcp_unsaved_file_get_type ())
typedef struct _GcpUnsavedFile GcpUnsavedFile;

#define GCP_TYPE_SEMANTIC_VALUE (gcp_semantic_value_get_type ())
#define GCP_SEMANTIC_VALUE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SEMANTIC_VALUE, GcpSemanticValue))
#define GCP_SEMANTIC_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SEMANTIC_VALUE, GcpSemanticValueClass))
#define GCP_IS_SEMANTIC_VALUE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SEMANTIC_VALUE))
#define GCP_IS_SEMANTIC_VALUE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SEMANTIC_VALUE))
#define GCP_SEMANTIC_VALUE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SEMANTIC_VALUE, GcpSemanticValueClass))

typedef struct _GcpSemanticValue GcpSemanticValue;
typedef struct _GcpSemanticValueClass GcpSemanticValueClass;
typedef struct _GcpSemanticValuePrivate GcpSemanticValuePrivate;

#define GCP_SEMANTIC_VALUE_TYPE_KIND (gcp_semantic_value_kind_get_type ())

#define GCP_SEMANTIC_VALUE_TYPE_REFERENCE_TYPE (gcp_semantic_value_reference_type_get_type ())

#define GCP_TYPE_SEMANTIC_VALUE_SUPPORT (gcp_semantic_value_support_get_type ())
#define GCP_SEMANTIC_VALUE_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SEMANTIC_VALUE_SUPPORT, GcpSemanticValueSupport))
#define GCP_IS_SEMANTIC_VALUE_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SEMANTIC_VALUE_SUPPORT))
#define GCP_SEMANTIC_VALUE_SUPPORT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCP_TYPE_SEMANTIC_VALUE_SUPPORT, GcpSemanticValueSupportIface))

typedef struct _GcpSemanticValueSupport GcpSemanticValueSupport;
typedef struct _GcpSemanticValueSupportIface GcpSemanticValueSupportIface;

#define GCP_TYPE_SYMBOL_BROWSER (gcp_symbol_browser_get_type ())
#define GCP_SYMBOL_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SYMBOL_BROWSER, GcpSymbolBrowser))
#define GCP_SYMBOL_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_SYMBOL_BROWSER, GcpSymbolBrowserClass))
#define GCP_IS_SYMBOL_BROWSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SYMBOL_BROWSER))
#define GCP_IS_SYMBOL_BROWSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_SYMBOL_BROWSER))
#define GCP_SYMBOL_BROWSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_SYMBOL_BROWSER, GcpSymbolBrowserClass))

typedef struct _GcpSymbolBrowser GcpSymbolBrowser;
typedef struct _GcpSymbolBrowserClass GcpSymbolBrowserClass;
typedef struct _GcpSymbolBrowserPrivate GcpSymbolBrowserPrivate;

#define GCP_TYPE_SYMBOL_BROWSER_SUPPORT (gcp_symbol_browser_support_get_type ())
#define GCP_SYMBOL_BROWSER_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_SYMBOL_BROWSER_SUPPORT, GcpSymbolBrowserSupport))
#define GCP_IS_SYMBOL_BROWSER_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_SYMBOL_BROWSER_SUPPORT))
#define GCP_SYMBOL_BROWSER_SUPPORT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCP_TYPE_SYMBOL_BROWSER_SUPPORT, GcpSymbolBrowserSupportIface))

typedef struct _GcpSymbolBrowserSupport GcpSymbolBrowserSupport;
typedef struct _GcpSymbolBrowserSupportIface GcpSymbolBrowserSupportIface;

#define GCP_TYPE_DIAGNOSTIC (gcp_diagnostic_get_type ())
#define GCP_DIAGNOSTIC(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DIAGNOSTIC, GcpDiagnostic))
#define GCP_DIAGNOSTIC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_DIAGNOSTIC, GcpDiagnosticClass))
#define GCP_IS_DIAGNOSTIC(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DIAGNOSTIC))
#define GCP_IS_DIAGNOSTIC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_DIAGNOSTIC))
#define GCP_DIAGNOSTIC_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_DIAGNOSTIC, GcpDiagnosticClass))

typedef struct _GcpDiagnostic GcpDiagnostic;
typedef struct _GcpDiagnosticClass GcpDiagnosticClass;
typedef struct _GcpDiagnosticPrivate GcpDiagnosticPrivate;

#define GCP_DIAGNOSTIC_TYPE_FIXIT (gcp_diagnostic_fixit_get_type ())
typedef struct _GcpDiagnosticFixit GcpDiagnosticFixit;

#define GCP_TYPE_DIAGNOSTIC_COLORS (gcp_diagnostic_colors_get_type ())
#define GCP_DIAGNOSTIC_COLORS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DIAGNOSTIC_COLORS, GcpDiagnosticColors))
#define GCP_DIAGNOSTIC_COLORS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_DIAGNOSTIC_COLORS, GcpDiagnosticColorsClass))
#define GCP_IS_DIAGNOSTIC_COLORS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DIAGNOSTIC_COLORS))
#define GCP_IS_DIAGNOSTIC_COLORS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_DIAGNOSTIC_COLORS))
#define GCP_DIAGNOSTIC_COLORS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_DIAGNOSTIC_COLORS, GcpDiagnosticColorsClass))

typedef struct _GcpDiagnosticColors GcpDiagnosticColors;
typedef struct _GcpDiagnosticColorsClass GcpDiagnosticColorsClass;
typedef struct _GcpDiagnosticColorsPrivate GcpDiagnosticColorsPrivate;

#define GCP_TYPE_DIAGNOSTIC_TAGS (gcp_diagnostic_tags_get_type ())
#define GCP_DIAGNOSTIC_TAGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DIAGNOSTIC_TAGS, GcpDiagnosticTags))
#define GCP_DIAGNOSTIC_TAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_DIAGNOSTIC_TAGS, GcpDiagnosticTagsClass))
#define GCP_IS_DIAGNOSTIC_TAGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DIAGNOSTIC_TAGS))
#define GCP_IS_DIAGNOSTIC_TAGS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_DIAGNOSTIC_TAGS))
#define GCP_DIAGNOSTIC_TAGS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_DIAGNOSTIC_TAGS, GcpDiagnosticTagsClass))

typedef struct _GcpDiagnosticTags GcpDiagnosticTags;
typedef struct _GcpDiagnosticTagsClass GcpDiagnosticTagsClass;
typedef struct _GcpDiagnosticTagsPrivate GcpDiagnosticTagsPrivate;

#define GCP_TYPE_DIAGNOSTIC_SUPPORT (gcp_diagnostic_support_get_type ())
#define GCP_DIAGNOSTIC_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DIAGNOSTIC_SUPPORT, GcpDiagnosticSupport))
#define GCP_IS_DIAGNOSTIC_SUPPORT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DIAGNOSTIC_SUPPORT))
#define GCP_DIAGNOSTIC_SUPPORT_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), GCP_TYPE_DIAGNOSTIC_SUPPORT, GcpDiagnosticSupportIface))

typedef struct _GcpDiagnosticSupport GcpDiagnosticSupport;
typedef struct _GcpDiagnosticSupportIface GcpDiagnosticSupportIface;

#define GCP_TYPE_DIAGNOSTIC_MESSAGE (gcp_diagnostic_message_get_type ())
#define GCP_DIAGNOSTIC_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_DIAGNOSTIC_MESSAGE, GcpDiagnosticMessage))
#define GCP_DIAGNOSTIC_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_DIAGNOSTIC_MESSAGE, GcpDiagnosticMessageClass))
#define GCP_IS_DIAGNOSTIC_MESSAGE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_DIAGNOSTIC_MESSAGE))
#define GCP_IS_DIAGNOSTIC_MESSAGE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_DIAGNOSTIC_MESSAGE))
#define GCP_DIAGNOSTIC_MESSAGE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_DIAGNOSTIC_MESSAGE, GcpDiagnosticMessageClass))

typedef struct _GcpDiagnosticMessage GcpDiagnosticMessage;
typedef struct _GcpDiagnosticMessageClass GcpDiagnosticMessageClass;
typedef struct _GcpDiagnosticMessagePrivate GcpDiagnosticMessagePrivate;

#define GCP_TYPE_LOG (gcp_log_get_type ())
#define GCP_LOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GCP_TYPE_LOG, GcpLog))
#define GCP_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GCP_TYPE_LOG, GcpLogClass))
#define GCP_IS_LOG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GCP_TYPE_LOG))
#define GCP_IS_LOG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GCP_TYPE_LOG))
#define GCP_LOG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GCP_TYPE_LOG, GcpLogClass))

typedef struct _GcpLog GcpLog;
typedef struct _GcpLogClass GcpLogClass;
typedef struct _GcpLogPrivate GcpLogPrivate;

typedef void (*GcpAsyncInThreadCallback) (void* user_data);
struct _GcpSourceRangeSupportIface {
	GTypeInterface parent_iface;
	GcpSourceRange* (*get_range) (GcpSourceRangeSupport* self);
	GcpSourceRange** (*get_ranges) (GcpSourceRangeSupport* self, int* result_length1);
};

struct _GcpSourceLocation {
	GObject parent_instance;
	GcpSourceLocationPrivate * priv;
};

struct _GcpSourceLocationClass {
	GObjectClass parent_class;
};

struct _GcpSourceRange {
	GObject parent_instance;
	GcpSourceRangePrivate * priv;
};

struct _GcpSourceRangeClass {
	GObjectClass parent_class;
};

struct _GcpSourceIndex {
	GObject parent_instance;
	GcpSourceIndexPrivate * priv;
};

struct _GcpSourceIndexClass {
	GObjectClass parent_class;
};

struct _GcpSourceIndexWrapper {
	GObject parent_instance;
	GcpSourceIndexWrapperPrivate * priv;
	GcpSourceRangeSupport* obj;
	GcpSourceRange* range;
	gint idx;
	gboolean encapsulated;
};

struct _GcpSourceIndexWrapperClass {
	GObjectClass parent_class;
};

struct _GcpSourceIndexIterator {
	GObject parent_instance;
	GcpSourceIndexIteratorPrivate * priv;
};

struct _GcpSourceIndexIteratorClass {
	GObjectClass parent_class;
};

struct _GcpDocument {
	GObject parent_instance;
	GcpDocumentPrivate * priv;
};

struct _GcpDocumentClass {
	GObjectClass parent_class;
	gboolean (*get_tainted) (GcpDocument* self);
	void (*set_tainted) (GcpDocument* self, gboolean value);
};

typedef enum  {
	GCP_DIAGNOSTIC_SEVERITY_NONE,
	GCP_DIAGNOSTIC_SEVERITY_INFO,
	GCP_DIAGNOSTIC_SEVERITY_WARNING,
	GCP_DIAGNOSTIC_SEVERITY_ERROR,
	GCP_DIAGNOSTIC_SEVERITY_FATAL,
	GCP_DIAGNOSTIC_SEVERITY_NUM
} GcpDiagnosticSeverity;

struct _GcpScrollbarMarker {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GcpScrollbarMarkerPrivate * priv;
};

struct _GcpScrollbarMarkerClass {
	GTypeClass parent_class;
	void (*finalize) (GcpScrollbarMarker *self);
};

struct _GcpScrollbarMarkerMarker {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GcpScrollbarMarkerMarkerPrivate * priv;
};

struct _GcpScrollbarMarkerMarkerClass {
	GTypeClass parent_class;
	void (*finalize) (GcpScrollbarMarkerMarker *self);
};

struct _GcpBackendIface {
	GTypeInterface parent_iface;
	GcpDocument* (*get) (GcpBackend* self, gint idx);
	GcpDocument* (*register_document) (GcpBackend* self, GeditDocument* document);
	void (*unregister_document) (GcpBackend* self, GcpDocument* document);
	gint (*get_size) (GcpBackend* self);
};

struct _GcpBackendImplementation {
	GObject parent_instance;
	GcpBackendImplementationPrivate * priv;
};

struct _GcpBackendImplementationClass {
	GObjectClass parent_class;
	GcpDocument* (*create_document) (GcpBackendImplementation* self, GeditDocument* document);
	void (*destroy_document) (GcpBackendImplementation* self, GcpDocument* document);
	void (*on_document_changed) (GcpBackendImplementation* self, GcpDocument* doc);
};

struct _GcpUnsavedFile {
	gchar* filename;
	gchar* contents;
	gulong length;
};

struct _GcpSemanticValue {
	GObject parent_instance;
	GcpSemanticValuePrivate * priv;
};

struct _GcpSemanticValueClass {
	GObjectClass parent_class;
	GcpSemanticValue* (*reference) (GcpSemanticValue* self, gint idx);
	GcpSemanticValue* (*get_definition) (GcpSemanticValue* self);
	GcpSemanticValue* (*get_declaration) (GcpSemanticValue* self);
	gint (*get_num_references) (GcpSemanticValue* self);
	GcpSemanticValue* (*get_next) (GcpSemanticValue* self);
	GcpSemanticValue* (*get_previous) (GcpSemanticValue* self);
	GcpSemanticValue* (*get_up) (GcpSemanticValue* self);
	GcpSemanticValue* (*get_down) (GcpSemanticValue* self);
};

typedef enum  {
	GCP_SEMANTIC_VALUE_KIND_NONE,
	GCP_SEMANTIC_VALUE_KIND_STRUCT,
	GCP_SEMANTIC_VALUE_KIND_UNION,
	GCP_SEMANTIC_VALUE_KIND_CLASS,
	GCP_SEMANTIC_VALUE_KIND_ENUM,
	GCP_SEMANTIC_VALUE_KIND_FIELD,
	GCP_SEMANTIC_VALUE_KIND_ENUM_VALUE,
	GCP_SEMANTIC_VALUE_KIND_FUNCTION,
	GCP_SEMANTIC_VALUE_KIND_MEMBER_FUNCTION,
	GCP_SEMANTIC_VALUE_KIND_CONSTRUCTOR,
	GCP_SEMANTIC_VALUE_KIND_DESTRUCTOR,
	GCP_SEMANTIC_VALUE_KIND_VARIABLE,
	GCP_SEMANTIC_VALUE_KIND_PARAMETER,
	GCP_SEMANTIC_VALUE_KIND_TYPEDEF,
	GCP_SEMANTIC_VALUE_KIND_NAMESPACE,
	GCP_SEMANTIC_VALUE_KIND_BLOCK
} GcpSemanticValueKind;

typedef enum  {
	GCP_SEMANTIC_VALUE_REFERENCE_TYPE_NONE = 1 << 0,
	GCP_SEMANTIC_VALUE_REFERENCE_TYPE_DECLARATION = 1 << 0,
	GCP_SEMANTIC_VALUE_REFERENCE_TYPE_REFERENCE = 1 << 1,
	GCP_SEMANTIC_VALUE_REFERENCE_TYPE_DEFINITION = 1 << 2
} GcpSemanticValueReferenceType;

typedef void (*GcpWithSemanticValueCallback) (GcpSourceIndex* diagnostics, void* user_data);
struct _GcpSemanticValueSupportIface {
	GTypeInterface parent_iface;
	GcpSourceIndex* (*begin_semantics) (GcpSemanticValueSupport* self);
	void (*end_semantics) (GcpSemanticValueSupport* self);
};

struct _GcpSymbolBrowser {
	GtkTreeStore parent_instance;
	GcpSymbolBrowserPrivate * priv;
};

struct _GcpSymbolBrowserClass {
	GtkTreeStoreClass parent_class;
};

struct _GcpSymbolBrowserSupportIface {
	GTypeInterface parent_iface;
	GcpSymbolBrowser* (*get_symbol_browser) (GcpSymbolBrowserSupport* self);
};

struct _GcpDiagnostic {
	GObject parent_instance;
	GcpDiagnosticPrivate * priv;
};

struct _GcpDiagnosticClass {
	GObjectClass parent_class;
};

struct _GcpDiagnosticFixit {
	GcpSourceRange* range;
	gchar* replacement;
};

struct _GcpDiagnosticColors {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GcpDiagnosticColorsPrivate * priv;
};

struct _GcpDiagnosticColorsClass {
	GTypeClass parent_class;
	void (*finalize) (GcpDiagnosticColors *self);
};

struct _GcpDiagnosticTags {
	GObject parent_instance;
	GcpDiagnosticTagsPrivate * priv;
};

struct _GcpDiagnosticTagsClass {
	GObjectClass parent_class;
};

typedef void (*GcpWithDiagnosticsCallback) (GcpSourceIndex* diagnostics, void* user_data);
struct _GcpDiagnosticSupportIface {
	GTypeInterface parent_iface;
	GcpSourceIndex* (*begin_diagnostics) (GcpDiagnosticSupport* self);
	void (*end_diagnostics) (GcpDiagnosticSupport* self);
	void (*set_diagnostic_tags) (GcpDiagnosticSupport* self, GcpDiagnosticTags* tags);
	GcpDiagnosticTags* (*get_diagnostic_tags) (GcpDiagnosticSupport* self);
};

struct _GcpDiagnosticMessage {
	GtkEventBox parent_instance;
	GcpDiagnosticMessagePrivate * priv;
};

struct _GcpDiagnosticMessageClass {
	GtkEventBoxClass parent_class;
};

struct _GcpLog {
	GTypeInstance parent_instance;
	volatile int ref_count;
	GcpLogPrivate * priv;
};

struct _GcpLogClass {
	GTypeClass parent_class;
	void (*finalize) (GcpLog *self);
};


void gcp_async_in_thread (GcpAsyncInThreadCallback cb, void* cb_target, GAsyncReadyCallback _callback_, gpointer _user_data_);
gboolean gcp_async_in_thread_finish (GAsyncResult* _res_);
GType gcp_source_range_get_type (void) G_GNUC_CONST;
GType gcp_source_range_support_get_type (void) G_GNUC_CONST;
GType gcp_source_location_get_type (void) G_GNUC_CONST;
GcpSourceLocation* gcp_source_location_new (GFile* file, gint line, gint column);
GcpSourceLocation* gcp_source_location_construct (GType object_type, GFile* file, gint line, gint column);
GcpSourceLocation* gcp_source_location_new_iter (GtkTextIter* iter);
GcpSourceLocation* gcp_source_location_construct_iter (GType object_type, GtkTextIter* iter);
GcpSourceLocation* gcp_source_location_copy (GcpSourceLocation* self);
gint gcp_source_location_compare_to (GcpSourceLocation* self, GcpSourceLocation* other);
gboolean gcp_source_location_get_iter (GcpSourceLocation* self, GtkTextBuffer* buffer, GtkTextIter* iter);
gboolean gcp_source_location_buffer_coordinates (GcpSourceLocation* self, GtkTextView* view, GdkRectangle* rect);
gchar* gcp_source_location_to_string (GcpSourceLocation* self);
GFile* gcp_source_location_get_file (GcpSourceLocation* self);
gint gcp_source_location_get_line (GcpSourceLocation* self);
void gcp_source_location_set_line (GcpSourceLocation* self, gint value);
gint gcp_source_location_get_column (GcpSourceLocation* self);
GcpSourceRange* gcp_source_range_new (GcpSourceLocation* start, GcpSourceLocation* end);
GcpSourceRange* gcp_source_range_construct (GType object_type, GcpSourceLocation* start, GcpSourceLocation* end);
gint gcp_source_range_compare_to (GcpSourceRange* self, GcpSourceRange* other);
gboolean gcp_source_range_get_iters (GcpSourceRange* self, GtkTextBuffer* buffer, GtkTextIter* start, GtkTextIter* end);
gboolean gcp_source_range_contains_range (GcpSourceRange* self, GcpSourceRange* range);
gboolean gcp_source_range_contains_location (GcpSourceRange* self, GcpSourceLocation* location);
gboolean gcp_source_range_contains (GcpSourceRange* self, gint line, gint column);
gboolean gcp_source_range_contains_line (GcpSourceRange* self, gint line);
gchar* gcp_source_range_to_string (GcpSourceRange* self);
GcpSourceLocation* gcp_source_range_get_start (GcpSourceRange* self);
GcpSourceLocation* gcp_source_range_get_end (GcpSourceRange* self);
GcpSourceRange* gcp_source_range_support_get_range (GcpSourceRangeSupport* self);
GcpSourceRange** gcp_source_range_support_get_ranges (GcpSourceRangeSupport* self, int* result_length1);
GType gcp_source_index_get_type (void) G_GNUC_CONST;
void gcp_source_index_add (GcpSourceIndex* self, GcpSourceRangeSupport* range);
GObject* gcp_source_index_get (GcpSourceIndex* self, gint idx);
void gcp_source_index_remove (GcpSourceIndex* self, GcpSourceRangeSupport* range);
GObject** gcp_source_index_find_at_line (GcpSourceIndex* self, gint line, int* result_length1);
GObject** gcp_source_index_find_at (GcpSourceIndex* self, GcpSourceLocation* location, int* result_length1);
GObject* gcp_source_index_find_inner_at (GcpSourceIndex* self, GcpSourceLocation* location);
void gcp_source_index_clear (GcpSourceIndex* self);
GType gcp_source_index_iterator_get_type (void) G_GNUC_CONST;
GcpSourceIndexIterator* gcp_source_index_iterator (GcpSourceIndex* self);
GcpSourceIndex* gcp_source_index_new (void);
GcpSourceIndex* gcp_source_index_construct (GType object_type);
gint gcp_source_index_get_length (GcpSourceIndex* self);
GType gcp_source_index_wrapper_get_type (void) G_GNUC_CONST;
GcpSourceIndexWrapper* gcp_source_index_wrapper_new (GcpSourceRangeSupport* obj, GcpSourceRange* range, gint idx);
GcpSourceIndexWrapper* gcp_source_index_wrapper_construct (GType object_type, GcpSourceRangeSupport* obj, GcpSourceRange* range, gint idx);
GcpSourceIndexIterator* gcp_source_index_iterator_new (GSequenceIter* iter);
GcpSourceIndexIterator* gcp_source_index_iterator_construct (GType object_type, GSequenceIter* iter);
gboolean gcp_source_index_iterator_next (GcpSourceIndexIterator* self);
GObject* gcp_source_index_iterator_get (GcpSourceIndexIterator* self);
GType gcp_document_get_type (void) G_GNUC_CONST;
gboolean gcp_document_source_range (GcpDocument* self, GcpSourceRange* range, GtkTextIter* start, GtkTextIter* end);
GType gcp_diagnostic_severity_get_type (void) G_GNUC_CONST;
gchar* gcp_document_mark_category_for_severity (GcpDiagnosticSeverity severity);
void gcp_document_emit_changed (GcpDocument* self);
GcpDocument* gcp_document_new (void);
GcpDocument* gcp_document_construct (GType object_type);
GeditDocument* gcp_document_get_document (GcpDocument* self);
const gchar* gcp_document_get_error_mark_category (void);
const gchar* gcp_document_get_warning_mark_category (void);
const gchar* gcp_document_get_info_mark_category (void);
gboolean gcp_document_get_tainted (GcpDocument* self);
void gcp_document_set_tainted (GcpDocument* self, gboolean value);
GFile* gcp_document_get_location (GcpDocument* self);
const gchar* gcp_document_get_text (GcpDocument* self);
gboolean gcp_document_get_is_modified (GcpDocument* self);
gpointer gcp_scrollbar_marker_ref (gpointer instance);
void gcp_scrollbar_marker_unref (gpointer instance);
GParamSpec* gcp_param_spec_scrollbar_marker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gcp_value_set_scrollbar_marker (GValue* value, gpointer v_object);
void gcp_value_take_scrollbar_marker (GValue* value, gpointer v_object);
gpointer gcp_value_get_scrollbar_marker (const GValue* value);
GType gcp_scrollbar_marker_get_type (void) G_GNUC_CONST;
GcpScrollbarMarker* gcp_scrollbar_marker_new (GtkScrollbar* scrollbar);
GcpScrollbarMarker* gcp_scrollbar_marker_construct (GType object_type, GtkScrollbar* scrollbar);
guint gcp_scrollbar_marker_new_merge_id (GcpScrollbarMarker* self);
void gcp_scrollbar_marker_add_with_id (GcpScrollbarMarker* self, guint id, GcpSourceRange* range, GdkRGBA* color);
guint gcp_scrollbar_marker_add (GcpScrollbarMarker* self, GcpSourceRange* range, GdkRGBA* color);
void gcp_scrollbar_marker_remove (GcpScrollbarMarker* self, guint id);
void gcp_scrollbar_marker_clear (GcpScrollbarMarker* self);
gint gcp_scrollbar_marker_get_max_line (GcpScrollbarMarker* self);
void gcp_scrollbar_marker_set_max_line (GcpScrollbarMarker* self, gint value);
GtkScrollbar* gcp_scrollbar_marker_get_scrollbar (GcpScrollbarMarker* self);
gpointer gcp_scrollbar_marker_marker_ref (gpointer instance);
void gcp_scrollbar_marker_marker_unref (gpointer instance);
GParamSpec* gcp_scrollbar_marker_param_spec_marker (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gcp_scrollbar_marker_value_set_marker (GValue* value, gpointer v_object);
void gcp_scrollbar_marker_value_take_marker (GValue* value, gpointer v_object);
gpointer gcp_scrollbar_marker_value_get_marker (const GValue* value);
GType gcp_scrollbar_marker_marker_get_type (void) G_GNUC_CONST;
GcpScrollbarMarkerMarker* gcp_scrollbar_marker_marker_new (GcpSourceRange* range, GdkRGBA* color);
GcpScrollbarMarkerMarker* gcp_scrollbar_marker_marker_construct (GType object_type, GcpSourceRange* range, GdkRGBA* color);
GcpSourceRange* gcp_scrollbar_marker_marker_get_range (GcpScrollbarMarkerMarker* self);
void gcp_scrollbar_marker_marker_get_color (GcpScrollbarMarkerMarker* self, GdkRGBA* result);
GType gcp_backend_get_type (void) G_GNUC_CONST;
GcpDocument* gcp_backend_get (GcpBackend* self, gint idx);
GcpDocument* gcp_backend_register_document (GcpBackend* self, GeditDocument* document);
void gcp_backend_unregister_document (GcpBackend* self, GcpDocument* document);
gint gcp_backend_get_size (GcpBackend* self);
GType gcp_backend_implementation_get_type (void) G_GNUC_CONST;
GcpDocument* gcp_backend_implementation_create_document (GcpBackendImplementation* self, GeditDocument* document);
void gcp_backend_implementation_destroy_document (GcpBackendImplementation* self, GcpDocument* document);
void gcp_backend_implementation_on_document_changed (GcpBackendImplementation* self, GcpDocument* doc);
GcpBackendImplementation* gcp_backend_implementation_construct (GType object_type);
GType gcp_unsaved_file_get_type (void) G_GNUC_CONST;
GcpUnsavedFile* gcp_unsaved_file_dup (const GcpUnsavedFile* self);
void gcp_unsaved_file_free (GcpUnsavedFile* self);
void gcp_unsaved_file_copy (const GcpUnsavedFile* self, GcpUnsavedFile* dest);
void gcp_unsaved_file_destroy (GcpUnsavedFile* self);
void gcp_unsaved_file_init (GcpUnsavedFile *self, const gchar* f, const gchar* c);
GType gcp_semantic_value_get_type (void) G_GNUC_CONST;
GType gcp_semantic_value_kind_get_type (void) G_GNUC_CONST;
GType gcp_semantic_value_reference_type_get_type (void) G_GNUC_CONST;
GcpSemanticValue* gcp_semantic_value_construct (GType object_type, GcpSourceRange* range, GcpSemanticValueKind kind, GcpSemanticValueReferenceType rtype);
GcpSemanticValue* gcp_semantic_value_find_child (GcpSemanticValue* self, GcpSemanticValueKind kind);
GcpSemanticValue* gcp_semantic_value_reference (GcpSemanticValue* self, gint idx);
GcpSemanticValueKind gcp_semantic_value_get_kind (GcpSemanticValue* self);
GcpSemanticValueReferenceType gcp_semantic_value_get_reference_type (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_definition (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_declaration (GcpSemanticValue* self);
gint gcp_semantic_value_get_num_references (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_next (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_previous (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_up (GcpSemanticValue* self);
GcpSemanticValue* gcp_semantic_value_get_down (GcpSemanticValue* self);
GType gcp_semantic_value_support_get_type (void) G_GNUC_CONST;
void gcp_semantic_value_support_with_semantics (GcpSemanticValueSupport* self, GcpWithSemanticValueCallback callback, void* callback_target);
GcpSourceIndex* gcp_semantic_value_support_begin_semantics (GcpSemanticValueSupport* self);
void gcp_semantic_value_support_end_semantics (GcpSemanticValueSupport* self);
GType gcp_symbol_browser_get_type (void) G_GNUC_CONST;
GcpSymbolBrowser* gcp_symbol_browser_new (void);
GcpSymbolBrowser* gcp_symbol_browser_construct (GType object_type);
void gcp_symbol_browser_begin_update (GcpSymbolBrowser* self);
void gcp_symbol_browser_end_update (GcpSymbolBrowser* self);
gboolean gcp_symbol_browser_get_tainted (GcpSymbolBrowser* self);
void gcp_symbol_browser_set_tainted (GcpSymbolBrowser* self, gboolean value);
GType gcp_symbol_browser_support_get_type (void) G_GNUC_CONST;
GcpSymbolBrowser* gcp_symbol_browser_support_get_symbol_browser (GcpSymbolBrowserSupport* self);
GType gcp_diagnostic_get_type (void) G_GNUC_CONST;
gchar* gcp_diagnostic_severity_to_string (GcpDiagnosticSeverity self);
GType gcp_diagnostic_fixit_get_type (void) G_GNUC_CONST;
GcpDiagnosticFixit* gcp_diagnostic_fixit_dup (const GcpDiagnosticFixit* self);
void gcp_diagnostic_fixit_free (GcpDiagnosticFixit* self);
void gcp_diagnostic_fixit_copy (const GcpDiagnosticFixit* self, GcpDiagnosticFixit* dest);
void gcp_diagnostic_fixit_destroy (GcpDiagnosticFixit* self);
GcpDiagnostic* gcp_diagnostic_new (GcpDiagnosticSeverity severity, GcpSourceLocation* location, GcpSourceRange** ranges, int ranges_length1, GcpDiagnosticFixit* fixits, int fixits_length1, const gchar* message);
GcpDiagnostic* gcp_diagnostic_construct (GType object_type, GcpDiagnosticSeverity severity, GcpSourceLocation* location, GcpSourceRange** ranges, int ranges_length1, GcpDiagnosticFixit* fixits, int fixits_length1, const gchar* message);
gchar* gcp_diagnostic_to_string (GcpDiagnostic* self);
gchar* gcp_diagnostic_to_markup (GcpDiagnostic* self, gboolean include_severity);
GcpSourceLocation* gcp_diagnostic_get_location (GcpDiagnostic* self);
GcpDiagnosticFixit* gcp_diagnostic_get_fixits (GcpDiagnostic* self, int* result_length1);
GcpDiagnosticSeverity gcp_diagnostic_get_severity (GcpDiagnostic* self);
const gchar* gcp_diagnostic_get_message (GcpDiagnostic* self);
gpointer gcp_diagnostic_colors_ref (gpointer instance);
void gcp_diagnostic_colors_unref (gpointer instance);
GParamSpec* gcp_param_spec_diagnostic_colors (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gcp_value_set_diagnostic_colors (GValue* value, gpointer v_object);
void gcp_value_take_diagnostic_colors (GValue* value, gpointer v_object);
gpointer gcp_value_get_diagnostic_colors (const GValue* value);
GType gcp_diagnostic_colors_get_type (void) G_GNUC_CONST;
GcpDiagnosticColors* gcp_diagnostic_colors_new (GtkStyleContext* context);
GcpDiagnosticColors* gcp_diagnostic_colors_construct (GType object_type, GtkStyleContext* context);
void gcp_diagnostic_colors_mix_in_widget (GcpDiagnosticColors* self, GtkWidget* widget);
void gcp_diagnostic_colors_mix_in_color (GcpDiagnosticColors* self, GtkWidget* widget, GdkRGBA* dest);
GdkRGBA* gcp_diagnostic_colors_get (GcpDiagnosticColors* self, GcpDiagnosticSeverity severity);
void gcp_diagnostic_colors_get_error_color (GcpDiagnosticColors* self, GdkRGBA* result);
void gcp_diagnostic_colors_get_warning_color (GcpDiagnosticColors* self, GdkRGBA* result);
void gcp_diagnostic_colors_get_info_color (GcpDiagnosticColors* self, GdkRGBA* result);
GType gcp_diagnostic_tags_get_type (void) G_GNUC_CONST;
GcpDiagnosticTags* gcp_diagnostic_tags_new (GtkTextView* view);
GcpDiagnosticTags* gcp_diagnostic_tags_construct (GType object_type, GtkTextView* view);
GtkTextTag* gcp_diagnostic_tags_get (GcpDiagnosticTags* self, GcpDiagnosticSeverity severity);
GtkTextTag* gcp_diagnostic_tags_get_error_tag (GcpDiagnosticTags* self);
GtkTextTag* gcp_diagnostic_tags_get_warning_tag (GcpDiagnosticTags* self);
GtkTextTag* gcp_diagnostic_tags_get_info_tag (GcpDiagnosticTags* self);
GtkTextTag* gcp_diagnostic_tags_get_location_tag (GcpDiagnosticTags* self);
GtkTextTag* gcp_diagnostic_tags_get_fixit_tag (GcpDiagnosticTags* self);
GType gcp_diagnostic_support_get_type (void) G_GNUC_CONST;
GcpSourceIndex* gcp_diagnostic_support_begin_diagnostics (GcpDiagnosticSupport* self);
void gcp_diagnostic_support_end_diagnostics (GcpDiagnosticSupport* self);
GcpDiagnostic** gcp_diagnostic_support_find_at (GcpDiagnosticSupport* self, GcpSourceLocation* location, int* result_length1);
GcpDiagnostic** gcp_diagnostic_support_find_at_line (GcpDiagnosticSupport* self, gint line, int* result_length1);
void gcp_diagnostic_support_with_diagnostics (GcpDiagnosticSupport* self, GcpWithDiagnosticsCallback callback, void* callback_target);
void gcp_diagnostic_support_set_diagnostic_tags (GcpDiagnosticSupport* self, GcpDiagnosticTags* tags);
GcpDiagnosticTags* gcp_diagnostic_support_get_diagnostic_tags (GcpDiagnosticSupport* self);
GType gcp_diagnostic_message_get_type (void) G_GNUC_CONST;
GcpDiagnosticMessage* gcp_diagnostic_message_new (GtkSourceView* view, GcpDiagnostic** diagnostics, int diagnostics_length1);
GcpDiagnosticMessage* gcp_diagnostic_message_construct (GType object_type, GtkSourceView* view, GcpDiagnostic** diagnostics, int diagnostics_length1);
void gcp_diagnostic_message_reposition (GcpDiagnosticMessage* self);
GcpDiagnostic** gcp_diagnostic_message_get_diagnostics (GcpDiagnosticMessage* self, int* result_length1);
void gcp_diagnostic_message_set_diagnostics (GcpDiagnosticMessage* self, GcpDiagnostic** value, int value_length1);
gpointer gcp_log_ref (gpointer instance);
void gcp_log_unref (gpointer instance);
GParamSpec* gcp_param_spec_log (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
void gcp_value_set_log (GValue* value, gpointer v_object);
void gcp_value_take_log (GValue* value, gpointer v_object);
gpointer gcp_value_get_log (const GValue* value);
GType gcp_log_get_type (void) G_GNUC_CONST;
void gcp_log_error (const gchar* format, ...);
void gcp_log_warning (const gchar* format, ...);
void gcp_log_message (const gchar* format, ...);
void gcp_log_info (const gchar* format, ...);
void gcp_log_debug (const gchar* format, ...);
void gcp_log_critical (const gchar* format, ...);
GcpLog* gcp_log_new (void);
GcpLog* gcp_log_construct (GType object_type);


G_END_DECLS

#endif
