/*******************************************************************************
 * Copyright (c) 2000, 2021 IBM Corporation and others. All rights reserved.
 * The contents of this file are made available under the terms
 * of the GNU Lesser General Public License (LGPL) Version 2.1 that
 * accompanies this distribution (lgpl-v21.txt).  The LGPL is also
 * available at http://www.gnu.org/licenses/lgpl.html.  If the version
 * of the LGPL at http://www.gnu.org is different to the version of
 * the LGPL accompanying this distribution and there is any conflict
 * between the two license versions, the terms of the LGPL accompanying
 * this distribution shall govern.
 * 
 * Contributors:
 *     IBM Corporation - initial API and implementation
 *******************************************************************************/

/* Note: This file was auto-generated by org.eclipse.swt.tools.internal.JNIGenerator */
/* DO NOT EDIT - your changes will be lost. */

#include "swt.h"
#include "os_stats.h"

#ifdef NATIVE_STATS

char * GDK_nativeFunctionNames[] = {
	"GDK_1EVENT_1TYPE",
	"GDK_1EVENT_1WINDOW",
	"GDK_1IS_1X11_1DISPLAY",
	"GDK_1TYPE_1PIXBUF",
	"GDK_1TYPE_1RGBA",
	"GdkEventButton_1sizeof",
	"GdkEventCrossing_1sizeof",
	"GdkEventFocus_1sizeof",
	"GdkEventKey_1sizeof",
	"GdkEventMotion_1sizeof",
	"GdkEventWindowState_1sizeof",
	"GdkEvent_1sizeof",
	"GdkGeometry_1sizeof",
	"GdkKeymapKey_1sizeof",
	"GdkRGBA_1sizeof",
	"GdkRectangle_1sizeof",
	"GdkWindowAttr_1sizeof",
	"gdk_1atom_1intern",
	"gdk_1atom_1name",
	"gdk_1button_1event_1get_1button",
	"gdk_1cairo_1create",
	"gdk_1cairo_1get_1clip_1rectangle",
	"gdk_1cairo_1region",
	"gdk_1cairo_1region_1create_1from_1surface",
	"gdk_1cairo_1set_1source_1pixbuf",
	"gdk_1cairo_1set_1source_1rgba",
	"gdk_1cairo_1set_1source_1window",
	"gdk_1clipboard_1set_1content",
	"gdk_1crossing_1event_1get_1mode",
	"gdk_1cursor_1new_1from_1name__JLjava_lang_String_2",
	"gdk_1cursor_1new_1from_1name__Ljava_lang_String_2J",
	"gdk_1cursor_1new_1from_1pixbuf",
	"gdk_1cursor_1new_1from_1texture",
	"gdk_1device_1get_1associated_1device",
	"gdk_1device_1get_1seat",
	"gdk_1device_1get_1surface_1at_1position",
	"gdk_1device_1get_1window_1at_1position",
	"gdk_1device_1warp",
	"gdk_1display_1beep",
	"gdk_1display_1get_1clipboard",
	"gdk_1display_1get_1default",
	"gdk_1display_1get_1default_1group",
	"gdk_1display_1get_1default_1seat",
	"gdk_1display_1get_1monitor",
	"gdk_1display_1get_1monitor_1at_1point",
	"gdk_1display_1get_1monitor_1at_1surface",
	"gdk_1display_1get_1monitor_1at_1window",
	"gdk_1display_1get_1monitors",
	"gdk_1display_1get_1n_1monitors",
	"gdk_1display_1get_1primary_1clipboard",
	"gdk_1display_1get_1primary_1monitor",
	"gdk_1display_1is_1composited",
	"gdk_1display_1map_1keyval",
	"gdk_1display_1put_1event",
	"gdk_1display_1supports_1cursor_1color",
	"gdk_1drag_1context_1get_1actions",
	"gdk_1drag_1context_1get_1dest_1window",
	"gdk_1drag_1context_1get_1selected_1action",
	"gdk_1drag_1context_1list_1targets",
	"gdk_1drag_1status",
	"gdk_1event_1copy",
	"gdk_1event_1free",
	"gdk_1event_1get",
	"gdk_1event_1get_1button",
	"gdk_1event_1get_1coords",
	"gdk_1event_1get_1event_1type",
	"gdk_1event_1get_1keycode",
	"gdk_1event_1get_1keyval",
	"gdk_1event_1get_1modifier_1state",
	"gdk_1event_1get_1position",
	"gdk_1event_1get_1root_1coords",
	"gdk_1event_1get_1scroll_1deltas",
	"gdk_1event_1get_1scroll_1direction",
	"gdk_1event_1get_1seat",
	"gdk_1event_1get_1state",
	"gdk_1event_1get_1surface",
	"gdk_1event_1get_1time",
	"gdk_1event_1get_1window",
	"gdk_1event_1handler_1set",
	"gdk_1event_1new",
	"gdk_1event_1peek",
	"gdk_1event_1put",
	"gdk_1event_1ref",
	"gdk_1event_1set_1device",
	"gdk_1event_1unref",
	"gdk_1focus_1event_1get_1in",
	"gdk_1get_1default_1root_1window",
	"gdk_1key_1event_1get_1keycode",
	"gdk_1key_1event_1get_1keyval",
	"gdk_1key_1event_1get_1layout",
	"gdk_1keymap_1get_1entries_1for_1keyval",
	"gdk_1keymap_1get_1for_1display",
	"gdk_1keymap_1translate_1keyboard_1state",
	"gdk_1keyval_1name",
	"gdk_1keyval_1to_1lower",
	"gdk_1keyval_1to_1unicode",
	"gdk_1monitor_1get_1geometry",
	"gdk_1monitor_1get_1scale_1factor",
	"gdk_1monitor_1get_1workarea",
	"gdk_1pango_1context_1get",
	"gdk_1pango_1layout_1get_1clip_1region",
	"gdk_1pixbuf_1animation_1get_1iter",
	"gdk_1pixbuf_1animation_1get_1static_1image",
	"gdk_1pixbuf_1animation_1is_1static_1image",
	"gdk_1pixbuf_1animation_1iter_1advance",
	"gdk_1pixbuf_1animation_1iter_1get_1delay_1time",
	"gdk_1pixbuf_1animation_1iter_1get_1pixbuf",
	"gdk_1pixbuf_1copy",
	"gdk_1pixbuf_1copy_1area",
	"gdk_1pixbuf_1format_1get_1name",
	"gdk_1pixbuf_1get_1bits_1per_1sample",
	"gdk_1pixbuf_1get_1from_1surface",
	"gdk_1pixbuf_1get_1from_1texture",
	"gdk_1pixbuf_1get_1from_1window",
	"gdk_1pixbuf_1get_1has_1alpha",
	"gdk_1pixbuf_1get_1height",
	"gdk_1pixbuf_1get_1n_1channels",
	"gdk_1pixbuf_1get_1pixels",
	"gdk_1pixbuf_1get_1rowstride",
	"gdk_1pixbuf_1get_1width",
	"gdk_1pixbuf_1loader_1close",
	"gdk_1pixbuf_1loader_1get_1animation",
	"gdk_1pixbuf_1loader_1get_1format",
	"gdk_1pixbuf_1loader_1get_1pixbuf",
	"gdk_1pixbuf_1loader_1new",
	"gdk_1pixbuf_1loader_1write",
	"gdk_1pixbuf_1new",
	"gdk_1pixbuf_1new_1from_1data",
	"gdk_1pixbuf_1new_1from_1file",
	"gdk_1pixbuf_1save_1to_1bufferv",
	"gdk_1pixbuf_1scale_1simple",
	"gdk_1popup_1get_1parent",
	"gdk_1popup_1layout_1new",
	"gdk_1popup_1present",
	"gdk_1property_1get",
	"gdk_1rgba_1free",
	"gdk_1rgba_1parse",
	"gdk_1rgba_1to_1string",
	"gdk_1screen_1get_1default",
	"gdk_1screen_1get_1monitor_1at_1point",
	"gdk_1screen_1get_1monitor_1at_1window",
	"gdk_1screen_1get_1monitor_1geometry",
	"gdk_1screen_1get_1monitor_1scale_1factor",
	"gdk_1screen_1get_1monitor_1workarea",
	"gdk_1screen_1get_1n_1monitors",
	"gdk_1screen_1get_1primary_1monitor",
	"gdk_1screen_1get_1resolution",
	"gdk_1screen_1get_1system_1visual",
	"gdk_1screen_1height",
	"gdk_1screen_1is_1composited",
	"gdk_1screen_1width",
	"gdk_1scroll_1event_1get_1deltas",
	"gdk_1scroll_1event_1get_1direction",
	"gdk_1seat_1get_1keyboard",
	"gdk_1seat_1get_1pointer",
	"gdk_1seat_1grab",
	"gdk_1seat_1ungrab",
	"gdk_1selection_1owner_1get",
	"gdk_1selection_1owner_1set",
	"gdk_1set_1program_1class",
	"gdk_1surface_1create_1similar_1surface",
	"gdk_1surface_1destroy",
	"gdk_1surface_1get_1device_1position",
	"gdk_1surface_1get_1display",
	"gdk_1surface_1get_1height",
	"gdk_1surface_1get_1width",
	"gdk_1surface_1hide",
	"gdk_1surface_1new_1popup",
	"gdk_1surface_1new_1toplevel",
	"gdk_1surface_1set_1cursor",
	"gdk_1surface_1set_1input_1region",
	"gdk_1surface_1set_1opaque_1region",
	"gdk_1text_1property_1to_1utf8_1list_1for_1display",
	"gdk_1texture_1new_1for_1pixbuf",
	"gdk_1texture_1new_1from_1file",
	"gdk_1threads_1add_1idle",
	"gdk_1threads_1add_1timeout",
	"gdk_1threads_1enter",
	"gdk_1threads_1init",
	"gdk_1threads_1leave",
	"gdk_1toplevel_1layout_1new",
	"gdk_1toplevel_1present",
	"gdk_1unicode_1to_1keyval",
	"gdk_1utf8_1to_1string_1target",
	"gdk_1visual_1get_1depth",
	"gdk_1window_1create_1similar_1surface",
	"gdk_1window_1destroy",
	"gdk_1window_1focus",
	"gdk_1window_1get_1children",
	"gdk_1window_1get_1device_1position",
	"gdk_1window_1get_1display",
	"gdk_1window_1get_1events",
	"gdk_1window_1get_1frame_1extents",
	"gdk_1window_1get_1height",
	"gdk_1window_1get_1origin",
	"gdk_1window_1get_1parent",
	"gdk_1window_1get_1root_1origin",
	"gdk_1window_1get_1state",
	"gdk_1window_1get_1user_1data",
	"gdk_1window_1get_1visible_1region",
	"gdk_1window_1get_1width",
	"gdk_1window_1hide",
	"gdk_1window_1invalidate_1rect",
	"gdk_1window_1invalidate_1region",
	"gdk_1window_1lower",
	"gdk_1window_1move",
	"gdk_1window_1move_1resize",
	"gdk_1window_1new",
	"gdk_1window_1raise",
	"gdk_1window_1resize",
	"gdk_1window_1restack",
	"gdk_1window_1set_1background_1pattern",
	"gdk_1window_1set_1cursor",
	"gdk_1window_1set_1decorations",
	"gdk_1window_1set_1events",
	"gdk_1window_1set_1functions",
	"gdk_1window_1set_1override_1redirect",
	"gdk_1window_1set_1user_1data",
	"gdk_1window_1show",
	"gdk_1window_1show_1unraised",
	"gdk_1x11_1display_1error_1trap_1pop_1ignored",
	"gdk_1x11_1display_1error_1trap_1push",
	"gdk_1x11_1display_1get_1default_1group",
	"gdk_1x11_1display_1get_1xdisplay",
	"gdk_1x11_1display_1utf8_1to_1compound_1text",
	"gdk_1x11_1get_1default_1xdisplay",
	"gdk_1x11_1screen_1get_1window_1manager_1name",
	"gdk_1x11_1screen_1lookup_1visual",
	"gdk_1x11_1surface_1get_1xid",
	"gdk_1x11_1surface_1lookup_1for_1display",
	"gdk_1x11_1window_1get_1xid",
	"gdk_1x11_1window_1lookup_1for_1display",
};
#define NATIVE_FUNCTION_COUNT sizeof(GDK_nativeFunctionNames) / sizeof(char*)
int GDK_nativeFunctionCount = NATIVE_FUNCTION_COUNT;
int GDK_nativeFunctionCallCount[NATIVE_FUNCTION_COUNT];

#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func

JNIEXPORT jint JNICALL STATS_NATIVE(GDK_1GetFunctionCount)
	(JNIEnv *env, jclass that)
{
	return GDK_nativeFunctionCount;
}

JNIEXPORT jstring JNICALL STATS_NATIVE(GDK_1GetFunctionName)
	(JNIEnv *env, jclass that, jint index)
{
	return (*env)->NewStringUTF(env, GDK_nativeFunctionNames[index]);
}

JNIEXPORT jint JNICALL STATS_NATIVE(GDK_1GetFunctionCallCount)
	(JNIEnv *env, jclass that, jint index)
{
	return GDK_nativeFunctionCallCount[index];
}

#endif
#ifdef NATIVE_STATS

char * GTK_nativeFunctionNames[] = {
	"GET_1FUNCTION_1POINTER_1gtk_1false",
	"GTK_1IS_1ACCEL_1LABEL",
	"GTK_1IS_1BOX",
	"GTK_1IS_1BUTTON",
	"GTK_1IS_1CELL_1RENDERER_1PIXBUF",
	"GTK_1IS_1CELL_1RENDERER_1TEXT",
	"GTK_1IS_1CELL_1RENDERER_1TOGGLE",
	"GTK_1IS_1CONTAINER",
	"GTK_1IS_1IM_1CONTEXT",
	"GTK_1IS_1LABEL",
	"GTK_1IS_1PLUG",
	"GTK_1IS_1SCROLLED_1WINDOW",
	"GTK_1IS_1WINDOW",
	"GTK_1TYPE_1CELL_1RENDERER_1PIXBUF",
	"GTK_1TYPE_1CELL_1RENDERER_1TEXT",
	"GTK_1TYPE_1CELL_1RENDERER_1TOGGLE",
	"GTK_1TYPE_1IM_1MULTICONTEXT",
	"GTK_1TYPE_1TEXT_1VIEW_1ACCESSIBLE",
	"GTK_1TYPE_1WIDGET",
	"GTK_1TYPE_1WINDOW",
	"GTK_1WIDGET_1GET_1CLASS",
	"GtkAllocation_1sizeof",
	"GtkBorder_1sizeof",
	"GtkCellRendererPixbufClass_1sizeof",
	"GtkCellRendererPixbuf_1sizeof",
	"GtkCellRendererTextClass_1sizeof",
	"GtkCellRendererText_1sizeof",
	"GtkCellRendererToggleClass_1sizeof",
	"GtkCellRendererToggle_1sizeof",
	"GtkRequisition_1sizeof",
	"GtkTargetEntry_1sizeof",
	"GtkTextIter_1sizeof",
	"GtkTreeIter_1sizeof",
	"gtk_1accel_1group_1new",
	"gtk_1accelerator_1get_1default_1mod_1mask",
	"gtk_1accelerator_1name",
	"gtk_1accelerator_1parse__J_3I_3I",
	"gtk_1accelerator_1parse___3B_3I_3I",
	"gtk_1adjustment_1configure",
	"gtk_1adjustment_1get_1lower",
	"gtk_1adjustment_1get_1page_1increment",
	"gtk_1adjustment_1get_1page_1size",
	"gtk_1adjustment_1get_1step_1increment",
	"gtk_1adjustment_1get_1upper",
	"gtk_1adjustment_1get_1value",
	"gtk_1adjustment_1new",
	"gtk_1adjustment_1set_1page_1increment",
	"gtk_1adjustment_1set_1step_1increment",
	"gtk_1adjustment_1set_1value",
	"gtk_1border_1free",
	"gtk_1box_1new",
	"gtk_1box_1set_1homogeneous",
	"gtk_1box_1set_1spacing",
	"gtk_1button_1new",
	"gtk_1button_1set_1label",
	"gtk_1button_1set_1use_1underline",
	"gtk_1calendar_1clear_1marks",
	"gtk_1calendar_1mark_1day",
	"gtk_1calendar_1new",
	"gtk_1cell_1layout_1clear",
	"gtk_1cell_1layout_1get_1cells",
	"gtk_1cell_1layout_1pack_1start",
	"gtk_1cell_1layout_1set_1attributes",
	"gtk_1cell_1renderer_1get_1fixed_1size",
	"gtk_1cell_1renderer_1get_1padding",
	"gtk_1cell_1renderer_1get_1preferred_1height_1for_1width",
	"gtk_1cell_1renderer_1get_1preferred_1size",
	"gtk_1cell_1renderer_1pixbuf_1new",
	"gtk_1cell_1renderer_1set_1fixed_1size",
	"gtk_1cell_1renderer_1text_1new",
	"gtk_1cell_1renderer_1toggle_1new",
	"gtk_1cell_1view_1set_1fit_1model",
	"gtk_1check_1button_1new",
	"gtk_1check_1version",
	"gtk_1color_1chooser_1add_1palette",
	"gtk_1color_1chooser_1dialog_1new",
	"gtk_1color_1chooser_1get_1rgba",
	"gtk_1color_1chooser_1get_1use_1alpha",
	"gtk_1color_1chooser_1set_1rgba",
	"gtk_1color_1chooser_1set_1use_1alpha",
	"gtk_1combo_1box_1get_1active",
	"gtk_1combo_1box_1get_1model",
	"gtk_1combo_1box_1popdown",
	"gtk_1combo_1box_1popup",
	"gtk_1combo_1box_1set_1active",
	"gtk_1combo_1box_1text_1insert",
	"gtk_1combo_1box_1text_1new",
	"gtk_1combo_1box_1text_1new_1with_1entry",
	"gtk_1combo_1box_1text_1remove",
	"gtk_1combo_1box_1text_1remove_1all",
	"gtk_1css_1provider_1load_1from_1data__J_3BJ",
	"gtk_1css_1provider_1load_1from_1data__J_3BJ_3J",
	"gtk_1css_1provider_1new",
	"gtk_1css_1provider_1to_1string",
	"gtk_1dialog_1add_1button",
	"gtk_1editable_1delete_1selection",
	"gtk_1editable_1delete_1text",
	"gtk_1editable_1get_1editable",
	"gtk_1editable_1get_1position",
	"gtk_1editable_1get_1selection_1bounds",
	"gtk_1editable_1insert_1text",
	"gtk_1editable_1select_1region",
	"gtk_1editable_1set_1editable",
	"gtk_1editable_1set_1position",
	"gtk_1entry_1buffer_1delete_1text",
	"gtk_1entry_1buffer_1get_1text",
	"gtk_1entry_1buffer_1set_1text",
	"gtk_1entry_1get_1icon_1area",
	"gtk_1entry_1get_1invisible_1char",
	"gtk_1entry_1get_1max_1length",
	"gtk_1entry_1get_1visibility",
	"gtk_1entry_1new",
	"gtk_1entry_1set_1alignment",
	"gtk_1entry_1set_1has_1frame",
	"gtk_1entry_1set_1icon_1activatable",
	"gtk_1entry_1set_1icon_1from_1icon_1name",
	"gtk_1entry_1set_1icon_1sensitive",
	"gtk_1entry_1set_1invisible_1char",
	"gtk_1entry_1set_1max_1length",
	"gtk_1entry_1set_1placeholder_1text",
	"gtk_1entry_1set_1tabs",
	"gtk_1entry_1set_1visibility",
	"gtk_1enumerate_1printers",
	"gtk_1event_1controller_1get_1widget",
	"gtk_1event_1controller_1set_1propagation_1phase",
	"gtk_1expander_1get_1expanded",
	"gtk_1expander_1get_1label_1widget",
	"gtk_1expander_1new",
	"gtk_1expander_1set_1expanded",
	"gtk_1expander_1set_1label_1widget",
	"gtk_1file_1chooser_1add_1filter",
	"gtk_1file_1chooser_1get_1filter",
	"gtk_1file_1chooser_1native_1new",
	"gtk_1file_1chooser_1set_1current_1name",
	"gtk_1file_1chooser_1set_1filter",
	"gtk_1file_1chooser_1set_1select_1multiple",
	"gtk_1file_1filter_1add_1pattern",
	"gtk_1file_1filter_1get_1name",
	"gtk_1file_1filter_1new",
	"gtk_1file_1filter_1set_1name",
	"gtk_1font_1chooser_1dialog_1new",
	"gtk_1font_1chooser_1get_1font",
	"gtk_1font_1chooser_1set_1font",
	"gtk_1frame_1get_1label_1widget",
	"gtk_1frame_1new",
	"gtk_1frame_1set_1label_1widget",
	"gtk_1gesture_1drag_1get_1offset",
	"gtk_1gesture_1drag_1get_1start_1point",
	"gtk_1gesture_1drag_1new",
	"gtk_1gesture_1get_1last_1updated_1sequence",
	"gtk_1gesture_1get_1point",
	"gtk_1gesture_1is_1recognized",
	"gtk_1gesture_1rotate_1get_1angle_1delta",
	"gtk_1gesture_1rotate_1new",
	"gtk_1gesture_1single_1get_1current_1button",
	"gtk_1gesture_1single_1set_1button",
	"gtk_1gesture_1swipe_1get_1velocity",
	"gtk_1gesture_1zoom_1get_1scale_1delta",
	"gtk_1gesture_1zoom_1new",
	"gtk_1get_1default_1language",
	"gtk_1get_1major_1version",
	"gtk_1get_1micro_1version",
	"gtk_1get_1minor_1version",
	"gtk_1im_1context_1focus_1in",
	"gtk_1im_1context_1focus_1out",
	"gtk_1im_1context_1get_1preedit_1string",
	"gtk_1im_1context_1get_1type",
	"gtk_1im_1context_1reset",
	"gtk_1im_1context_1set_1client_1window",
	"gtk_1im_1context_1set_1cursor_1location",
	"gtk_1im_1multicontext_1new",
	"gtk_1image_1clear",
	"gtk_1image_1new",
	"gtk_1image_1new_1from_1icon_1name___3B",
	"gtk_1image_1new_1from_1icon_1name___3BI",
	"gtk_1image_1new_1from_1surface",
	"gtk_1image_1set_1from_1icon_1name",
	"gtk_1image_1set_1from_1paintable",
	"gtk_1image_1set_1from_1surface",
	"gtk_1image_1set_1pixel_1size",
	"gtk_1label_1get_1layout",
	"gtk_1label_1get_1mnemonic_1keyval",
	"gtk_1label_1get_1type",
	"gtk_1label_1new",
	"gtk_1label_1new_1with_1mnemonic",
	"gtk_1label_1set_1attributes",
	"gtk_1label_1set_1justify",
	"gtk_1label_1set_1line_1wrap",
	"gtk_1label_1set_1line_1wrap_1mode",
	"gtk_1label_1set_1text__JJ",
	"gtk_1label_1set_1text__J_3B",
	"gtk_1label_1set_1text_1with_1mnemonic",
	"gtk_1label_1set_1wrap",
	"gtk_1label_1set_1wrap_1mode",
	"gtk_1label_1set_1xalign",
	"gtk_1label_1set_1yalign",
	"gtk_1list_1store_1append",
	"gtk_1list_1store_1clear",
	"gtk_1list_1store_1insert",
	"gtk_1list_1store_1newv",
	"gtk_1list_1store_1remove",
	"gtk_1list_1store_1set__JJIII",
	"gtk_1list_1store_1set__JJIJI",
	"gtk_1list_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkRGBA_2I",
	"gtk_1list_1store_1set__JJIZI",
	"gtk_1list_1store_1set__JJI_3BI",
	"gtk_1menu_1button_1new",
	"gtk_1menu_1button_1set_1use_1underline",
	"gtk_1menu_1popup",
	"gtk_1menu_1popup_1at_1pointer",
	"gtk_1menu_1popup_1at_1rect",
	"gtk_1message_1dialog_1format_1secondary_1text",
	"gtk_1message_1dialog_1new",
	"gtk_1native_1dialog_1show",
	"gtk_1notebook_1get_1current_1page",
	"gtk_1notebook_1get_1n_1pages",
	"gtk_1notebook_1get_1scrollable",
	"gtk_1notebook_1insert_1page",
	"gtk_1notebook_1new",
	"gtk_1notebook_1next_1page",
	"gtk_1notebook_1prev_1page",
	"gtk_1notebook_1remove_1page",
	"gtk_1notebook_1set_1current_1page",
	"gtk_1notebook_1set_1scrollable",
	"gtk_1notebook_1set_1show_1tabs",
	"gtk_1notebook_1set_1tab_1pos",
	"gtk_1orientable_1set_1orientation",
	"gtk_1page_1setup_1get_1bottom_1margin",
	"gtk_1page_1setup_1get_1left_1margin",
	"gtk_1page_1setup_1get_1orientation",
	"gtk_1page_1setup_1get_1page_1height",
	"gtk_1page_1setup_1get_1page_1width",
	"gtk_1page_1setup_1get_1paper_1height",
	"gtk_1page_1setup_1get_1paper_1size",
	"gtk_1page_1setup_1get_1paper_1width",
	"gtk_1page_1setup_1get_1right_1margin",
	"gtk_1page_1setup_1get_1top_1margin",
	"gtk_1page_1setup_1new",
	"gtk_1page_1setup_1set_1bottom_1margin",
	"gtk_1page_1setup_1set_1left_1margin",
	"gtk_1page_1setup_1set_1orientation",
	"gtk_1page_1setup_1set_1paper_1size",
	"gtk_1page_1setup_1set_1right_1margin",
	"gtk_1page_1setup_1set_1top_1margin",
	"gtk_1paper_1size_1free",
	"gtk_1paper_1size_1get_1display_1name",
	"gtk_1paper_1size_1get_1height",
	"gtk_1paper_1size_1get_1name",
	"gtk_1paper_1size_1get_1ppd_1name",
	"gtk_1paper_1size_1get_1width",
	"gtk_1paper_1size_1is_1custom",
	"gtk_1paper_1size_1new",
	"gtk_1paper_1size_1new_1custom",
	"gtk_1paper_1size_1new_1from_1ppd",
	"gtk_1plug_1new",
	"gtk_1popover_1popdown",
	"gtk_1popover_1popup",
	"gtk_1popover_1set_1pointing_1to",
	"gtk_1popover_1set_1position",
	"gtk_1print_1job_1get_1surface",
	"gtk_1print_1job_1new",
	"gtk_1print_1job_1send",
	"gtk_1print_1settings_1foreach",
	"gtk_1print_1settings_1get",
	"gtk_1print_1settings_1get_1collate",
	"gtk_1print_1settings_1get_1duplex",
	"gtk_1print_1settings_1get_1n_1copies",
	"gtk_1print_1settings_1get_1page_1ranges",
	"gtk_1print_1settings_1get_1print_1pages",
	"gtk_1print_1settings_1get_1resolution",
	"gtk_1print_1settings_1new",
	"gtk_1print_1settings_1set",
	"gtk_1print_1settings_1set_1collate",
	"gtk_1print_1settings_1set_1duplex",
	"gtk_1print_1settings_1set_1n_1copies",
	"gtk_1print_1settings_1set_1orientation",
	"gtk_1print_1settings_1set_1page_1ranges",
	"gtk_1print_1settings_1set_1print_1pages",
	"gtk_1print_1settings_1set_1printer",
	"gtk_1print_1unix_1dialog_1get_1current_1page",
	"gtk_1print_1unix_1dialog_1get_1page_1setup",
	"gtk_1print_1unix_1dialog_1get_1selected_1printer",
	"gtk_1print_1unix_1dialog_1get_1settings",
	"gtk_1print_1unix_1dialog_1new",
	"gtk_1print_1unix_1dialog_1set_1current_1page",
	"gtk_1print_1unix_1dialog_1set_1embed_1page_1setup",
	"gtk_1print_1unix_1dialog_1set_1has_1selection",
	"gtk_1print_1unix_1dialog_1set_1manual_1capabilities",
	"gtk_1print_1unix_1dialog_1set_1page_1setup",
	"gtk_1print_1unix_1dialog_1set_1settings",
	"gtk_1print_1unix_1dialog_1set_1support_1selection",
	"gtk_1printer_1get_1backend",
	"gtk_1printer_1get_1name",
	"gtk_1printer_1is_1default",
	"gtk_1printer_1option_1widget_1get_1type",
	"gtk_1progress_1bar_1new",
	"gtk_1progress_1bar_1pulse",
	"gtk_1progress_1bar_1set_1fraction",
	"gtk_1progress_1bar_1set_1inverted",
	"gtk_1range_1get_1adjustment",
	"gtk_1range_1get_1slider_1range",
	"gtk_1range_1get_1value",
	"gtk_1range_1set_1increments",
	"gtk_1range_1set_1inverted",
	"gtk_1range_1set_1range",
	"gtk_1range_1set_1value",
	"gtk_1render_1background",
	"gtk_1render_1focus",
	"gtk_1render_1frame",
	"gtk_1render_1handle",
	"gtk_1scale_1new",
	"gtk_1scale_1set_1digits",
	"gtk_1scale_1set_1draw_1value",
	"gtk_1scrollable_1get_1vadjustment",
	"gtk_1scrollbar_1new",
	"gtk_1scrolled_1window_1get_1hadjustment",
	"gtk_1scrolled_1window_1get_1hscrollbar",
	"gtk_1scrolled_1window_1get_1overlay_1scrolling",
	"gtk_1scrolled_1window_1get_1policy",
	"gtk_1scrolled_1window_1get_1vadjustment",
	"gtk_1scrolled_1window_1get_1vscrollbar",
	"gtk_1scrolled_1window_1set_1hadjustment",
	"gtk_1scrolled_1window_1set_1policy",
	"gtk_1scrolled_1window_1set_1vadjustment",
	"gtk_1search_1entry_1new",
	"gtk_1separator_1new",
	"gtk_1settings_1get_1default",
	"gtk_1snapshot_1append_1cairo",
	"gtk_1socket_1get_1id",
	"gtk_1socket_1new",
	"gtk_1spin_1button_1configure",
	"gtk_1spin_1button_1get_1adjustment",
	"gtk_1spin_1button_1get_1digits",
	"gtk_1spin_1button_1new",
	"gtk_1spin_1button_1set_1increments",
	"gtk_1spin_1button_1set_1numeric",
	"gtk_1spin_1button_1set_1range",
	"gtk_1spin_1button_1set_1value",
	"gtk_1spin_1button_1set_1wrap",
	"gtk_1spin_1button_1update",
	"gtk_1status_1icon_1get_1geometry",
	"gtk_1status_1icon_1position_1menu_1func",
	"gtk_1style_1context_1add_1class",
	"gtk_1style_1context_1add_1provider",
	"gtk_1style_1context_1add_1provider_1for_1display",
	"gtk_1style_1context_1add_1provider_1for_1screen",
	"gtk_1style_1context_1get__JI_3B_3JJ",
	"gtk_1style_1context_1get__J_3B_3JJ",
	"gtk_1style_1context_1get_1border__JILorg_eclipse_swt_internal_gtk_GtkBorder_2",
	"gtk_1style_1context_1get_1border__JLorg_eclipse_swt_internal_gtk_GtkBorder_2",
	"gtk_1style_1context_1get_1color__JILorg_eclipse_swt_internal_gtk_GdkRGBA_2",
	"gtk_1style_1context_1get_1color__JLorg_eclipse_swt_internal_gtk_GdkRGBA_2",
	"gtk_1style_1context_1get_1font",
	"gtk_1style_1context_1get_1margin",
	"gtk_1style_1context_1get_1padding__JILorg_eclipse_swt_internal_gtk_GtkBorder_2",
	"gtk_1style_1context_1get_1padding__JLorg_eclipse_swt_internal_gtk_GtkBorder_2",
	"gtk_1style_1context_1get_1parent",
	"gtk_1style_1context_1invalidate",
	"gtk_1style_1context_1remove_1class",
	"gtk_1style_1context_1restore",
	"gtk_1style_1context_1save",
	"gtk_1style_1context_1set_1state",
	"gtk_1text_1buffer_1copy_1clipboard",
	"gtk_1text_1buffer_1create_1mark",
	"gtk_1text_1buffer_1cut_1clipboard",
	"gtk_1text_1buffer_1delete",
	"gtk_1text_1buffer_1get_1bounds",
	"gtk_1text_1buffer_1get_1end_1iter",
	"gtk_1text_1buffer_1get_1insert",
	"gtk_1text_1buffer_1get_1iter_1at_1line",
	"gtk_1text_1buffer_1get_1iter_1at_1mark",
	"gtk_1text_1buffer_1get_1iter_1at_1offset",
	"gtk_1text_1buffer_1get_1line_1count",
	"gtk_1text_1buffer_1get_1selection_1bound",
	"gtk_1text_1buffer_1get_1selection_1bounds",
	"gtk_1text_1buffer_1get_1text",
	"gtk_1text_1buffer_1insert__JJ_3BI",
	"gtk_1text_1buffer_1insert__J_3B_3BI",
	"gtk_1text_1buffer_1paste_1clipboard",
	"gtk_1text_1buffer_1place_1cursor",
	"gtk_1text_1buffer_1select_1range",
	"gtk_1text_1buffer_1set_1text",
	"gtk_1text_1iter_1get_1line",
	"gtk_1text_1iter_1get_1offset",
	"gtk_1text_1view_1buffer_1to_1window_1coords",
	"gtk_1text_1view_1get_1buffer",
	"gtk_1text_1view_1get_1editable",
	"gtk_1text_1view_1get_1iter_1at_1location",
	"gtk_1text_1view_1get_1iter_1location",
	"gtk_1text_1view_1get_1line_1at_1y",
	"gtk_1text_1view_1get_1line_1yrange",
	"gtk_1text_1view_1get_1visible_1rect",
	"gtk_1text_1view_1get_1window",
	"gtk_1text_1view_1new",
	"gtk_1text_1view_1scroll_1to_1iter",
	"gtk_1text_1view_1scroll_1to_1mark",
	"gtk_1text_1view_1set_1editable",
	"gtk_1text_1view_1set_1justification",
	"gtk_1text_1view_1set_1tabs",
	"gtk_1text_1view_1set_1wrap_1mode",
	"gtk_1toggle_1button_1get_1active",
	"gtk_1toggle_1button_1new",
	"gtk_1toggle_1button_1set_1active",
	"gtk_1toggle_1button_1set_1inconsistent",
	"gtk_1tooltip_1get_1type",
	"gtk_1tooltip_1set_1custom",
	"gtk_1tree_1model_1get__JJI_3II",
	"gtk_1tree_1model_1get__JJI_3JI",
	"gtk_1tree_1model_1get_1iter",
	"gtk_1tree_1model_1get_1iter_1first",
	"gtk_1tree_1model_1get_1n_1columns",
	"gtk_1tree_1model_1get_1path",
	"gtk_1tree_1model_1get_1type",
	"gtk_1tree_1model_1iter_1children",
	"gtk_1tree_1model_1iter_1n_1children",
	"gtk_1tree_1model_1iter_1next",
	"gtk_1tree_1model_1iter_1nth_1child",
	"gtk_1tree_1path_1append_1index",
	"gtk_1tree_1path_1compare",
	"gtk_1tree_1path_1free",
	"gtk_1tree_1path_1get_1depth",
	"gtk_1tree_1path_1get_1indices",
	"gtk_1tree_1path_1new",
	"gtk_1tree_1path_1new_1from_1string__J",
	"gtk_1tree_1path_1new_1from_1string___3B",
	"gtk_1tree_1path_1next",
	"gtk_1tree_1path_1prev",
	"gtk_1tree_1path_1up",
	"gtk_1tree_1selection_1count_1selected_1rows",
	"gtk_1tree_1selection_1get_1selected_1rows",
	"gtk_1tree_1selection_1path_1is_1selected",
	"gtk_1tree_1selection_1select_1all",
	"gtk_1tree_1selection_1select_1iter",
	"gtk_1tree_1selection_1set_1mode",
	"gtk_1tree_1selection_1set_1select_1function",
	"gtk_1tree_1selection_1unselect_1all",
	"gtk_1tree_1selection_1unselect_1iter",
	"gtk_1tree_1selection_1unselect_1path",
	"gtk_1tree_1store_1append",
	"gtk_1tree_1store_1clear",
	"gtk_1tree_1store_1insert",
	"gtk_1tree_1store_1newv",
	"gtk_1tree_1store_1prepend",
	"gtk_1tree_1store_1remove",
	"gtk_1tree_1store_1set__JJIII",
	"gtk_1tree_1store_1set__JJIJI",
	"gtk_1tree_1store_1set__JJILorg_eclipse_swt_internal_gtk_GdkRGBA_2I",
	"gtk_1tree_1store_1set__JJIZI",
	"gtk_1tree_1store_1set__JJI_3BI",
	"gtk_1tree_1view_1collapse_1row",
	"gtk_1tree_1view_1column_1add_1attribute",
	"gtk_1tree_1view_1column_1cell_1get_1position",
	"gtk_1tree_1view_1column_1cell_1get_1size__JLorg_eclipse_swt_internal_gtk_GdkRectangle_2_3I_3I_3I_3I",
	"gtk_1tree_1view_1column_1cell_1get_1size__J_3I_3I_3I_3I",
	"gtk_1tree_1view_1column_1cell_1set_1cell_1data",
	"gtk_1tree_1view_1column_1clear",
	"gtk_1tree_1view_1column_1get_1button",
	"gtk_1tree_1view_1column_1get_1fixed_1width",
	"gtk_1tree_1view_1column_1get_1reorderable",
	"gtk_1tree_1view_1column_1get_1resizable",
	"gtk_1tree_1view_1column_1get_1visible",
	"gtk_1tree_1view_1column_1get_1width",
	"gtk_1tree_1view_1column_1new",
	"gtk_1tree_1view_1column_1pack_1end",
	"gtk_1tree_1view_1column_1pack_1start",
	"gtk_1tree_1view_1column_1set_1alignment",
	"gtk_1tree_1view_1column_1set_1cell_1data_1func",
	"gtk_1tree_1view_1column_1set_1clickable",
	"gtk_1tree_1view_1column_1set_1fixed_1width",
	"gtk_1tree_1view_1column_1set_1min_1width",
	"gtk_1tree_1view_1column_1set_1reorderable",
	"gtk_1tree_1view_1column_1set_1resizable",
	"gtk_1tree_1view_1column_1set_1sizing",
	"gtk_1tree_1view_1column_1set_1sort_1indicator",
	"gtk_1tree_1view_1column_1set_1sort_1order",
	"gtk_1tree_1view_1column_1set_1visible",
	"gtk_1tree_1view_1column_1set_1widget",
	"gtk_1tree_1view_1convert_1bin_1window_1to_1tree_1coords",
	"gtk_1tree_1view_1convert_1bin_1window_1to_1widget_1coords",
	"gtk_1tree_1view_1create_1row_1drag_1icon",
	"gtk_1tree_1view_1expand_1row",
	"gtk_1tree_1view_1get_1background_1area",
	"gtk_1tree_1view_1get_1bin_1window",
	"gtk_1tree_1view_1get_1cell_1area",
	"gtk_1tree_1view_1get_1column",
	"gtk_1tree_1view_1get_1columns",
	"gtk_1tree_1view_1get_1cursor",
	"gtk_1tree_1view_1get_1expander_1column",
	"gtk_1tree_1view_1get_1grid_1lines",
	"gtk_1tree_1view_1get_1headers_1visible",
	"gtk_1tree_1view_1get_1path_1at_1pos",
	"gtk_1tree_1view_1get_1selection",
	"gtk_1tree_1view_1get_1visible_1rect",
	"gtk_1tree_1view_1insert_1column",
	"gtk_1tree_1view_1move_1column_1after",
	"gtk_1tree_1view_1new_1with_1model",
	"gtk_1tree_1view_1remove_1column",
	"gtk_1tree_1view_1row_1expanded",
	"gtk_1tree_1view_1scroll_1to_1cell",
	"gtk_1tree_1view_1scroll_1to_1point",
	"gtk_1tree_1view_1set_1cursor",
	"gtk_1tree_1view_1set_1drag_1dest_1row",
	"gtk_1tree_1view_1set_1grid_1lines",
	"gtk_1tree_1view_1set_1headers_1visible",
	"gtk_1tree_1view_1set_1model",
	"gtk_1tree_1view_1set_1search_1column",
	"gtk_1widget_1activate",
	"gtk_1widget_1add_1css_1class",
	"gtk_1widget_1child_1focus",
	"gtk_1widget_1class_1get_1css_1name",
	"gtk_1widget_1create_1pango_1layout__JJ",
	"gtk_1widget_1create_1pango_1layout__J_3B",
	"gtk_1widget_1get_1allocation",
	"gtk_1widget_1get_1child_1visible",
	"gtk_1widget_1get_1clip",
	"gtk_1widget_1get_1mapped",
	"gtk_1widget_1get_1margin_1bottom",
	"gtk_1widget_1get_1margin_1end",
	"gtk_1widget_1get_1margin_1start",
	"gtk_1widget_1get_1margin_1top",
	"gtk_1widget_1get_1name",
	"gtk_1widget_1get_1opacity",
	"gtk_1widget_1get_1pango_1context",
	"gtk_1widget_1get_1parent",
	"gtk_1widget_1get_1parent_1surface",
	"gtk_1widget_1get_1parent_1window",
	"gtk_1widget_1get_1preferred_1size",
	"gtk_1widget_1get_1realized",
	"gtk_1widget_1get_1scale_1factor",
	"gtk_1widget_1get_1sensitive",
	"gtk_1widget_1get_1size_1request",
	"gtk_1widget_1get_1state_1flags",
	"gtk_1widget_1get_1style_1context",
	"gtk_1widget_1get_1tooltip_1text",
	"gtk_1widget_1get_1visible",
	"gtk_1widget_1grab_1focus",
	"gtk_1widget_1has_1default",
	"gtk_1widget_1has_1focus",
	"gtk_1widget_1hide",
	"gtk_1widget_1insert_1action_1group",
	"gtk_1widget_1is_1focus",
	"gtk_1widget_1mnemonic_1activate",
	"gtk_1widget_1queue_1draw",
	"gtk_1widget_1queue_1resize",
	"gtk_1widget_1realize",
	"gtk_1widget_1set_1allocation",
	"gtk_1widget_1set_1can_1focus",
	"gtk_1widget_1set_1clip",
	"gtk_1widget_1set_1default_1direction",
	"gtk_1widget_1set_1direction",
	"gtk_1widget_1set_1focus_1on_1click",
	"gtk_1widget_1set_1halign",
	"gtk_1widget_1set_1hexpand",
	"gtk_1widget_1set_1margin_1bottom",
	"gtk_1widget_1set_1margin_1end",
	"gtk_1widget_1set_1margin_1start",
	"gtk_1widget_1set_1margin_1top",
	"gtk_1widget_1set_1opacity",
	"gtk_1widget_1set_1parent",
	"gtk_1widget_1set_1receives_1default",
	"gtk_1widget_1set_1sensitive",
	"gtk_1widget_1set_1size_1request",
	"gtk_1widget_1set_1tooltip_1text",
	"gtk_1widget_1set_1valign",
	"gtk_1widget_1set_1vexpand",
	"gtk_1widget_1set_1visible",
	"gtk_1widget_1show",
	"gtk_1widget_1size_1allocate__JLorg_eclipse_swt_internal_gtk_GtkAllocation_2",
	"gtk_1widget_1size_1allocate__JLorg_eclipse_swt_internal_gtk_GtkAllocation_2I",
	"gtk_1widget_1unparent",
	"gtk_1window_1fullscreen",
	"gtk_1window_1get_1default_1size",
	"gtk_1window_1get_1default_1widget",
	"gtk_1window_1get_1focus",
	"gtk_1window_1get_1group",
	"gtk_1window_1get_1modal",
	"gtk_1window_1group_1add_1window",
	"gtk_1window_1group_1new",
	"gtk_1window_1group_1remove_1window",
	"gtk_1window_1is_1active",
	"gtk_1window_1list_1toplevels",
	"gtk_1window_1maximize",
	"gtk_1window_1set_1decorated",
	"gtk_1window_1set_1default_1size",
	"gtk_1window_1set_1destroy_1with_1parent",
	"gtk_1window_1set_1geometry_1hints",
	"gtk_1window_1set_1modal",
	"gtk_1window_1set_1resizable",
	"gtk_1window_1set_1title",
	"gtk_1window_1set_1transient_1for",
	"gtk_1window_1unfullscreen",
	"gtk_1window_1unmaximize",
};
#define NATIVE_FUNCTION_COUNT sizeof(GTK_nativeFunctionNames) / sizeof(char*)
int GTK_nativeFunctionCount = NATIVE_FUNCTION_COUNT;
int GTK_nativeFunctionCallCount[NATIVE_FUNCTION_COUNT];

#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func

JNIEXPORT jint JNICALL STATS_NATIVE(GTK_1GetFunctionCount)
	(JNIEnv *env, jclass that)
{
	return GTK_nativeFunctionCount;
}

JNIEXPORT jstring JNICALL STATS_NATIVE(GTK_1GetFunctionName)
	(JNIEnv *env, jclass that, jint index)
{
	return (*env)->NewStringUTF(env, GTK_nativeFunctionNames[index]);
}

JNIEXPORT jint JNICALL STATS_NATIVE(GTK_1GetFunctionCallCount)
	(JNIEnv *env, jclass that, jint index)
{
	return GTK_nativeFunctionCallCount[index];
}

#endif
#ifdef NATIVE_STATS

char * Graphene_nativeFunctionNames[] = {
	"graphene_1rect_1alloc",
	"graphene_1rect_1free",
	"graphene_1rect_1init",
};
#define NATIVE_FUNCTION_COUNT sizeof(Graphene_nativeFunctionNames) / sizeof(char*)
int Graphene_nativeFunctionCount = NATIVE_FUNCTION_COUNT;
int Graphene_nativeFunctionCallCount[NATIVE_FUNCTION_COUNT];

#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func

JNIEXPORT jint JNICALL STATS_NATIVE(Graphene_1GetFunctionCount)
	(JNIEnv *env, jclass that)
{
	return Graphene_nativeFunctionCount;
}

JNIEXPORT jstring JNICALL STATS_NATIVE(Graphene_1GetFunctionName)
	(JNIEnv *env, jclass that, jint index)
{
	return (*env)->NewStringUTF(env, Graphene_nativeFunctionNames[index]);
}

JNIEXPORT jint JNICALL STATS_NATIVE(Graphene_1GetFunctionCallCount)
	(JNIEnv *env, jclass that, jint index)
{
	return Graphene_nativeFunctionCallCount[index];
}

#endif
#ifdef NATIVE_STATS

char * OS_nativeFunctionNames[] = {
	"Call__JJII",
	"Call__JJJ",
	"FcConfigAppFontAddFile",
	"GDK_1WINDOWING_1WAYLAND",
	"GDK_1WINDOWING_1X11",
	"GPollFD_1sizeof",
	"GTypeInfo_1sizeof",
	"G_1OBJECT_1CLASS_1CONSTRUCTOR",
	"G_1OBJECT_1CLASS_1SET_1CONSTRUCTOR",
	"G_1OBJECT_1GET_1CLASS",
	"G_1OBJECT_1TYPE",
	"G_1OBJECT_1TYPE_1NAME",
	"G_1TYPE_1BOOLEAN",
	"G_1TYPE_1DOUBLE",
	"G_1TYPE_1FLOAT",
	"G_1TYPE_1INT",
	"G_1TYPE_1INT64",
	"G_1TYPE_1LONG",
	"G_1TYPE_1STRING",
	"G_1VALUE_1TYPE",
	"PANGO_1PIXELS",
	"PANGO_1TYPE_1FONT_1DESCRIPTION",
	"PANGO_1TYPE_1FONT_1FACE",
	"PANGO_1TYPE_1FONT_1FAMILY",
	"PANGO_1TYPE_1LAYOUT",
	"PangoAttrColor_1sizeof",
	"PangoAttrInt_1sizeof",
	"PangoAttribute_1sizeof",
	"PangoItem_1sizeof",
	"PangoLayoutLine_1sizeof",
	"PangoLayoutRun_1sizeof",
	"PangoLogAttr_1sizeof",
	"PangoRectangle_1sizeof",
	"XAnyEvent_1sizeof",
	"XCheckIfEvent",
	"XDefaultRootWindow",
	"XDefaultScreen",
	"XEvent_1sizeof",
	"XExposeEvent_1sizeof",
	"XFocusChangeEvent_1sizeof",
	"XFree",
	"XQueryPointer",
	"XSetErrorHandler",
	"XSetIOErrorHandler",
	"XSetInputFocus",
	"XSetTransientForHint",
	"XSynchronize",
	"X_1EVENT_1TYPE",
	"X_1EVENT_1WINDOW",
	"call__JJJJJ",
	"call__JJJJJJJ",
	"call__JJJJJJJJ",
	"g_1action_1get_1enabled",
	"g_1action_1get_1state",
	"g_1action_1map_1add_1action",
	"g_1app_1info_1create_1from_1commandline",
	"g_1app_1info_1get_1all",
	"g_1app_1info_1get_1default_1for_1type",
	"g_1app_1info_1get_1executable",
	"g_1app_1info_1get_1icon",
	"g_1app_1info_1get_1name",
	"g_1app_1info_1launch",
	"g_1app_1info_1launch_1default_1for_1uri",
	"g_1app_1info_1supports_1uris",
	"g_1bus_1own_1name",
	"g_1bytes_1new",
	"g_1bytes_1unref",
	"g_1cclosure_1new",
	"g_1closure_1ref",
	"g_1closure_1sink",
	"g_1closure_1unref",
	"g_1content_1type_1equals",
	"g_1content_1type_1is_1a",
	"g_1credentials_1is_1same_1user",
	"g_1credentials_1new",
	"g_1date_1time_1get_1ymd",
	"g_1date_1time_1new_1local",
	"g_1dbus_1auth_1observer_1new",
	"g_1dbus_1connection_1call",
	"g_1dbus_1connection_1call_1finish",
	"g_1dbus_1connection_1call_1sync",
	"g_1dbus_1connection_1close_1sync",
	"g_1dbus_1connection_1is_1closed",
	"g_1dbus_1connection_1new_1for_1address",
	"g_1dbus_1connection_1new_1for_1address_1finish",
	"g_1dbus_1connection_1register_1object",
	"g_1dbus_1generate_1guid",
	"g_1dbus_1method_1invocation_1return_1value",
	"g_1dbus_1node_1info_1lookup_1interface",
	"g_1dbus_1node_1info_1new_1for_1xml",
	"g_1dbus_1proxy_1call",
	"g_1dbus_1proxy_1call_1sync",
	"g_1dbus_1proxy_1get_1name_1owner",
	"g_1dbus_1proxy_1new_1for_1bus_1sync",
	"g_1dbus_1server_1get_1client_1address",
	"g_1dbus_1server_1new_1sync",
	"g_1dbus_1server_1start",
	"g_1dbus_1server_1stop",
	"g_1dir_1make_1tmp",
	"g_1error_1free",
	"g_1error_1get_1message",
	"g_1file_1get_1path",
	"g_1file_1get_1uri",
	"g_1file_1info_1get_1content_1type",
	"g_1file_1new_1for_1commandline_1arg",
	"g_1file_1new_1for_1path",
	"g_1file_1new_1for_1uri",
	"g_1file_1query_1info",
	"g_1file_1test",
	"g_1filename_1display_1name",
	"g_1filename_1from_1uri",
	"g_1filename_1from_1utf8",
	"g_1filename_1to_1uri",
	"g_1filename_1to_1utf8",
	"g_1free",
	"g_1get_1current_1time",
	"g_1get_1user_1name",
	"g_1getenv",
	"g_1icon_1new_1for_1string",
	"g_1icon_1to_1string",
	"g_1idle_1add",
	"g_1list_1append",
	"g_1list_1data",
	"g_1list_1free",
	"g_1list_1last",
	"g_1list_1length",
	"g_1list_1model_1get_1item",
	"g_1list_1model_1get_1n_1items",
	"g_1list_1next",
	"g_1list_1nth_1data",
	"g_1list_1previous",
	"g_1log_1default_1handler",
	"g_1log_1remove_1handler",
	"g_1log_1set_1handler",
	"g_1main_1context_1acquire",
	"g_1main_1context_1check",
	"g_1main_1context_1default",
	"g_1main_1context_1get_1poll_1func",
	"g_1main_1context_1iteration",
	"g_1main_1context_1prepare",
	"g_1main_1context_1query",
	"g_1main_1context_1release",
	"g_1main_1context_1wakeup",
	"g_1malloc",
	"g_1menu_1insert_1item",
	"g_1menu_1item_1new",
	"g_1menu_1item_1new_1section",
	"g_1menu_1item_1new_1submenu",
	"g_1menu_1item_1set_1attribute",
	"g_1menu_1item_1set_1label",
	"g_1menu_1item_1set_1submenu",
	"g_1menu_1model_1get_1n_1items",
	"g_1menu_1new",
	"g_1menu_1remove",
	"g_1object_1get__J_3B_3IJ",
	"g_1object_1get__J_3B_3JJ",
	"g_1object_1get_1qdata",
	"g_1object_1new",
	"g_1object_1notify",
	"g_1object_1ref",
	"g_1object_1ref_1sink",
	"g_1object_1set__J_3BFJ",
	"g_1object_1set__J_3BIJ",
	"g_1object_1set__J_3BJJ",
	"g_1object_1set__J_3BLorg_eclipse_swt_internal_gtk_GdkRGBA_2J",
	"g_1object_1set__J_3BZJ",
	"g_1object_1set__J_3B_3BJ",
	"g_1object_1set_1qdata",
	"g_1object_1unref",
	"g_1quark_1from_1string",
	"g_1set_1prgname",
	"g_1signal_1add_1emission_1hook",
	"g_1signal_1connect",
	"g_1signal_1connect_1closure",
	"g_1signal_1connect_1closure_1by_1id",
	"g_1signal_1emit_1by_1name__J_3B",
	"g_1signal_1emit_1by_1name__J_3BJ",
	"g_1signal_1emit_1by_1name__J_3BJJ",
	"g_1signal_1emit_1by_1name__J_3BLorg_eclipse_swt_internal_gtk_GdkRectangle_2",
	"g_1signal_1emit_1by_1name__J_3B_3B",
	"g_1signal_1handler_1disconnect",
	"g_1signal_1handlers_1block_1matched",
	"g_1signal_1handlers_1unblock_1matched",
	"g_1signal_1lookup",
	"g_1signal_1remove_1emission_1hook",
	"g_1signal_1stop_1emission_1by_1name",
	"g_1simple_1action_1group_1new",
	"g_1simple_1action_1new",
	"g_1simple_1action_1new_1stateful",
	"g_1simple_1action_1set_1enabled",
	"g_1simple_1action_1set_1state",
	"g_1slist_1append",
	"g_1slist_1data",
	"g_1slist_1free",
	"g_1slist_1length",
	"g_1slist_1next",
	"g_1source_1remove",
	"g_1strconcat__JJJ",
	"g_1strconcat__JJJJ",
	"g_1strdup",
	"g_1strfreev",
	"g_1strtod",
	"g_1time_1val_1add",
	"g_1timeout_1add",
	"g_1type_1class_1peek",
	"g_1type_1class_1peek_1parent",
	"g_1type_1class_1ref",
	"g_1type_1class_1unref",
	"g_1type_1interface_1peek_1parent",
	"g_1type_1is_1a",
	"g_1type_1parent",
	"g_1type_1register_1static",
	"g_1unsetenv",
	"g_1utf16_1offset_1to_1pointer",
	"g_1utf16_1offset_1to_1utf8_1offset",
	"g_1utf16_1pointer_1to_1offset",
	"g_1utf16_1strlen",
	"g_1utf16_1to_1utf8",
	"g_1utf8_1offset_1to_1utf16_1offset",
	"g_1utf8_1pointer_1to_1offset",
	"g_1utf8_1strlen",
	"g_1utf8_1to_1utf16__JJ_3J_3J_3J",
	"g_1utf8_1to_1utf16___3BJ_3J_3J_3J",
	"g_1value_1get_1double",
	"g_1value_1get_1float",
	"g_1value_1get_1int",
	"g_1value_1get_1int64",
	"g_1value_1init",
	"g_1value_1peek_1pointer",
	"g_1value_1set_1double",
	"g_1value_1set_1float",
	"g_1value_1set_1int",
	"g_1value_1set_1int64",
	"g_1value_1unset",
	"g_1variant_1builder_1add_1value",
	"g_1variant_1builder_1end",
	"g_1variant_1builder_1new",
	"g_1variant_1builder_1unref",
	"g_1variant_1get_1boolean",
	"g_1variant_1get_1byte",
	"g_1variant_1get_1child_1value",
	"g_1variant_1get_1double",
	"g_1variant_1get_1int32",
	"g_1variant_1get_1string",
	"g_1variant_1get_1type_1string",
	"g_1variant_1get_1uint64",
	"g_1variant_1is_1of_1type",
	"g_1variant_1n_1children",
	"g_1variant_1new___3BZ_3B",
	"g_1variant_1new___3B_3B",
	"g_1variant_1new___3B_3B_3B",
	"g_1variant_1new_1boolean",
	"g_1variant_1new_1byte",
	"g_1variant_1new_1double",
	"g_1variant_1new_1int32",
	"g_1variant_1new_1string__J",
	"g_1variant_1new_1string___3B",
	"g_1variant_1new_1tuple",
	"g_1variant_1new_1uint64",
	"g_1variant_1type_1free",
	"g_1variant_1type_1new",
	"g_1variant_1unref",
	"glib_1major_1version",
	"glib_1micro_1version",
	"glib_1minor_1version",
	"imContextLast",
	"imContextNewProc_1CALLBACK",
	"localeconv_1decimal_1point",
	"memmove__JLorg_eclipse_swt_internal_gtk_GTypeInfo_2I",
	"memmove__JLorg_eclipse_swt_internal_gtk_GdkEventButton_2J",
	"memmove__JLorg_eclipse_swt_internal_gtk_GdkEventKey_2J",
	"memmove__JLorg_eclipse_swt_internal_gtk_GdkRGBA_2J",
	"memmove__JLorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2",
	"memmove__JLorg_eclipse_swt_internal_gtk_GtkTargetEntry_2J",
	"memmove__JLorg_eclipse_swt_internal_gtk_GtkWidgetClass_2",
	"memmove__JLorg_eclipse_swt_internal_gtk_PangoAttribute_2J",
	"memmove__JLorg_eclipse_swt_internal_gtk_XExposeEvent_2J",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventButton_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventCrossing_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventFocus_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventKey_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventMotion_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkEventWindowState_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkKeymapKey_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkRGBA_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GdkRectangle_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GtkBorder_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_GtkCellRendererClass_2J",
	"memmove__Lorg_eclipse_swt_internal_gtk_GtkWidgetClass_2J",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoAttrColor_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoAttrInt_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoAttribute_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoItem_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutLine_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLayoutRun_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_PangoLogAttr_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_XExposeEvent_2JJ",
	"memmove__Lorg_eclipse_swt_internal_gtk_XFocusChangeEvent_2JJ",
	"pangoFontFaceNewProc_1CALLBACK",
	"pangoFontFamilyNewProc_1CALLBACK",
	"pangoLayoutNewProc_1CALLBACK",
	"pango_1attr_1background_1new",
	"pango_1attr_1font_1desc_1new",
	"pango_1attr_1foreground_1new",
	"pango_1attr_1iterator_1destroy",
	"pango_1attr_1iterator_1get",
	"pango_1attr_1iterator_1next",
	"pango_1attr_1iterator_1range",
	"pango_1attr_1list_1get_1iterator",
	"pango_1attr_1list_1insert",
	"pango_1attr_1list_1new",
	"pango_1attr_1list_1unref",
	"pango_1attr_1rise_1new",
	"pango_1attr_1shape_1new",
	"pango_1attr_1strikethrough_1color_1new",
	"pango_1attr_1strikethrough_1new",
	"pango_1attr_1underline_1color_1new",
	"pango_1attr_1underline_1new",
	"pango_1attr_1weight_1new",
	"pango_1attribute_1copy",
	"pango_1cairo_1context_1get_1font_1options",
	"pango_1cairo_1context_1set_1font_1options",
	"pango_1cairo_1create_1layout",
	"pango_1cairo_1font_1map_1get_1default",
	"pango_1cairo_1layout_1path",
	"pango_1cairo_1show_1layout",
	"pango_1context_1get_1base_1dir",
	"pango_1context_1get_1language",
	"pango_1context_1get_1metrics",
	"pango_1context_1list_1families",
	"pango_1context_1set_1base_1dir",
	"pango_1context_1set_1language",
	"pango_1font_1description_1copy",
	"pango_1font_1description_1free",
	"pango_1font_1description_1from_1string",
	"pango_1font_1description_1get_1family",
	"pango_1font_1description_1get_1set_1fields",
	"pango_1font_1description_1get_1size",
	"pango_1font_1description_1get_1stretch",
	"pango_1font_1description_1get_1style",
	"pango_1font_1description_1get_1variant",
	"pango_1font_1description_1get_1weight",
	"pango_1font_1description_1new",
	"pango_1font_1description_1set_1family",
	"pango_1font_1description_1set_1size",
	"pango_1font_1description_1set_1stretch",
	"pango_1font_1description_1set_1style",
	"pango_1font_1description_1set_1variant",
	"pango_1font_1description_1set_1weight",
	"pango_1font_1description_1to_1string",
	"pango_1font_1face_1describe",
	"pango_1font_1family_1get_1name",
	"pango_1font_1family_1list_1faces",
	"pango_1font_1map_1create_1context",
	"pango_1font_1metrics_1get_1approximate_1char_1width",
	"pango_1font_1metrics_1get_1ascent",
	"pango_1font_1metrics_1get_1descent",
	"pango_1font_1metrics_1unref",
	"pango_1layout_1context_1changed",
	"pango_1layout_1get_1alignment",
	"pango_1layout_1get_1context",
	"pango_1layout_1get_1indent",
	"pango_1layout_1get_1iter",
	"pango_1layout_1get_1justify",
	"pango_1layout_1get_1line",
	"pango_1layout_1get_1line_1count",
	"pango_1layout_1get_1log_1attrs",
	"pango_1layout_1get_1pixel_1size",
	"pango_1layout_1get_1size",
	"pango_1layout_1get_1spacing",
	"pango_1layout_1get_1text",
	"pango_1layout_1get_1width",
	"pango_1layout_1index_1to_1pos",
	"pango_1layout_1iter_1free",
	"pango_1layout_1iter_1get_1index",
	"pango_1layout_1iter_1get_1line_1extents",
	"pango_1layout_1iter_1get_1run",
	"pango_1layout_1iter_1next_1line",
	"pango_1layout_1iter_1next_1run",
	"pango_1layout_1line_1get_1extents",
	"pango_1layout_1new",
	"pango_1layout_1set_1alignment",
	"pango_1layout_1set_1attributes",
	"pango_1layout_1set_1auto_1dir",
	"pango_1layout_1set_1font_1description",
	"pango_1layout_1set_1indent",
	"pango_1layout_1set_1justify",
	"pango_1layout_1set_1single_1paragraph_1mode",
	"pango_1layout_1set_1spacing",
	"pango_1layout_1set_1tabs",
	"pango_1layout_1set_1text",
	"pango_1layout_1set_1width",
	"pango_1layout_1set_1wrap",
	"pango_1layout_1xy_1to_1index",
	"pango_1tab_1array_1free",
	"pango_1tab_1array_1new",
	"pango_1tab_1array_1set_1tab",
	"printerOptionWidgetNewProc_1CALLBACK",
	"realpath",
	"strcmp",
	"swt_1debug_1on_1fatal_1warnings",
	"swt_1fixed_1accessible_1get_1type",
	"swt_1fixed_1accessible_1register_1accessible",
	"swt_1fixed_1add",
	"swt_1fixed_1get_1type",
	"swt_1fixed_1move",
	"swt_1fixed_1remove",
	"swt_1fixed_1resize",
	"swt_1fixed_1restack",
	"swt_1set_1lock_1functions",
	"ubuntu_1menu_1proxy_1get",
};
#define NATIVE_FUNCTION_COUNT sizeof(OS_nativeFunctionNames) / sizeof(char*)
int OS_nativeFunctionCount = NATIVE_FUNCTION_COUNT;
int OS_nativeFunctionCallCount[NATIVE_FUNCTION_COUNT];

#define STATS_NATIVE(func) Java_org_eclipse_swt_tools_internal_NativeStats_##func

JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCount)
	(JNIEnv *env, jclass that)
{
	return OS_nativeFunctionCount;
}

JNIEXPORT jstring JNICALL STATS_NATIVE(OS_1GetFunctionName)
	(JNIEnv *env, jclass that, jint index)
{
	return (*env)->NewStringUTF(env, OS_nativeFunctionNames[index]);
}

JNIEXPORT jint JNICALL STATS_NATIVE(OS_1GetFunctionCallCount)
	(JNIEnv *env, jclass that, jint index)
{
	return OS_nativeFunctionCallCount[index];
}

#endif
