--- /dev/null
+/* Collapse.c generated by valac 0.36.6, the Vala compiler
+ * generated from Collapse.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+
+#define JSDOC_TYPE_COLLAPSE (jsdoc_collapse_get_type ())
+#define JSDOC_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapse))
+#define JSDOC_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+#define JSDOC_IS_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_IS_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_COLLAPSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+
+typedef struct _JSDOCCollapse JSDOCCollapse;
+typedef struct _JSDOCCollapseClass JSDOCCollapseClass;
+typedef struct _JSDOCCollapsePrivate JSDOCCollapsePrivate;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+
+#define JSDOC_PACKER_TYPE_RESULT_TYPE (jsdoc_packer_result_type_get_type ())
+typedef struct _JSDOCTokenKeyMapPrivate JSDOCTokenKeyMapPrivate;
+
+struct _JSDOCTokenStream {
+ GObject parent_instance;
+ JSDOCTokenStreamPrivate * priv;
+ GeeArrayList* tokens;
+ gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCCollapse {
+ JSDOCTokenStream parent_instance;
+ JSDOCCollapsePrivate * priv;
+};
+
+struct _JSDOCCollapseClass {
+ JSDOCTokenStreamClass parent_class;
+};
+
+struct _JSDOCCollapsePrivate {
+ JSDOCPacker* packer;
+ gchar* filename;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_PACKER_RESULT_TYPE_err,
+ JSDOC_PACKER_RESULT_TYPE_warn
+} JSDOCPackerResultType;
+
+typedef enum {
+ JSDOC_TOKEN_STREAM_ERROR_ArgumentError
+} JSDOCTokenStreamError;
+#define JSDOC_TOKEN_STREAM_ERROR jsdoc_token_stream_error_quark ()
+struct _JSDOCTokenKeyMap {
+ GObject parent_instance;
+ JSDOCTokenKeyMapPrivate * priv;
+ JSDOCToken* key;
+ GeeArrayList* vals;
+};
+
+struct _JSDOCTokenKeyMapClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_collapse_parent_class = NULL;
+
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+GType jsdoc_collapse_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+#define JSDOC_COLLAPSE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_COLLAPSE, JSDOCCollapsePrivate))
+enum {
+ JSDOC_COLLAPSE_DUMMY_PROPERTY
+};
+JSDOCCollapse* jsdoc_collapse_new (GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+JSDOCCollapse* jsdoc_collapse_construct (GType object_type, GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+static void jsdoc_collapse_spaces (JSDOCCollapse* self);
+static GeeArrayList* jsdoc_collapse_collapse (JSDOCCollapse* self, GeeArrayList* ar);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_stream_look (JSDOCTokenStream* self, gint n, gboolean considerWhitespace);
+GType jsdoc_packer_result_type_get_type (void) G_GNUC_CONST;
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message);
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self);
+GQuark jsdoc_token_stream_error_quark (void);
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error);
+static GeeArrayList* jsdoc_collapse_toItems (JSDOCCollapse* self, GeeArrayList* ar, const gchar* sep);
+static GeeHashMap* jsdoc_collapse_toProps (JSDOCCollapse* self, GeeArrayList* ar, JSDOCToken* tok);
+const gchar* jsdoc_token_type_to_string (JSDOCTokenType self);
+JSDOCTokenKeyMap* jsdoc_token_key_map_new (void);
+JSDOCTokenKeyMap* jsdoc_token_key_map_construct (GType object_type);
+static void jsdoc_collapse_finalize (GObject * obj);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 288 "Collapse.c"
+}
+
+
+JSDOCCollapse* jsdoc_collapse_construct (GType object_type, GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename) {
+ JSDOCCollapse * self = NULL;
+ GeeArrayList* _tmp0_;
+ JSDOCPacker* _tmp1_;
+ JSDOCPacker* _tmp2_;
+ const gchar* _tmp3_;
+ gchar* _tmp4_;
+ GeeArrayList* ar = NULL;
+ GeeArrayList* _tmp5_;
+ GeeArrayList* _tmp6_;
+ GeeArrayList* _tmp7_;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (tokens != NULL, NULL);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (pk != NULL, NULL);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (filename != NULL, NULL);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp0_ = tokens;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ self = (JSDOCCollapse*) jsdoc_token_stream_construct (object_type, _tmp0_);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp1_ = pk;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ self->priv->packer = _tmp2_;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp3_ = filename;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = g_strdup (_tmp3_);
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (self->priv->filename);
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ self->priv->filename = _tmp4_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ jsdoc_collapse_spaces (self);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp5_ = ((JSDOCTokenStream*) self)->tokens;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp6_ = jsdoc_collapse_collapse (self, _tmp5_);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ar = _tmp6_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp7_ = _g_object_ref0 (ar);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (((JSDOCTokenStream*) self)->tokens);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ((JSDOCTokenStream*) self)->tokens = _tmp7_;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (ar);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return self;
+#line 347 "Collapse.c"
+}
+
+
+JSDOCCollapse* jsdoc_collapse_new (GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename) {
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return jsdoc_collapse_construct (JSDOC_TYPE_COLLAPSE, tokens, pk, filename);
+#line 354 "Collapse.c"
+}
+
+
+static void jsdoc_collapse_spaces (JSDOCCollapse* self) {
+ GeeArrayList* ar = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* pref = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp43_;
+ GeeArrayList* _tmp44_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_if_fail (self != NULL);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ar = _tmp0_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ pref = _tmp1_;
+#line 375 "Collapse.c"
+ {
+ gint i = 0;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = 0;
+#line 380 "Collapse.c"
+ {
+ gboolean _tmp2_ = FALSE;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = TRUE;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ while (TRUE) {
+#line 387 "Collapse.c"
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ JSDOCToken* tok = NULL;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gpointer _tmp10_;
+ gboolean _tmp11_ = FALSE;
+ JSDOCToken* _tmp12_;
+ gboolean _tmp13_;
+ JSDOCToken* _tmp18_;
+ gchar* _tmp19_;
+ GeeArrayList* _tmp20_;
+ gint _tmp21_;
+ gint _tmp22_;
+ GeeArrayList* _tmp41_;
+ JSDOCToken* _tmp42_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!_tmp2_) {
+#line 408 "Collapse.c"
+ gint _tmp3_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp3_ = i;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = _tmp3_ + 1;
+#line 414 "Collapse.c"
+ }
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = FALSE;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = i;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp5_ = ((JSDOCTokenStream*) self)->tokens;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp7_ = _tmp6_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!(_tmp4_ < _tmp7_)) {
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ break;
+#line 430 "Collapse.c"
+ }
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp8_ = ((JSDOCTokenStream*) self)->tokens;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp9_ = i;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ tok = (JSDOCToken*) _tmp10_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp12_ = tok;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp13_ = jsdoc_token_isType (_tmp12_, JSDOC_TOKEN_TYPE_COMM);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp13_) {
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp11_ = TRUE;
+#line 448 "Collapse.c"
+ } else {
+ JSDOCToken* _tmp14_;
+ gboolean _tmp15_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp14_ = tok;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp15_ = jsdoc_token_isType (_tmp14_, JSDOC_TOKEN_TYPE_WHIT);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp11_ = _tmp15_;
+#line 458 "Collapse.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp11_) {
+#line 462 "Collapse.c"
+ GeeArrayList* _tmp16_;
+ JSDOCToken* _tmp17_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp16_ = pref;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp17_ = tok;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, _tmp17_);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 475 "Collapse.c"
+ }
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp18_ = tok;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp19_ = g_strdup ("");
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (_tmp18_->prefix);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp18_->prefix = _tmp19_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp20_ = pref;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp21_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp20_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp22_ = _tmp21_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp22_ > 0) {
+#line 493 "Collapse.c"
+ GeeArrayList* _tmp40_;
+ {
+ GeeArrayList* _e_list = NULL;
+ GeeArrayList* _tmp23_;
+ GeeArrayList* _tmp24_;
+ gint _e_size = 0;
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ gint _e_index = 0;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp23_ = pref;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp24_ = _g_object_ref0 (_tmp23_);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _e_list = _tmp24_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp25_ = _e_list;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp26_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp25_);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp27_ = _tmp26_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _e_size = _tmp27_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _e_index = -1;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ while (TRUE) {
+#line 522 "Collapse.c"
+ gint _tmp28_;
+ gint _tmp29_;
+ gint _tmp30_;
+ JSDOCToken* e = NULL;
+ GeeArrayList* _tmp31_;
+ gint _tmp32_;
+ gpointer _tmp33_;
+ JSDOCToken* _tmp34_;
+ JSDOCToken* _tmp35_;
+ const gchar* _tmp36_;
+ JSDOCToken* _tmp37_;
+ const gchar* _tmp38_;
+ gchar* _tmp39_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp28_ = _e_index;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _e_index = _tmp28_ + 1;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp29_ = _e_index;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp30_ = _e_size;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!(_tmp29_ < _tmp30_)) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ break;
+#line 548 "Collapse.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp31_ = _e_list;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp32_ = _e_index;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp31_, _tmp32_);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ e = (JSDOCToken*) _tmp33_;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp34_ = tok;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_ = tok;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp36_ = _tmp35_->prefix;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp37_ = e;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp38_ = _tmp37_->data;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp39_ = g_strconcat (_tmp36_, _tmp38_, NULL);
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (_tmp35_->prefix);
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_->prefix = _tmp39_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (e);
+#line 576 "Collapse.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_e_list);
+#line 580 "Collapse.c"
+ }
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp40_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (pref);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ pref = _tmp40_;
+#line 588 "Collapse.c"
+ }
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp41_ = ar;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp42_ = tok;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp41_, _tmp42_);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 598 "Collapse.c"
+ }
+ }
+ }
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp43_ = ar;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp44_ = _g_object_ref0 (_tmp43_);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (((JSDOCTokenStream*) self)->tokens);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ((JSDOCTokenStream*) self)->tokens = _tmp44_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (pref);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (ar);
+#line 614 "Collapse.c"
+}
+
+
+static GeeArrayList* jsdoc_collapse_collapse (JSDOCCollapse* self, GeeArrayList* ar) {
+ GeeArrayList* result = NULL;
+ JSDOCTokenStream* st = NULL;
+ GeeArrayList* _tmp0_;
+ JSDOCTokenStream* _tmp1_;
+ GeeArrayList* ret = NULL;
+ GeeArrayList* _tmp2_;
+ gboolean last_is_object_def = FALSE;
+ GError * _inner_error_ = NULL;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (ar != NULL, NULL);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp0_ = ar;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp1_ = jsdoc_token_stream_new (_tmp0_);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ st = _tmp1_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ret = _tmp2_;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = FALSE;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ while (TRUE) {
+#line 645 "Collapse.c"
+ JSDOCToken* tok = NULL;
+ JSDOCTokenStream* _tmp3_;
+ JSDOCToken* _tmp4_;
+ JSDOCToken* _tmp5_;
+ JSDOCToken* _tmp6_;
+ JSDOCTokenType _tmp7_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp3_ = st;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = jsdoc_token_stream_look (_tmp3_, 1, TRUE);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ tok = _tmp4_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp5_ = tok;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp5_ == NULL) {
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ result = ret;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (st);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return result;
+#line 670 "Collapse.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp6_ = tok;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp7_ = _tmp6_->type;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ switch (_tmp7_) {
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_VOID:
+#line 680 "Collapse.c"
+ {
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ result = ret;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (st);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return result;
+#line 690 "Collapse.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_KEYW:
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_TOKN:
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_NAME:
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_STRN:
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_NUMB:
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_REGX:
+#line 704 "Collapse.c"
+ {
+ gboolean _tmp8_;
+ JSDOCToken* nn = NULL;
+ JSDOCTokenStream* _tmp13_;
+ JSDOCToken* _tmp14_;
+ JSDOCToken* _tmp15_;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp8_ = last_is_object_def;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp8_) {
+#line 715 "Collapse.c"
+ JSDOCPacker* _tmp9_;
+ const gchar* _tmp10_;
+ JSDOCToken* _tmp11_;
+ gint _tmp12_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp9_ = self->priv->packer;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp10_ = self->priv->filename;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp11_ = tok;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp12_ = _tmp11_->line;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ jsdoc_packer_logError (_tmp9_, JSDOC_PACKER_RESULT_TYPE_err, _tmp10_, _tmp12_, "Syntax error - found non punctuation after object close brace");
+#line 730 "Collapse.c"
+ }
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp13_ = st;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp14_ = jsdoc_token_stream_next (_tmp13_);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ nn = _tmp14_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp15_ = nn;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp15_ != NULL) {
+#line 742 "Collapse.c"
+ GeeArrayList* _tmp16_;
+ JSDOCToken* _tmp17_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp16_ = ret;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp17_ = nn;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, _tmp17_);
+#line 751 "Collapse.c"
+ }
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = FALSE;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (nn);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 759 "Collapse.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case JSDOC_TOKEN_TYPE_PUNC:
+#line 763 "Collapse.c"
+ {
+ JSDOCToken* _tmp18_;
+ const gchar* _tmp19_;
+ const gchar* _tmp20_;
+ GQuark _tmp22_ = 0U;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ static GQuark _tmp21_label0 = 0;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ static GQuark _tmp21_label1 = 0;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ static GQuark _tmp21_label2 = 0;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp18_ = tok;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp19_ = _tmp18_->data;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp20_ = _tmp19_;
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp22_ = (NULL == _tmp20_) ? 0 : g_quark_from_string (_tmp20_);
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (((_tmp22_ == ((0 != _tmp21_label0) ? _tmp21_label0 : (_tmp21_label0 = g_quark_from_static_string ("[")))) || (_tmp22_ == ((0 != _tmp21_label1) ? _tmp21_label1 : (_tmp21_label1 = g_quark_from_static_string ("{"))))) || (_tmp22_ == ((0 != _tmp21_label2) ? _tmp21_label2 : (_tmp21_label2 = g_quark_from_static_string ("("))))) {
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ switch (0) {
+#line 787 "Collapse.c"
+ default:
+ {
+ gint start = 0;
+ JSDOCTokenStream* _tmp23_;
+ gint _tmp24_;
+ GeeArrayList* add = NULL;
+ JSDOCTokenStream* _tmp25_;
+ JSDOCToken* _tmp26_;
+ JSDOCTokenName _tmp27_;
+ GeeArrayList* _tmp28_;
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gint _tmp31_;
+ GeeArrayList* _tmp35_ = NULL;
+ GeeArrayList* _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+ GeeArrayList* toks = NULL;
+ GeeArrayList* _tmp43_;
+ JSDOCToken* _tmp44_;
+ GeeArrayList* _tmp45_;
+ JSDOCToken* _tmp46_;
+ GeeHashMap* _tmp47_;
+ JSDOCToken* _tmp48_;
+ const gchar* _tmp49_;
+ GeeArrayList* _tmp73_;
+ JSDOCToken* _tmp74_;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = FALSE;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp23_ = st;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp24_ = _tmp23_->cursor;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ start = _tmp24_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp25_ = st;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp26_ = tok;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp27_ = _tmp26_->name;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp28_ = jsdoc_token_stream_balance (_tmp25_, _tmp27_, &_inner_error_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ add = _tmp28_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (ret);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (st);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_clear_error (&_inner_error_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return NULL;
+#line 847 "Collapse.c"
+ }
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp29_ = add;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp30_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp29_);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp31_ = _tmp30_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp31_ > 0) {
+#line 857 "Collapse.c"
+ GeeArrayList* _tmp32_;
+ gpointer _tmp33_;
+ JSDOCToken* _tmp34_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp32_ = add;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp33_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp32_, 0);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp34_ = (JSDOCToken*) _tmp33_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp34_);
+#line 869 "Collapse.c"
+ }
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp36_ = add;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp37_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp36_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp38_ = _tmp37_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp38_ > 0) {
+#line 879 "Collapse.c"
+ GeeArrayList* _tmp39_;
+ GeeArrayList* _tmp40_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp39_ = add;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp40_ = jsdoc_collapse_collapse (self, _tmp39_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp35_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_ = _tmp40_;
+#line 890 "Collapse.c"
+ } else {
+ GeeArrayList* _tmp41_;
+ GeeArrayList* _tmp42_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp41_ = add;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp42_ = _g_object_ref0 (_tmp41_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp35_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_ = _tmp42_;
+#line 902 "Collapse.c"
+ }
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp43_ = _g_object_ref0 (_tmp35_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ toks = _tmp43_;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp44_ = tok;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp45_ = gee_array_list_new (GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp44_->items);
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp44_->items = _tmp45_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp46_ = tok;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp47_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_TOKEN_KEY_MAP, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp46_->props);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp46_->props = _tmp47_;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp48_ = tok;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp49_ = _tmp48_->data;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (g_strcmp0 (_tmp49_, "{") != 0) {
+#line 930 "Collapse.c"
+ JSDOCToken* _tmp50_;
+ GeeArrayList* _tmp51_;
+ GeeArrayList* _tmp52_;
+ JSDOCToken* _tmp53_;
+ const gchar* _tmp54_;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp50_ = tok;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp51_ = toks;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp52_ = jsdoc_collapse_toItems (self, _tmp51_, ",");
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp50_->items);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp50_->items = _tmp52_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp53_ = tok;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp54_ = _tmp53_->data;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (g_strcmp0 (_tmp54_, "]") == 0) {
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = TRUE;
+#line 954 "Collapse.c"
+ }
+ } else {
+ JSDOCTokenStream* ost = NULL;
+ GeeArrayList* _tmp55_;
+ JSDOCTokenStream* _tmp56_;
+ gboolean _tmp57_ = FALSE;
+ JSDOCTokenStream* _tmp58_;
+ JSDOCToken* _tmp59_;
+ JSDOCToken* _tmp60_;
+ gboolean _tmp61_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp55_ = toks;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp56_ = jsdoc_token_stream_new (_tmp55_);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ost = _tmp56_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp58_ = ost;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp59_ = jsdoc_token_stream_look (_tmp58_, 2, TRUE);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp60_ = _tmp59_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp61_ = _tmp60_ != NULL;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp60_);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp61_) {
+#line 983 "Collapse.c"
+ JSDOCTokenStream* _tmp62_;
+ JSDOCToken* _tmp63_;
+ JSDOCToken* _tmp64_;
+ const gchar* _tmp65_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp62_ = ost;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp63_ = jsdoc_token_stream_look (_tmp62_, 2, TRUE);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp64_ = _tmp63_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp65_ = _tmp64_->data;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp57_ = g_strcmp0 (_tmp65_, ":") == 0;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp64_);
+#line 1000 "Collapse.c"
+ } else {
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp57_ = FALSE;
+#line 1004 "Collapse.c"
+ }
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp57_) {
+#line 1008 "Collapse.c"
+ GeeArrayList* _tmp66_;
+ JSDOCToken* _tmp67_;
+ GeeHashMap* _tmp68_;
+ GeeHashMap* _tmp69_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp66_ = toks;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp67_ = tok;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp68_ = jsdoc_collapse_toProps (self, _tmp66_, _tmp67_);
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp69_ = _tmp68_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp69_);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = TRUE;
+#line 1025 "Collapse.c"
+ } else {
+ JSDOCToken* _tmp70_;
+ GeeArrayList* _tmp71_;
+ GeeArrayList* _tmp72_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp70_ = tok;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp71_ = toks;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp72_ = jsdoc_collapse_toItems (self, _tmp71_, ";{");
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp70_->items);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp70_->items = _tmp72_;
+#line 1040 "Collapse.c"
+ }
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (ost);
+#line 1044 "Collapse.c"
+ }
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp73_ = ret;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp74_ = tok;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp73_, _tmp74_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (toks);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp35_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (add);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1060 "Collapse.c"
+ }
+ }
+ } else {
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ switch (0) {
+#line 1066 "Collapse.c"
+ default:
+ {
+ GeeArrayList* _tmp75_;
+ JSDOCTokenStream* _tmp76_;
+ JSDOCToken* _tmp77_;
+ JSDOCToken* _tmp78_;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ last_is_object_def = FALSE;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp75_ = ret;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp76_ = st;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp77_ = jsdoc_token_stream_next (_tmp76_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp78_ = _tmp77_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp75_, _tmp78_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp78_);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1089 "Collapse.c"
+ }
+ }
+ }
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_print ("OOPS");
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1097 "Collapse.c"
+ }
+ default:
+ {
+ JSDOCToken* _tmp79_;
+ JSDOCTokenType _tmp80_;
+ GEnumValue* _tmp81_;
+ gchar* _tmp82_;
+ gchar* _tmp83_;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp79_ = tok;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp80_ = _tmp79_->type;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp81_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_TYPE), _tmp80_);
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp82_ = g_strconcat ("OOPS", (_tmp81_ != NULL) ? _tmp81_->value_name : NULL, NULL);
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp83_ = _tmp82_;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_print ("%s", _tmp83_);
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (_tmp83_);
+#line 211 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1122 "Collapse.c"
+ }
+ }
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (tok);
+#line 1127 "Collapse.c"
+ }
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (ret);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (st);
+#line 1133 "Collapse.c"
+}
+
+
+static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) {
+ gint result = 0;
+ gchar* _result_ = NULL;
+ gint _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, 0);
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, 0);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = start_index;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = needle;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp2_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = _result_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 1160 "Collapse.c"
+ gchar* _tmp4_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = _result_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gint) (_tmp4_ - ((gchar*) self));
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1168 "Collapse.c"
+ } else {
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = -1;
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1174 "Collapse.c"
+ }
+}
+
+
+static GeeArrayList* jsdoc_collapse_toItems (JSDOCCollapse* self, GeeArrayList* ar, const gchar* sep) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* ret = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* g = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp49_;
+ gint _tmp50_;
+ gint _tmp51_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (ar != NULL, NULL);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (sep != NULL, NULL);
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp0_ = gee_array_list_new (GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ret = _tmp0_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g = _tmp1_;
+#line 1202 "Collapse.c"
+ {
+ gint i = 0;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = 0;
+#line 1207 "Collapse.c"
+ {
+ gboolean _tmp2_ = FALSE;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = TRUE;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ while (TRUE) {
+#line 1214 "Collapse.c"
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ const gchar* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCToken* _tmp12_;
+ const gchar* _tmp13_;
+ gint _tmp14_;
+ gboolean _tmp15_;
+ gboolean _tmp21_ = FALSE;
+ gboolean _tmp22_ = FALSE;
+ GeeArrayList* _tmp23_;
+ gint _tmp24_;
+ gpointer _tmp25_;
+ JSDOCToken* _tmp26_;
+ const gchar* _tmp27_;
+ gboolean _tmp28_;
+ GeeArrayList* _tmp41_;
+ GeeArrayList* _tmp42_;
+ gint _tmp43_;
+ gpointer _tmp44_;
+ JSDOCToken* _tmp45_;
+ GeeArrayList* _tmp46_;
+ GeeArrayList* _tmp47_;
+ GeeArrayList* _tmp48_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!_tmp2_) {
+#line 1245 "Collapse.c"
+ gint _tmp3_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp3_ = i;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = _tmp3_ + 1;
+#line 1251 "Collapse.c"
+ }
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = FALSE;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = i;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp5_ = ar;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp7_ = _tmp6_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!(_tmp4_ < _tmp7_)) {
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ break;
+#line 1267 "Collapse.c"
+ }
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp8_ = sep;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp9_ = ar;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp10_ = i;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp12_ = (JSDOCToken*) _tmp11_;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp13_ = _tmp12_->data;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp14_ = string_index_of (_tmp8_, _tmp13_, 0);
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp15_ = _tmp14_ < 0;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp12_);
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp15_) {
+#line 1289 "Collapse.c"
+ GeeArrayList* _tmp16_;
+ GeeArrayList* _tmp17_;
+ gint _tmp18_;
+ gpointer _tmp19_;
+ JSDOCToken* _tmp20_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp16_ = g;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp17_ = ar;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp18_ = i;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _tmp18_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp20_ = (JSDOCToken*) _tmp19_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, _tmp20_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp20_);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1311 "Collapse.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp23_ = ar;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp24_ = i;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp25_ = gee_abstract_list_get ((GeeAbstractList*) _tmp23_, _tmp24_);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp26_ = (JSDOCToken*) _tmp25_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp27_ = _tmp26_->data;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp28_ = g_strcmp0 (_tmp27_, ";") != 0;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp26_);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp28_) {
+#line 1329 "Collapse.c"
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gint _tmp31_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp29_ = g;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp30_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp29_);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp31_ = _tmp30_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp22_ = _tmp31_ > 0;
+#line 1341 "Collapse.c"
+ } else {
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp22_ = FALSE;
+#line 1345 "Collapse.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp22_) {
+#line 1349 "Collapse.c"
+ GeeArrayList* _tmp32_;
+ gpointer _tmp33_;
+ JSDOCToken* _tmp34_;
+ JSDOCTokenName _tmp35_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp32_ = g;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp33_ = gee_abstract_list_get ((GeeAbstractList*) _tmp32_, 0);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp34_ = (JSDOCToken*) _tmp33_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_ = _tmp34_->name;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp21_ = _tmp35_ == JSDOC_TOKEN_NAME_VAR;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp34_);
+#line 1366 "Collapse.c"
+ } else {
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp21_ = FALSE;
+#line 1370 "Collapse.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp21_) {
+#line 1374 "Collapse.c"
+ GeeArrayList* _tmp36_;
+ GeeArrayList* _tmp37_;
+ gint _tmp38_;
+ gpointer _tmp39_;
+ JSDOCToken* _tmp40_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp36_ = g;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp37_ = ar;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp38_ = i;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp39_ = gee_abstract_list_get ((GeeAbstractList*) _tmp37_, _tmp38_);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp40_ = (JSDOCToken*) _tmp39_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp36_, _tmp40_);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp40_);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1396 "Collapse.c"
+ }
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp41_ = g;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp42_ = ar;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp43_ = i;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp44_ = gee_abstract_list_get ((GeeAbstractList*) _tmp42_, _tmp43_);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp45_ = (JSDOCToken*) _tmp44_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp41_, _tmp45_);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp45_);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp46_ = ret;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp47_ = g;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp46_, _tmp47_);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp48_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (g);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g = _tmp48_;
+#line 1424 "Collapse.c"
+ }
+ }
+ }
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp49_ = g;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp50_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp49_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp51_ = _tmp50_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp51_ > 0) {
+#line 1436 "Collapse.c"
+ GeeArrayList* _tmp52_;
+ GeeArrayList* _tmp53_;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp52_ = ret;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp53_ = g;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp52_, _tmp53_);
+#line 1445 "Collapse.c"
+ }
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ result = ret;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (g);
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return result;
+#line 1453 "Collapse.c"
+}
+
+
+static GeeHashMap* jsdoc_collapse_toProps (JSDOCCollapse* self, GeeArrayList* ar, JSDOCToken* tok) {
+ GeeHashMap* result = NULL;
+ GeeHashMap* ret = NULL;
+ GeeHashMap* _tmp0_;
+ GeeArrayList* keyseq = NULL;
+ GeeArrayList* _tmp1_;
+ JSDOCTokenKeyMap* g = NULL;
+ JSDOCTokenKeyMap* _tmp2_;
+ gchar* k = NULL;
+ gchar* _tmp3_;
+ gint state = 0;
+ gboolean _tmp39_ = FALSE;
+ const gchar* _tmp40_;
+ gint _tmp41_;
+ gint _tmp42_;
+ JSDOCToken* _tmp50_;
+ GeeHashMap* _tmp51_;
+ GeeHashMap* _tmp52_;
+ JSDOCToken* _tmp53_;
+ GeeArrayList* _tmp54_;
+ GeeArrayList* _tmp55_;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (ar != NULL, NULL);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_return_val_if_fail (tok != NULL, NULL);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_TOKEN_KEY_MAP, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ ret = _tmp0_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ keyseq = _tmp1_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp2_ = jsdoc_token_key_map_new ();
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g = _tmp2_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp3_ = g_strdup ("");
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ k = _tmp3_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ state = 0;
+#line 1502 "Collapse.c"
+ {
+ gint i = 0;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = 0;
+#line 1507 "Collapse.c"
+ {
+ gboolean _tmp4_ = FALSE;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = TRUE;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ while (TRUE) {
+#line 1514 "Collapse.c"
+ gint _tmp6_;
+ GeeArrayList* _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ gint _tmp10_;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!_tmp4_) {
+#line 1522 "Collapse.c"
+ gint _tmp5_;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp5_ = i;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ i = _tmp5_ + 1;
+#line 1528 "Collapse.c"
+ }
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp4_ = FALSE;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp6_ = i;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp7_ = ar;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp8_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp7_);
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp9_ = _tmp8_;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (!(_tmp6_ < _tmp9_)) {
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ break;
+#line 1544 "Collapse.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp10_ = state;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ switch (_tmp10_) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case 0:
+#line 1552 "Collapse.c"
+ {
+ GeeArrayList* _tmp11_;
+ gint _tmp12_;
+ gpointer _tmp13_;
+ JSDOCToken* _tmp14_;
+ const gchar* _tmp15_;
+ gchar* _tmp16_;
+ JSDOCTokenKeyMap* _tmp17_;
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gpointer _tmp20_;
+ GeeArrayList* _tmp21_;
+ const gchar* _tmp22_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp11_ = ar;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp12_ = i;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp11_, _tmp12_);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp14_ = (JSDOCToken*) _tmp13_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp15_ = _tmp14_->data;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp16_ = g_strdup (_tmp15_);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (k);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ k = _tmp16_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp14_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp17_ = g;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp18_ = ar;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp19_ = i;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp18_, _tmp19_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp17_->key);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp17_->key = (JSDOCToken*) _tmp20_;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp21_ = keyseq;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp22_ = k;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp21_, _tmp22_);
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ state = 1;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1606 "Collapse.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case 1:
+#line 1610 "Collapse.c"
+ {
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ state = 2;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1616 "Collapse.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ case 2:
+#line 1620 "Collapse.c"
+ {
+ JSDOCTokenKeyMap* _tmp23_;
+ GeeArrayList* _tmp24_;
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gpointer _tmp27_;
+ JSDOCToken* _tmp28_;
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gpointer _tmp31_;
+ JSDOCToken* _tmp32_;
+ const gchar* _tmp33_;
+ gboolean _tmp34_;
+ GeeHashMap* _tmp35_;
+ const gchar* _tmp36_;
+ JSDOCTokenKeyMap* _tmp37_;
+ JSDOCTokenKeyMap* _tmp38_;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp23_ = g;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp24_ = _tmp23_->vals;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp25_ = ar;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp26_ = i;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp27_ = gee_abstract_list_get ((GeeAbstractList*) _tmp25_, _tmp26_);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp28_ = (JSDOCToken*) _tmp27_;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp24_, _tmp28_);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp28_);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp29_ = ar;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp30_ = i;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, _tmp30_);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp32_ = (JSDOCToken*) _tmp31_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp33_ = _tmp32_->data;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp34_ = g_strcmp0 (_tmp33_, ",") != 0;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp32_);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp34_) {
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1672 "Collapse.c"
+ }
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp35_ = ret;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp36_ = k;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp37_ = g;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp35_, _tmp36_, _tmp37_);
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp38_ = jsdoc_token_key_map_new ();
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (g);
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g = _tmp38_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ state = 0;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ continue;
+#line 1692 "Collapse.c"
+ }
+ default:
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ break;
+#line 1697 "Collapse.c"
+ }
+ }
+ }
+ }
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp40_ = k;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp41_ = strlen (_tmp40_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp42_ = _tmp41_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp42_ > 0) {
+#line 1710 "Collapse.c"
+ JSDOCTokenKeyMap* _tmp43_;
+ GeeArrayList* _tmp44_;
+ gint _tmp45_;
+ gint _tmp46_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp43_ = g;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp44_ = _tmp43_->vals;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp45_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp44_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp46_ = _tmp45_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp39_ = _tmp46_ > 0;
+#line 1725 "Collapse.c"
+ } else {
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp39_ = FALSE;
+#line 1729 "Collapse.c"
+ }
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ if (_tmp39_) {
+#line 1733 "Collapse.c"
+ GeeHashMap* _tmp47_;
+ const gchar* _tmp48_;
+ JSDOCTokenKeyMap* _tmp49_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp47_ = ret;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp48_ = k;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp49_ = g;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp47_, _tmp48_, _tmp49_);
+#line 1745 "Collapse.c"
+ }
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp50_ = tok;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp51_ = ret;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp52_ = _g_object_ref0 (_tmp51_);
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp50_->props);
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp50_->props = _tmp52_;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp53_ = tok;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp54_ = keyseq;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp55_ = _g_object_ref0 (_tmp54_);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (_tmp53_->keyseq);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _tmp53_->keyseq = _tmp55_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ result = ret;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (k);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (g);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (keyseq);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ return result;
+#line 1777 "Collapse.c"
+}
+
+
+static void jsdoc_collapse_class_init (JSDOCCollapseClass * klass) {
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ jsdoc_collapse_parent_class = g_type_class_peek_parent (klass);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCCollapsePrivate));
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_collapse_finalize;
+#line 1788 "Collapse.c"
+}
+
+
+static void jsdoc_collapse_instance_init (JSDOCCollapse * self) {
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ self->priv = JSDOC_COLLAPSE_GET_PRIVATE (self);
+#line 1795 "Collapse.c"
+}
+
+
+static void jsdoc_collapse_finalize (GObject * obj) {
+ JSDOCCollapse * self;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_COLLAPSE, JSDOCCollapse);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ _g_free0 (self->priv->filename);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Collapse.vala"
+ G_OBJECT_CLASS (jsdoc_collapse_parent_class)->finalize (obj);
+#line 1809 "Collapse.c"
+}
+
+
+GType jsdoc_collapse_get_type (void) {
+ static volatile gsize jsdoc_collapse_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_collapse_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCCollapseClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_collapse_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCCollapse), 0, (GInstanceInitFunc) jsdoc_collapse_instance_init, NULL };
+ GType jsdoc_collapse_type_id;
+ jsdoc_collapse_type_id = g_type_register_static (JSDOC_TYPE_TOKEN_STREAM, "JSDOCCollapse", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_collapse_type_id__volatile, jsdoc_collapse_type_id);
+ }
+ return jsdoc_collapse_type_id__volatile;
+}
+
+
+
--- /dev/null
+
+/**
+ *
+ * base class for parsing segments of token array..
+ *
+ *
+ * We want to make parsing the whole thing easy..
+ *
+ * so we do various tricks:
+ *
+ *
+ * a) white space collased
+ * wsPrefix
+ * b) toks
+ * { } - collapse into first element.
+ ( ) - collapse into first element.
+ [ ] - collapse into first element.
+ * c) items = , seperation within the above..
+ *
+ * usage: x = new Collapse(token_array)
+ *
+ *
+ *
+ *
+ */
+
+namespace JSDOC {
+
+ public class Collapse : TokenStream {
+
+ Packer packer;
+ string filename;
+
+ public Collapse(Gee.ArrayList<Token> tokens, Packer pk, string filename)
+ {
+ base(tokens);
+
+ this.packer = pk;
+ this.filename = filename;
+
+
+
+ this.spaces();
+
+ var ar = this.collapse(this.tokens);
+
+ this.tokens = ar;
+
+ // console.dump(ar);
+
+ }
+
+ // put spaces into prefix of tokens..
+
+ void spaces ()
+ {
+ var ar = new Gee.ArrayList<Token>();
+ var pref = new Gee.ArrayList<Token>();
+
+
+
+ for (var i = 0; i < this.tokens.size; i ++) {
+ var tok = this.tokens[i];
+ if (tok.isType(TokenType.COMM) || tok.isType(TokenType.WHIT)) {
+ pref.add(tok);
+ continue;
+ }
+ tok.prefix = "";
+ if (pref.size > 0) {
+ foreach(var e in pref) {
+ tok.prefix += e.data;
+ }
+ pref = new Gee.ArrayList<Token>(); // reset pref..
+ }
+
+ ar.add(tok);
+
+
+
+ }
+ this.tokens = ar;
+
+ }
+
+
+
+ Gee.ArrayList<Token> collapse(Gee.ArrayList<Token> ar)
+ {
+
+ var st = new TokenStream(ar);
+ var ret = new Gee.ArrayList<Token>();
+ var last_is_object_def = false;
+
+ while (true) {
+ var tok = st.look(1,true);
+ if (tok == null) {
+ // Seed.print(TokenStream.toString(ret));
+ return ret;
+ }
+ // console.log(tok.data);
+
+ //print("COL: %s\n", tok.asString());
+
+ switch(tok.type) {
+ case TokenType.VOID:
+ return ret; //EOF
+
+
+ case TokenType.KEYW:
+ case TokenType.TOKN:
+ case TokenType.NAME:
+ case TokenType.STRN:
+ case TokenType.NUMB:
+ case TokenType.REGX:
+ if (last_is_object_def) {
+
+ this.packer.logError(Packer.ResultType.err, this.filename, tok.line,
+ "Syntax error - found non punctuation after object close brace");
+
+
+
+ //GLib.error("Syntax error - found non punctuation after object close brace\n%s", tok.asString());
+ }
+
+ var nn = st.next();
+ if (nn != null) {
+ ret.add(nn);
+ }
+ last_is_object_def = false;
+ continue;
+
+ case TokenType.PUNC:
+ switch (tok.data) {
+ case "[":
+ case "{":
+ case "(":
+ last_is_object_def = false;
+ var start = st.cursor;
+ //st.next(); << no need to shift, balance will start at first character..
+
+ var add = st.balance(tok.name);
+
+ // print("BALANCE returned %d items\n", add.size);
+
+
+ // if (!add) {
+ //console.dump(tok);
+ //console.dump(start + '...' + st.cursor);
+ //console.dump(st.tokens);
+
+ //}
+ if (add.size > 0) {
+ add.remove_at(0); // remove the first element... (as it's the
+ }
+ //Seed.print("ADD");
+ //Seed.print(JSON.stringify(add, null,4));
+
+
+
+ var toks = add.size > 0 ? this.collapse(add) : add;
+
+ tok.items = new Gee.ArrayList<Gee.ArrayList<Token>>(); //?? needed?
+ tok.props = new Gee.HashMap<string,TokenKeyMap>();
+
+
+ if (tok.data != "{") {
+ // paramters or array elements..
+ tok.items = this.toItems(toks, ",");
+ if (tok.data == "]") { // ) can be folowed with lots of things...
+ last_is_object_def = true;
+ }
+ } else {
+ // check for types.. it could be a list of statements.. or object
+ // format "{" "xXXX" ":" << looks for the ':'.. seems to work.. not sure if it's foolproof...
+
+ var ost = new TokenStream(toks);
+ //console.dump(ost.look(2,true) );
+ if (ost.look(2,true) != null && ost.look(2,true).data == ":") {
+ // object properties...
+ this.toProps(toks,tok);
+ last_is_object_def = true;
+ } else {
+ // list of statemetns..
+ tok.items = this.toItems(toks, ";{");;
+ }
+
+
+ }
+
+
+
+
+
+
+
+ //Seed.print(" ADD : " + add.length + " ITEMS: " + tok.items.length);
+
+ ret.add(tok);
+
+ continue;
+
+ default:
+ last_is_object_def = false;
+ ret.add(st.next());
+ continue;
+ }
+ print("OOPS");
+ continue;
+ default :
+ print("OOPS" + tok.type.to_string());
+ continue;
+ }
+ }
+
+
+
+
+
+
+
+
+
+
+ }
+ // array of arrays of tokens
+ Gee.ArrayList<Gee.ArrayList<Token>> toItems(Gee.ArrayList<Token> ar, string sep)
+ {
+ var ret = new Gee.ArrayList<Gee.ArrayList<Token>>() ;
+ var g = new Gee.ArrayList<Token>() ;
+
+ for (var i = 0; i < ar.size; i ++) {
+ if (sep.index_of(ar.get(i).data) < 0) {
+ g.add(ar.get(i));
+ continue;
+ }
+ // var a=..., b =...
+ if ((ar.get(i).data != ";") && g.size> 0 && (g[0].name == TokenName.VAR)) {;
+ g.add(ar.get(i));
+ continue;
+ }
+
+ g.add(ar.get(i));
+ ret.add(g);
+ g = new Gee.ArrayList<Token>() ;
+
+ }
+ // last..
+ if (g.size > 0) {
+ ret.add(g);
+ }
+ return ret;
+
+ }
+
+ Gee.HashMap<string,TokenKeyMap> toProps (Gee.ArrayList<Token> ar, Token tok)
+ {
+
+ var ret = new Gee.HashMap<string,TokenKeyMap>();
+
+ var keyseq = new Gee.ArrayList<string>();
+
+ var g = new TokenKeyMap();
+
+
+ var k = "";
+ var state = 0;
+ for (var i = 0; i < ar.size; i ++) {
+
+ switch(state) {
+ case 0:
+ k = ar.get(i).data;
+ g.key = ar.get(i);
+ keyseq.add(k);
+ state = 1;
+ continue;
+ case 1:
+ state =2; // should be ':'
+ continue;
+ case 2:
+ g.vals.add( ar.get(i));
+ if ( ar.get(i).data != ",") {
+ continue;
+ }
+ ret.set(k, g);
+ g = new TokenKeyMap();
+ state = 0;
+ continue;
+
+ }
+ }
+ // last.. - if g.val.length is 0 then it's a trailing ','...
+ // we should really throw a syntax error in that case..
+ if (k.length > 0 && g.vals.size > 0) {
+ ret.set(k, g);
+ }
+ tok.props = ret;
+ tok.keyseq = keyseq;
+ return ret;
+
+
+ }
+
+ }
+
+}
--- /dev/null
+/* CompressWhite.c generated by valac 0.36.6, the Vala compiler
+ * generated from CompressWhite.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+typedef struct _JSDOCIdentifierPrivate JSDOCIdentifierPrivate;
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+
+typedef enum {
+ JSDOC_COMPRESS_WHITE_ERROR_BRACE
+} JSDOCCompressWhiteError;
+#define JSDOC_COMPRESS_WHITE_ERROR jsdoc_compress_white_error_quark ()
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenStream {
+ GObject parent_instance;
+ JSDOCTokenStreamPrivate * priv;
+ GeeArrayList* tokens;
+ gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_STREAM_ERROR_ArgumentError
+} JSDOCTokenStreamError;
+#define JSDOC_TOKEN_STREAM_ERROR jsdoc_token_stream_error_quark ()
+struct _JSDOCIdentifier {
+ GObject parent_instance;
+ JSDOCIdentifierPrivate * priv;
+ gchar* name;
+ gint refcount;
+ gchar* mungedValue;
+ JSDOCScope* scope;
+ gboolean toMunge;
+};
+
+struct _JSDOCIdentifierClass {
+ GObjectClass parent_class;
+};
+
+
+
+GQuark jsdoc_compress_white_error_quark (void);
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+gchar* jsdoc_CompressWhite (JSDOCTokenStream* ts, JSDOCPacker* packer, gboolean keepWhite);
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self);
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n);
+JSDOCToken* jsdoc_token_stream_look (JSDOCTokenStream* self, gint n, gboolean considerWhitespace);
+GQuark jsdoc_token_stream_error_quark (void);
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error);
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self);
+GeeArrayList* jsdoc_token_stream_toArray (JSDOCTokenStream* self);
+void jsdoc_token_stream_dump (JSDOCTokenStream* self, gint start, gint end);
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+
+
+GQuark jsdoc_compress_white_error_quark (void) {
+ return g_quark_from_static_string ("jsdoc_compress_white_error-quark");
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 265 "CompressWhite.c"
+}
+
+
+gchar* jsdoc_CompressWhite (JSDOCTokenStream* ts, JSDOCPacker* packer, gboolean keepWhite) {
+ gchar* result = NULL;
+ JSDOCTokenStream* _tmp0_;
+ gint rep_var = 0;
+ JSDOCTokenStream* _tmp348_;
+ gchar* outstr = NULL;
+ gchar* _tmp349_;
+ gint outoff = 0;
+ JSDOCToken* tok = NULL;
+ GError * _inner_error_ = NULL;
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_return_val_if_fail (ts != NULL, NULL);
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_return_val_if_fail (packer != NULL, NULL);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp0_ = ts;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_rewind (_tmp0_);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ rep_var = 1;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ while (TRUE) {
+#line 291 "CompressWhite.c"
+ JSDOCToken* tok = NULL;
+ JSDOCTokenStream* _tmp1_;
+ JSDOCToken* _tmp2_;
+ JSDOCToken* _tmp3_;
+ JSDOCToken* _tmp4_;
+ JSDOCTokenType _tmp5_;
+ JSDOCToken* _tmp6_;
+ const gchar* _tmp7_;
+ JSDOCToken* _tmp26_;
+ JSDOCTokenType _tmp27_;
+ JSDOCToken* _tmp265_;
+ JSDOCTokenName _tmp266_;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp1_ = ts;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp2_ = jsdoc_token_stream_next (_tmp1_);
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ tok = _tmp2_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp3_ = tok;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp3_ == NULL) {
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ break;
+#line 318 "CompressWhite.c"
+ }
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp4_ = tok;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp5_ = _tmp4_->type;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp5_ == JSDOC_TOKEN_TYPE_WHIT) {
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 330 "CompressWhite.c"
+ }
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp6_ = tok;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp7_ = _tmp6_->data;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (g_strcmp0 (_tmp7_, "}") == 0) {
+#line 338 "CompressWhite.c"
+ gboolean _tmp8_ = FALSE;
+ JSDOCTokenStream* _tmp9_;
+ JSDOCToken* _tmp10_;
+ JSDOCToken* _tmp11_;
+ JSDOCTokenType _tmp12_;
+ gboolean _tmp13_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp9_ = ts;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp10_ = jsdoc_token_stream_lookTok (_tmp9_, 0);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp11_ = _tmp10_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp12_ = _tmp11_->type;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp13_ = _tmp12_ == JSDOC_TOKEN_TYPE_NAME;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp11_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp13_) {
+#line 359 "CompressWhite.c"
+ JSDOCTokenStream* _tmp14_;
+ JSDOCToken* _tmp15_;
+ JSDOCToken* _tmp16_;
+ JSDOCTokenName _tmp17_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp14_ = ts;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp15_ = jsdoc_token_stream_look (_tmp14_, 1, TRUE);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp16_ = _tmp15_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp17_ = _tmp16_->name;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp8_ = _tmp17_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp16_);
+#line 376 "CompressWhite.c"
+ } else {
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp8_ = FALSE;
+#line 380 "CompressWhite.c"
+ }
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp8_) {
+#line 384 "CompressWhite.c"
+ JSDOCTokenStream* _tmp18_;
+ JSDOCToken* _tmp19_;
+ JSDOCToken* _tmp20_;
+ JSDOCTokenStream* _tmp21_;
+ JSDOCToken* _tmp22_;
+ JSDOCToken* _tmp23_;
+ const gchar* _tmp24_;
+ gchar* _tmp25_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp18_ = ts;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp19_ = jsdoc_token_stream_look (_tmp18_, 0, TRUE);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp20_ = _tmp19_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp21_ = ts;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp22_ = jsdoc_token_stream_look (_tmp21_, 0, TRUE);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp23_ = _tmp22_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp24_ = _tmp23_->data;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp25_ = g_strconcat (_tmp24_, "\n", NULL);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp20_->outData);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp20_->outData = _tmp25_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp23_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp20_);
+#line 417 "CompressWhite.c"
+ }
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 423 "CompressWhite.c"
+ }
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp26_ = tok;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp27_ = _tmp26_->type;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp27_ == JSDOC_TOKEN_TYPE_NAME) {
+#line 431 "CompressWhite.c"
+ gboolean _tmp28_ = FALSE;
+ gboolean _tmp29_ = FALSE;
+ JSDOCTokenStream* _tmp30_;
+ JSDOCToken* _tmp31_;
+ JSDOCToken* _tmp32_;
+ const gchar* _tmp33_;
+ gboolean _tmp34_;
+ gboolean _tmp76_ = FALSE;
+ JSDOCTokenStream* _tmp77_;
+ JSDOCToken* _tmp78_;
+ JSDOCToken* _tmp79_;
+ const gchar* _tmp80_;
+ gboolean _tmp81_;
+ gboolean _tmp163_ = FALSE;
+ gboolean _tmp164_ = FALSE;
+ JSDOCTokenStream* _tmp165_;
+ JSDOCToken* _tmp166_;
+ JSDOCToken* _tmp167_;
+ JSDOCTokenType _tmp168_;
+ gboolean _tmp169_;
+ JSDOCTokenStream* _tmp186_;
+ JSDOCToken* _tmp187_;
+ JSDOCToken* _tmp188_;
+ const gchar* _tmp189_;
+ gboolean _tmp190_;
+ gboolean _tmp216_ = FALSE;
+ JSDOCTokenStream* _tmp217_;
+ JSDOCToken* _tmp218_;
+ JSDOCToken* _tmp219_;
+ const gchar* _tmp220_;
+ gboolean _tmp221_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp30_ = ts;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp31_ = jsdoc_token_stream_lookTok (_tmp30_, 1);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp32_ = _tmp31_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp33_ = _tmp32_->data;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp34_ = g_strcmp0 (_tmp33_, "=") == 0;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp32_);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp34_) {
+#line 477 "CompressWhite.c"
+ JSDOCTokenStream* _tmp35_;
+ JSDOCToken* _tmp36_;
+ JSDOCToken* _tmp37_;
+ JSDOCTokenName _tmp38_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp35_ = ts;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp36_ = jsdoc_token_stream_lookTok (_tmp35_, 2);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp37_ = _tmp36_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp38_ = _tmp37_->name;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp29_ = _tmp38_ == JSDOC_TOKEN_NAME_NEW;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp37_);
+#line 494 "CompressWhite.c"
+ } else {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp29_ = FALSE;
+#line 498 "CompressWhite.c"
+ }
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp29_) {
+#line 502 "CompressWhite.c"
+ JSDOCTokenStream* _tmp39_;
+ JSDOCToken* _tmp40_;
+ JSDOCToken* _tmp41_;
+ JSDOCTokenName _tmp42_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp39_ = ts;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp40_ = jsdoc_token_stream_lookTok (_tmp39_, 3);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp41_ = _tmp40_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp42_ = _tmp41_->name;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp28_ = _tmp42_ == JSDOC_TOKEN_NAME_FUNCTION;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp41_);
+#line 519 "CompressWhite.c"
+ } else {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp28_ = FALSE;
+#line 523 "CompressWhite.c"
+ }
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp28_) {
+#line 527 "CompressWhite.c"
+ gint cu = 0;
+ JSDOCTokenStream* _tmp43_;
+ gint _tmp44_;
+ JSDOCTokenStream* _tmp45_;
+ GeeArrayList* _tmp46_;
+ GeeArrayList* _tmp47_;
+ JSDOCTokenStream* _tmp48_;
+ GeeArrayList* _tmp49_;
+ GeeArrayList* _tmp50_;
+ gboolean _tmp51_ = FALSE;
+ gboolean _tmp52_ = FALSE;
+ JSDOCTokenStream* _tmp53_;
+ JSDOCToken* _tmp54_;
+ JSDOCToken* _tmp55_;
+ const gchar* _tmp56_;
+ gboolean _tmp57_;
+ JSDOCTokenStream* _tmp74_;
+ gint _tmp75_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp43_ = ts;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp44_ = _tmp43_->cursor;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ cu = _tmp44_;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp45_ = ts;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp46_ = jsdoc_token_stream_balance (_tmp45_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp47_ = _tmp46_;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp47_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 570 "CompressWhite.c"
+ }
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp48_ = ts;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp49_ = jsdoc_token_stream_balance (_tmp48_, JSDOC_TOKEN_NAME_LEFT_CURLY, &_inner_error_);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp50_ = _tmp49_;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp50_);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 590 "CompressWhite.c"
+ }
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp53_ = ts;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp54_ = jsdoc_token_stream_lookTok (_tmp53_, 1);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp55_ = _tmp54_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp56_ = _tmp55_->data;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp57_ = g_strcmp0 (_tmp56_, ";") != 0;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp55_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp57_) {
+#line 606 "CompressWhite.c"
+ JSDOCTokenStream* _tmp58_;
+ JSDOCToken* _tmp59_;
+ JSDOCToken* _tmp60_;
+ const gchar* _tmp61_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp58_ = ts;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp59_ = jsdoc_token_stream_lookTok (_tmp58_, 1);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp60_ = _tmp59_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp61_ = _tmp60_->data;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp52_ = g_strcmp0 (_tmp61_, "}") != 0;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp60_);
+#line 623 "CompressWhite.c"
+ } else {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp52_ = FALSE;
+#line 627 "CompressWhite.c"
+ }
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp52_) {
+#line 631 "CompressWhite.c"
+ JSDOCTokenStream* _tmp62_;
+ JSDOCToken* _tmp63_;
+ JSDOCToken* _tmp64_;
+ JSDOCTokenName _tmp65_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp62_ = ts;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp63_ = jsdoc_token_stream_lookTok (_tmp62_, 1);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp64_ = _tmp63_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp65_ = _tmp64_->name;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp51_ = _tmp65_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp64_);
+#line 648 "CompressWhite.c"
+ } else {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp51_ = FALSE;
+#line 652 "CompressWhite.c"
+ }
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp51_) {
+#line 656 "CompressWhite.c"
+ JSDOCTokenStream* _tmp66_;
+ JSDOCToken* _tmp67_;
+ JSDOCToken* _tmp68_;
+ JSDOCTokenStream* _tmp69_;
+ JSDOCToken* _tmp70_;
+ JSDOCToken* _tmp71_;
+ const gchar* _tmp72_;
+ gchar* _tmp73_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp66_ = ts;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp67_ = jsdoc_token_stream_look (_tmp66_, 0, TRUE);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp68_ = _tmp67_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp69_ = ts;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp70_ = jsdoc_token_stream_lookTok (_tmp69_, 0);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp71_ = _tmp70_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp72_ = _tmp71_->data;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp73_ = g_strconcat (_tmp72_, ";", NULL);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp68_->outData);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp68_->outData = _tmp73_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp71_);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp68_);
+#line 689 "CompressWhite.c"
+ }
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp74_ = ts;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp75_ = cu;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp74_->cursor = _tmp75_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 701 "CompressWhite.c"
+ }
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp77_ = ts;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp78_ = jsdoc_token_stream_lookTok (_tmp77_, 1);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp79_ = _tmp78_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp80_ = _tmp79_->data;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp81_ = g_strcmp0 (_tmp80_, "=") == 0;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp79_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp81_) {
+#line 717 "CompressWhite.c"
+ JSDOCTokenStream* _tmp82_;
+ JSDOCToken* _tmp83_;
+ JSDOCToken* _tmp84_;
+ JSDOCTokenName _tmp85_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp82_ = ts;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp83_ = jsdoc_token_stream_lookTok (_tmp82_, 2);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp84_ = _tmp83_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp85_ = _tmp84_->name;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp76_ = _tmp85_ == JSDOC_TOKEN_NAME_FUNCTION;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp84_);
+#line 734 "CompressWhite.c"
+ } else {
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp76_ = FALSE;
+#line 738 "CompressWhite.c"
+ }
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp76_) {
+#line 742 "CompressWhite.c"
+ JSDOCTokenStream* _tmp86_;
+ JSDOCToken* _tmp87_;
+ JSDOCTokenStream* _tmp88_;
+ JSDOCToken* _tmp89_;
+ gint cu = 0;
+ JSDOCTokenStream* _tmp90_;
+ gint _tmp91_;
+ gboolean _tmp92_ = FALSE;
+ JSDOCTokenStream* _tmp93_;
+ JSDOCToken* _tmp94_;
+ JSDOCToken* _tmp95_;
+ const gchar* _tmp96_;
+ gboolean _tmp97_;
+ JSDOCTokenStream* _tmp117_;
+ JSDOCToken* _tmp118_;
+ JSDOCTokenStream* _tmp119_;
+ gint _tmp120_;
+ JSDOCTokenStream* _tmp121_;
+ gint _tmp122_;
+ gboolean _tmp123_ = FALSE;
+ JSDOCToken* _tmp124_;
+ const gchar* _tmp125_;
+ gboolean _tmp138_ = FALSE;
+ gboolean _tmp139_ = FALSE;
+ JSDOCTokenStream* _tmp140_;
+ JSDOCToken* _tmp141_;
+ JSDOCToken* _tmp142_;
+ const gchar* _tmp143_;
+ gboolean _tmp144_;
+ JSDOCTokenStream* _tmp161_;
+ gint _tmp162_;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp86_ = ts;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp87_ = jsdoc_token_stream_nextTok (_tmp86_);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ tok = _tmp87_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp88_ = ts;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp89_ = jsdoc_token_stream_nextTok (_tmp88_);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ tok = _tmp89_;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp90_ = ts;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp91_ = _tmp90_->cursor;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ cu = _tmp91_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp93_ = ts;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp94_ = jsdoc_token_stream_lookTok (_tmp93_, 1);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp95_ = _tmp94_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp96_ = _tmp95_->data;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp97_ = g_strcmp0 (_tmp96_, "(") != 0;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp95_);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp97_) {
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp92_ = TRUE;
+#line 812 "CompressWhite.c"
+ } else {
+ GeeArrayList* _tmp98_ = NULL;
+ JSDOCTokenStream* _tmp99_;
+ GeeArrayList* _tmp100_;
+ gint _tmp101_;
+ gint _tmp102_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp99_ = ts;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp100_ = jsdoc_token_stream_balance (_tmp99_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp98_ = _tmp100_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 835 "CompressWhite.c"
+ }
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp101_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp98_);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp102_ = _tmp101_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp92_ = _tmp102_ < 1;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp98_);
+#line 845 "CompressWhite.c"
+ }
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp92_) {
+#line 849 "CompressWhite.c"
+ JSDOCTokenStream* _tmp103_;
+ GeeArrayList* _tmp104_;
+ GeeArrayList* _tmp105_;
+ gint _tmp106_;
+ gpointer _tmp107_;
+ JSDOCToken* _tmp108_;
+ gint _tmp109_;
+ JSDOCTokenStream* _tmp110_;
+ gint _tmp111_;
+ gint _tmp112_;
+ JSDOCTokenStream* _tmp113_;
+ gint _tmp114_;
+ gint _tmp115_;
+ GError* _tmp116_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp103_ = ts;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp104_ = jsdoc_token_stream_toArray (_tmp103_);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp105_ = _tmp104_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp106_ = cu;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp107_ = gee_abstract_list_get ((GeeAbstractList*) _tmp105_, _tmp106_);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp108_ = (JSDOCToken*) _tmp107_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp109_ = _tmp108_->line;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_print ("balance ( issue on line %d\n", _tmp109_);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp108_);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp105_);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp110_ = ts;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp111_ = cu;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp112_ = cu;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp110_, _tmp111_ - 40, _tmp112_ + 2);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_print (">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp113_ = ts;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp114_ = cu;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp115_ = cu;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp113_, _tmp114_ + 2, _tmp115_ + 40);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp116_ = g_error_new_literal (JSDOC_COMPRESS_WHITE_ERROR, JSDOC_COMPRESS_WHITE_ERROR_BRACE, "could not find end lbrace!!!");
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _inner_error_ = _tmp116_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 914 "CompressWhite.c"
+ }
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp117_ = ts;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp118_ = jsdoc_token_stream_nextTok (_tmp117_);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ tok = _tmp118_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp119_ = ts;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp120_ = _tmp119_->cursor;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ cu = _tmp120_;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp121_ = ts;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp122_ = _tmp121_->cursor;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp121_->cursor = _tmp122_ - 1;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp124_ = tok;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp125_ = _tmp124_->data;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (g_strcmp0 (_tmp125_, "{") != 0) {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp123_ = TRUE;
+#line 944 "CompressWhite.c"
+ } else {
+ GeeArrayList* _tmp126_ = NULL;
+ JSDOCTokenStream* _tmp127_;
+ GeeArrayList* _tmp128_;
+ gint _tmp129_;
+ gint _tmp130_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp127_ = ts;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp128_ = jsdoc_token_stream_balance (_tmp127_, JSDOC_TOKEN_NAME_LEFT_CURLY, &_inner_error_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp126_ = _tmp128_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 967 "CompressWhite.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp129_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp126_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp130_ = _tmp129_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp123_ = _tmp130_ < 1;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp126_);
+#line 977 "CompressWhite.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp123_) {
+#line 981 "CompressWhite.c"
+ JSDOCTokenStream* _tmp131_;
+ gint _tmp132_;
+ gint _tmp133_;
+ JSDOCTokenStream* _tmp134_;
+ gint _tmp135_;
+ gint _tmp136_;
+ GError* _tmp137_;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp131_ = ts;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp132_ = cu;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp133_ = cu;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp131_, _tmp132_ - 40, _tmp133_);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_print (">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp134_ = ts;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp135_ = cu;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp136_ = cu;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp134_, _tmp135_, _tmp136_ + 40);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp137_ = g_error_new_literal (JSDOC_COMPRESS_WHITE_ERROR, JSDOC_COMPRESS_WHITE_ERROR_BRACE, "could not find end lbrace!!!");
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _inner_error_ = _tmp137_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 1019 "CompressWhite.c"
+ }
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp140_ = ts;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp141_ = jsdoc_token_stream_lookTok (_tmp140_, 1);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp142_ = _tmp141_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp143_ = _tmp142_->data;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp144_ = g_strcmp0 (_tmp143_, ";") != 0;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp142_);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp144_) {
+#line 1035 "CompressWhite.c"
+ JSDOCTokenStream* _tmp145_;
+ JSDOCToken* _tmp146_;
+ JSDOCToken* _tmp147_;
+ const gchar* _tmp148_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp145_ = ts;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp146_ = jsdoc_token_stream_lookTok (_tmp145_, 1);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp147_ = _tmp146_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp148_ = _tmp147_->data;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp139_ = g_strcmp0 (_tmp148_, "}") != 0;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp147_);
+#line 1052 "CompressWhite.c"
+ } else {
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp139_ = FALSE;
+#line 1056 "CompressWhite.c"
+ }
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp139_) {
+#line 1060 "CompressWhite.c"
+ JSDOCTokenStream* _tmp149_;
+ JSDOCToken* _tmp150_;
+ JSDOCToken* _tmp151_;
+ JSDOCTokenName _tmp152_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp149_ = ts;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp150_ = jsdoc_token_stream_look (_tmp149_, 1, TRUE);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp151_ = _tmp150_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp152_ = _tmp151_->name;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp138_ = _tmp152_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp151_);
+#line 1077 "CompressWhite.c"
+ } else {
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp138_ = FALSE;
+#line 1081 "CompressWhite.c"
+ }
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp138_) {
+#line 1085 "CompressWhite.c"
+ JSDOCTokenStream* _tmp153_;
+ JSDOCToken* _tmp154_;
+ JSDOCToken* _tmp155_;
+ JSDOCTokenStream* _tmp156_;
+ JSDOCToken* _tmp157_;
+ JSDOCToken* _tmp158_;
+ const gchar* _tmp159_;
+ gchar* _tmp160_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp153_ = ts;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp154_ = jsdoc_token_stream_look (_tmp153_, 0, TRUE);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp155_ = _tmp154_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp156_ = ts;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp157_ = jsdoc_token_stream_look (_tmp156_, 0, TRUE);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp158_ = _tmp157_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp159_ = _tmp158_->data;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp160_ = g_strconcat (_tmp159_, ";", NULL);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp155_->outData);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp155_->outData = _tmp160_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp158_);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp155_);
+#line 1118 "CompressWhite.c"
+ }
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp161_ = ts;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp162_ = cu;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp161_->cursor = _tmp162_;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1130 "CompressWhite.c"
+ }
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp165_ = ts;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp166_ = jsdoc_token_stream_lookTok (_tmp165_, 1);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp167_ = _tmp166_;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp168_ = _tmp167_->type;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp169_ = _tmp168_ == JSDOC_TOKEN_TYPE_NAME;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp167_);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp169_) {
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp164_ = TRUE;
+#line 1148 "CompressWhite.c"
+ } else {
+ JSDOCTokenStream* _tmp170_;
+ JSDOCToken* _tmp171_;
+ JSDOCToken* _tmp172_;
+ JSDOCTokenType _tmp173_;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp170_ = ts;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp171_ = jsdoc_token_stream_lookTok (_tmp170_, 1);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp172_ = _tmp171_;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp173_ = _tmp172_->type;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp164_ = _tmp173_ == JSDOC_TOKEN_TYPE_KEYW;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp172_);
+#line 1166 "CompressWhite.c"
+ }
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp164_) {
+#line 1170 "CompressWhite.c"
+ JSDOCTokenStream* _tmp174_;
+ JSDOCToken* _tmp175_;
+ JSDOCToken* _tmp176_;
+ JSDOCTokenName _tmp177_;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp174_ = ts;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp175_ = jsdoc_token_stream_look (_tmp174_, 1, TRUE);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp176_ = _tmp175_;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp177_ = _tmp176_->name;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp163_ = _tmp177_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp176_);
+#line 1187 "CompressWhite.c"
+ } else {
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp163_ = FALSE;
+#line 1191 "CompressWhite.c"
+ }
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp163_) {
+#line 1195 "CompressWhite.c"
+ JSDOCTokenStream* _tmp178_;
+ JSDOCToken* _tmp179_;
+ JSDOCToken* _tmp180_;
+ JSDOCTokenStream* _tmp181_;
+ JSDOCToken* _tmp182_;
+ JSDOCToken* _tmp183_;
+ const gchar* _tmp184_;
+ gchar* _tmp185_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp178_ = ts;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp179_ = jsdoc_token_stream_look (_tmp178_, 0, TRUE);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp180_ = _tmp179_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp181_ = ts;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp182_ = jsdoc_token_stream_look (_tmp181_, 0, TRUE);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp183_ = _tmp182_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp184_ = _tmp183_->data;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp185_ = g_strconcat (_tmp184_, "\n", NULL);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp180_->outData);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp180_->outData = _tmp185_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp183_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp180_);
+#line 1228 "CompressWhite.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp186_ = ts;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp187_ = jsdoc_token_stream_lookTok (_tmp186_, 1);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp188_ = _tmp187_;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp189_ = _tmp188_->data;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp190_ = g_strcmp0 (_tmp189_, "(") == 0;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp188_);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp190_) {
+#line 1244 "CompressWhite.c"
+ gint cu = 0;
+ JSDOCTokenStream* _tmp191_;
+ gint _tmp192_;
+ JSDOCTokenStream* _tmp193_;
+ GeeArrayList* _tmp194_;
+ GeeArrayList* _tmp195_;
+ gboolean _tmp196_ = FALSE;
+ JSDOCTokenStream* _tmp197_;
+ JSDOCToken* _tmp198_;
+ JSDOCToken* _tmp199_;
+ JSDOCTokenType _tmp200_;
+ gboolean _tmp201_;
+ JSDOCTokenStream* _tmp214_;
+ gint _tmp215_;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp191_ = ts;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp192_ = _tmp191_->cursor;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ cu = _tmp192_;
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp193_ = ts;
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp194_ = jsdoc_token_stream_balance (_tmp193_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp195_ = _tmp194_;
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp195_);
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 1283 "CompressWhite.c"
+ }
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp197_ = ts;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp198_ = jsdoc_token_stream_lookTok (_tmp197_, 1);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp199_ = _tmp198_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp200_ = _tmp199_->type;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp201_ = _tmp200_ == JSDOC_TOKEN_TYPE_NAME;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp199_);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp201_) {
+#line 1299 "CompressWhite.c"
+ JSDOCTokenStream* _tmp202_;
+ JSDOCToken* _tmp203_;
+ JSDOCToken* _tmp204_;
+ JSDOCTokenName _tmp205_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp202_ = ts;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp203_ = jsdoc_token_stream_look (_tmp202_, 1, TRUE);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp204_ = _tmp203_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp205_ = _tmp204_->name;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp196_ = _tmp205_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp204_);
+#line 1316 "CompressWhite.c"
+ } else {
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp196_ = FALSE;
+#line 1320 "CompressWhite.c"
+ }
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp196_) {
+#line 1324 "CompressWhite.c"
+ JSDOCTokenStream* _tmp206_;
+ JSDOCToken* _tmp207_;
+ JSDOCToken* _tmp208_;
+ JSDOCTokenStream* _tmp209_;
+ JSDOCToken* _tmp210_;
+ JSDOCToken* _tmp211_;
+ const gchar* _tmp212_;
+ gchar* _tmp213_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp206_ = ts;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp207_ = jsdoc_token_stream_look (_tmp206_, 0, TRUE);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp208_ = _tmp207_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp209_ = ts;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp210_ = jsdoc_token_stream_look (_tmp209_, 0, TRUE);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp211_ = _tmp210_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp212_ = _tmp211_->data;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp213_ = g_strconcat (_tmp212_, "\n", NULL);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp208_->outData);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp208_->outData = _tmp213_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp211_);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp208_);
+#line 1357 "CompressWhite.c"
+ }
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp214_ = ts;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp215_ = cu;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp214_->cursor = _tmp215_;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1369 "CompressWhite.c"
+ }
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp217_ = ts;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp218_ = jsdoc_token_stream_lookTok (_tmp217_, 1);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp219_ = _tmp218_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp220_ = _tmp219_->data;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp221_ = g_strcmp0 (_tmp220_, "=") == 0;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp219_);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp221_) {
+#line 1385 "CompressWhite.c"
+ JSDOCTokenStream* _tmp222_;
+ JSDOCToken* _tmp223_;
+ JSDOCToken* _tmp224_;
+ const gchar* _tmp225_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp222_ = ts;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp223_ = jsdoc_token_stream_lookTok (_tmp222_, 2);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp224_ = _tmp223_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp225_ = _tmp224_->data;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp216_ = g_strcmp0 (_tmp225_, "{") == 0;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp224_);
+#line 1402 "CompressWhite.c"
+ } else {
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp216_ = FALSE;
+#line 1406 "CompressWhite.c"
+ }
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp216_) {
+#line 1410 "CompressWhite.c"
+ gint cu = 0;
+ JSDOCTokenStream* _tmp226_;
+ gint _tmp227_;
+ GeeArrayList* _tmp228_ = NULL;
+ JSDOCTokenStream* _tmp229_;
+ GeeArrayList* _tmp230_;
+ gint _tmp231_;
+ gint _tmp232_;
+ gboolean _tmp240_ = FALSE;
+ gboolean _tmp241_ = FALSE;
+ JSDOCTokenStream* _tmp242_;
+ JSDOCToken* _tmp243_;
+ JSDOCToken* _tmp244_;
+ const gchar* _tmp245_;
+ gboolean _tmp246_;
+ JSDOCTokenStream* _tmp263_;
+ gint _tmp264_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp226_ = ts;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp227_ = _tmp226_->cursor;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ cu = _tmp227_;
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp229_ = ts;
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp230_ = jsdoc_token_stream_balance (_tmp229_, JSDOC_TOKEN_NAME_LEFT_CURLY, &_inner_error_);
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp228_ = _tmp230_;
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 1450 "CompressWhite.c"
+ }
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp231_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp228_);
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp232_ = _tmp231_;
+#line 187 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp232_ < 1) {
+#line 1458 "CompressWhite.c"
+ JSDOCTokenStream* _tmp233_;
+ gint _tmp234_;
+ gint _tmp235_;
+ JSDOCTokenStream* _tmp236_;
+ gint _tmp237_;
+ gint _tmp238_;
+ GError* _tmp239_;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp233_ = ts;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp234_ = cu;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp235_ = cu;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp233_, _tmp234_ - 40, _tmp235_);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_print (">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp236_ = ts;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp237_ = cu;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp238_ = cu;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_dump (_tmp236_, _tmp237_, _tmp238_ + 40);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp239_ = g_error_new_literal (JSDOC_COMPRESS_WHITE_ERROR, JSDOC_COMPRESS_WHITE_ERROR_BRACE, "could not find end lbrace!!!");
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _inner_error_ = _tmp239_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp228_);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ g_clear_error (&_inner_error_);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return NULL;
+#line 1498 "CompressWhite.c"
+ }
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp242_ = ts;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp243_ = jsdoc_token_stream_lookTok (_tmp242_, 1);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp244_ = _tmp243_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp245_ = _tmp244_->data;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp246_ = g_strcmp0 (_tmp245_, ";") != 0;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp244_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp246_) {
+#line 1514 "CompressWhite.c"
+ JSDOCTokenStream* _tmp247_;
+ JSDOCToken* _tmp248_;
+ JSDOCToken* _tmp249_;
+ const gchar* _tmp250_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp247_ = ts;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp248_ = jsdoc_token_stream_lookTok (_tmp247_, 1);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp249_ = _tmp248_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp250_ = _tmp249_->data;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp241_ = g_strcmp0 (_tmp250_, "}") != 0;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp249_);
+#line 1531 "CompressWhite.c"
+ } else {
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp241_ = FALSE;
+#line 1535 "CompressWhite.c"
+ }
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp241_) {
+#line 1539 "CompressWhite.c"
+ JSDOCTokenStream* _tmp251_;
+ JSDOCToken* _tmp252_;
+ JSDOCToken* _tmp253_;
+ JSDOCTokenName _tmp254_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp251_ = ts;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp252_ = jsdoc_token_stream_look (_tmp251_, 1, TRUE);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp253_ = _tmp252_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp254_ = _tmp253_->name;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp240_ = _tmp254_ == JSDOC_TOKEN_NAME_NEWLINE;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp253_);
+#line 1556 "CompressWhite.c"
+ } else {
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp240_ = FALSE;
+#line 1560 "CompressWhite.c"
+ }
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp240_) {
+#line 1564 "CompressWhite.c"
+ JSDOCTokenStream* _tmp255_;
+ JSDOCToken* _tmp256_;
+ JSDOCToken* _tmp257_;
+ JSDOCTokenStream* _tmp258_;
+ JSDOCToken* _tmp259_;
+ JSDOCToken* _tmp260_;
+ const gchar* _tmp261_;
+ gchar* _tmp262_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp255_ = ts;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp256_ = jsdoc_token_stream_look (_tmp255_, 0, TRUE);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp257_ = _tmp256_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp258_ = ts;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp259_ = jsdoc_token_stream_look (_tmp258_, 0, TRUE);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp260_ = _tmp259_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp261_ = _tmp260_->data;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp262_ = g_strconcat (_tmp261_, ";", NULL);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp257_->outData);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp257_->outData = _tmp262_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp260_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp257_);
+#line 1597 "CompressWhite.c"
+ }
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp263_ = ts;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp264_ = cu;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp263_->cursor = _tmp264_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp228_);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1611 "CompressWhite.c"
+ }
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp265_ = tok;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp266_ = _tmp265_->name;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ switch (_tmp266_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_FUNCTION:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_BREAK:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_CONTINUE:
+#line 1626 "CompressWhite.c"
+ {
+ gboolean _tmp267_ = FALSE;
+ JSDOCTokenStream* _tmp268_;
+ JSDOCToken* _tmp269_;
+ JSDOCToken* _tmp270_;
+ JSDOCTokenType _tmp271_;
+ gboolean _tmp272_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp268_ = ts;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp269_ = jsdoc_token_stream_lookTok (_tmp268_, 1);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp270_ = _tmp269_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp271_ = _tmp270_->type;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp272_ = _tmp271_ == JSDOC_TOKEN_TYPE_NAME;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp270_);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp272_) {
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp267_ = TRUE;
+#line 1650 "CompressWhite.c"
+ } else {
+ JSDOCTokenStream* _tmp273_;
+ JSDOCToken* _tmp274_;
+ JSDOCToken* _tmp275_;
+ const gchar* _tmp276_;
+ gboolean _tmp277_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp273_ = ts;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp274_ = jsdoc_token_stream_lookTok (_tmp273_, 1);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp275_ = _tmp274_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp276_ = _tmp275_->data;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp277_ = g_regex_match_simple ("^[a-z]+$", _tmp276_, G_REGEX_CASELESS, 0);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp267_ = _tmp277_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp275_);
+#line 1671 "CompressWhite.c"
+ }
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp267_) {
+#line 1675 "CompressWhite.c"
+ JSDOCToken* _tmp278_;
+ JSDOCToken* _tmp279_;
+ const gchar* _tmp280_;
+ gchar* _tmp281_;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp278_ = tok;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp279_ = tok;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp280_ = _tmp279_->data;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp281_ = g_strconcat (_tmp280_, " ", NULL);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp278_->outData);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp278_->outData = _tmp281_;
+#line 1692 "CompressWhite.c"
+ }
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1696 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_RETURN:
+#line 1700 "CompressWhite.c"
+ {
+ gboolean _tmp282_ = FALSE;
+ JSDOCTokenStream* _tmp283_;
+ JSDOCToken* _tmp284_;
+ JSDOCToken* _tmp285_;
+ const gchar* _tmp286_;
+ gboolean _tmp287_;
+ JSDOCToken* _tmp292_;
+ JSDOCToken* _tmp293_;
+ const gchar* _tmp294_;
+ gchar* _tmp295_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp283_ = ts;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp284_ = jsdoc_token_stream_lookTok (_tmp283_, 1);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp285_ = _tmp284_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp286_ = _tmp285_->data;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp287_ = g_strcmp0 (_tmp286_, ";") == 0;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp285_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp287_) {
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp282_ = TRUE;
+#line 1728 "CompressWhite.c"
+ } else {
+ JSDOCTokenStream* _tmp288_;
+ JSDOCToken* _tmp289_;
+ JSDOCToken* _tmp290_;
+ const gchar* _tmp291_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp288_ = ts;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp289_ = jsdoc_token_stream_lookTok (_tmp288_, 1);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp290_ = _tmp289_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp291_ = _tmp290_->data;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp282_ = g_strcmp0 (_tmp291_, "}") == 0;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp290_);
+#line 1746 "CompressWhite.c"
+ }
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp282_) {
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1752 "CompressWhite.c"
+ }
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp292_ = tok;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp293_ = tok;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp294_ = _tmp293_->data;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp295_ = g_strconcat (_tmp294_, " ", NULL);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp292_->outData);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp292_->outData = _tmp295_;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1768 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_ELSE:
+#line 1772 "CompressWhite.c"
+ {
+ JSDOCTokenStream* _tmp296_;
+ JSDOCToken* _tmp297_;
+ JSDOCToken* _tmp298_;
+ JSDOCTokenName _tmp299_;
+ gboolean _tmp300_;
+ JSDOCToken* _tmp301_;
+ JSDOCToken* _tmp302_;
+ const gchar* _tmp303_;
+ gchar* _tmp304_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp296_ = ts;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp297_ = jsdoc_token_stream_lookTok (_tmp296_, 1);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp298_ = _tmp297_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp299_ = _tmp298_->name;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp300_ = _tmp299_ != JSDOC_TOKEN_NAME_IF;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp298_);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp300_) {
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1799 "CompressWhite.c"
+ }
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp301_ = tok;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp302_ = tok;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp303_ = _tmp302_->data;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp304_ = g_strconcat (_tmp303_, " ", NULL);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp301_->outData);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp301_->outData = _tmp304_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1815 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_INCREMENT:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_DECREMENT:
+#line 1821 "CompressWhite.c"
+ {
+ const gchar* _tmp305_ = NULL;
+ JSDOCToken* _tmp306_;
+ const gchar* _tmp307_;
+ gchar* p = NULL;
+ gchar* _tmp308_;
+ JSDOCTokenStream* _tmp309_;
+ JSDOCToken* _tmp310_;
+ JSDOCToken* _tmp311_;
+ const gchar* _tmp312_;
+ const gchar* _tmp313_;
+ gboolean _tmp314_;
+ JSDOCTokenStream* _tmp319_;
+ JSDOCToken* _tmp320_;
+ JSDOCToken* _tmp321_;
+ const gchar* _tmp322_;
+ const gchar* _tmp323_;
+ gboolean _tmp324_;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp306_ = tok;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp307_ = _tmp306_->data;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (g_strcmp0 (_tmp307_, "--") == 0) {
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp305_ = "-";
+#line 1848 "CompressWhite.c"
+ } else {
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp305_ = "+";
+#line 1852 "CompressWhite.c"
+ }
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp308_ = g_strdup (_tmp305_);
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ p = _tmp308_;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp309_ = ts;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp310_ = jsdoc_token_stream_lookTok (_tmp309_, 1);
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp311_ = _tmp310_;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp312_ = _tmp311_->data;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp313_ = p;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp314_ = g_strcmp0 (_tmp312_, _tmp313_) == 0;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp311_);
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp314_) {
+#line 1874 "CompressWhite.c"
+ JSDOCToken* _tmp315_;
+ JSDOCToken* _tmp316_;
+ const gchar* _tmp317_;
+ gchar* _tmp318_;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp315_ = tok;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp316_ = tok;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp317_ = _tmp316_->data;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp318_ = g_strconcat (_tmp317_, " ", NULL);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp315_->outData);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp315_->outData = _tmp318_;
+#line 1891 "CompressWhite.c"
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp319_ = ts;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp320_ = jsdoc_token_stream_lookTok (_tmp319_, -1);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp321_ = _tmp320_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp322_ = _tmp321_->data;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp323_ = p;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp324_ = g_strcmp0 (_tmp322_, _tmp323_) == 0;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp321_);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp324_) {
+#line 1909 "CompressWhite.c"
+ JSDOCToken* _tmp325_;
+ JSDOCToken* _tmp326_;
+ const gchar* _tmp327_;
+ gchar* _tmp328_;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp325_ = tok;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp326_ = tok;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp327_ = _tmp326_->data;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp328_ = g_strconcat (" ", _tmp327_, NULL);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp325_->outData);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp325_->outData = _tmp328_;
+#line 1926 "CompressWhite.c"
+ }
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (p);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1932 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_IN:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_INSTANCEOF:
+#line 1938 "CompressWhite.c"
+ {
+ JSDOCToken* _tmp329_;
+ JSDOCToken* _tmp330_;
+ const gchar* _tmp331_;
+ gchar* _tmp332_;
+ gchar* _tmp333_;
+ gchar* _tmp334_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp329_ = tok;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp330_ = tok;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp331_ = _tmp330_->data;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp332_ = g_strconcat (" ", _tmp331_, NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp333_ = _tmp332_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp334_ = g_strconcat (_tmp333_, " ", NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp329_->outData);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp329_->outData = _tmp334_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp333_);
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 1966 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_VAR:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_NEW:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_DELETE:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_THROW:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_CASE:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_CONST:
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_VOID:
+#line 1982 "CompressWhite.c"
+ {
+ JSDOCToken* _tmp335_;
+ JSDOCToken* _tmp336_;
+ const gchar* _tmp337_;
+ gchar* _tmp338_;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp335_ = tok;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp336_ = tok;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp337_ = _tmp336_->data;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp338_ = g_strconcat (_tmp337_, " ", NULL);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp335_->outData);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp335_->outData = _tmp338_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 2002 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_TYPEOF:
+#line 2006 "CompressWhite.c"
+ {
+ JSDOCTokenStream* _tmp339_;
+ JSDOCToken* _tmp340_;
+ JSDOCToken* _tmp341_;
+ const gchar* _tmp342_;
+ gboolean _tmp343_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp339_ = ts;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp340_ = jsdoc_token_stream_lookTok (_tmp339_, 1);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp341_ = _tmp340_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp342_ = _tmp341_->data;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp343_ = g_strcmp0 (_tmp342_, "(") != 0;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp341_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp343_) {
+#line 2027 "CompressWhite.c"
+ JSDOCToken* _tmp344_;
+ JSDOCToken* _tmp345_;
+ const gchar* _tmp346_;
+ gchar* _tmp347_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp344_ = tok;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp345_ = tok;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp346_ = _tmp345_->data;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp347_ = g_strconcat (_tmp346_, " ", NULL);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp344_->outData);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp344_->outData = _tmp347_;
+#line 2044 "CompressWhite.c"
+ }
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 2048 "CompressWhite.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ case JSDOC_TOKEN_NAME_SEMICOLON:
+#line 2052 "CompressWhite.c"
+ {
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 2056 "CompressWhite.c"
+ }
+ default:
+ {
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 2062 "CompressWhite.c"
+ }
+ }
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 2067 "CompressWhite.c"
+ }
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp348_ = ts;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ jsdoc_token_stream_rewind (_tmp348_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp349_ = g_strdup ("");
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outstr = _tmp349_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outoff = 0;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ while (TRUE) {
+#line 2081 "CompressWhite.c"
+ JSDOCToken* _tmp350_ = NULL;
+ gboolean _tmp351_;
+ JSDOCToken* _tmp356_;
+ JSDOCToken* _tmp357_;
+ JSDOCToken* _tmp358_;
+ JSDOCTokenType _tmp359_;
+ gboolean _tmp362_ = FALSE;
+ gboolean _tmp363_ = FALSE;
+ JSDOCToken* _tmp364_;
+ JSDOCTokenType _tmp365_;
+ const gchar* _tmp378_ = NULL;
+ JSDOCToken* _tmp379_;
+ const gchar* _tmp380_;
+ const gchar* _tmp385_;
+ gchar* _tmp386_;
+ gboolean _tmp387_ = FALSE;
+ gboolean _tmp388_ = FALSE;
+ JSDOCToken* _tmp389_;
+ JSDOCTokenName _tmp390_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp351_ = keepWhite;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp351_) {
+#line 2105 "CompressWhite.c"
+ JSDOCTokenStream* _tmp352_;
+ JSDOCToken* _tmp353_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp352_ = ts;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp353_ = jsdoc_token_stream_next (_tmp352_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp350_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp350_ = _tmp353_;
+#line 2116 "CompressWhite.c"
+ } else {
+ JSDOCTokenStream* _tmp354_;
+ JSDOCToken* _tmp355_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp354_ = ts;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp355_ = jsdoc_token_stream_nextTok (_tmp354_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp350_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp350_ = _tmp355_;
+#line 2128 "CompressWhite.c"
+ }
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp356_ = _g_object_ref0 (_tmp350_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ tok = _tmp356_;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp357_ = tok;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp357_ == NULL) {
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp350_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ break;
+#line 2144 "CompressWhite.c"
+ }
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp358_ = tok;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp359_ = _tmp358_->type;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp359_ == JSDOC_TOKEN_TYPE_COMM) {
+#line 2152 "CompressWhite.c"
+ JSDOCToken* _tmp360_;
+ gchar* _tmp361_;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp360_ = tok;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp361_ = g_strdup ("\n");
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (_tmp360_->outData);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp360_->outData = _tmp361_;
+#line 2163 "CompressWhite.c"
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp364_ = tok;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp365_ = _tmp364_->type;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp365_ == JSDOC_TOKEN_TYPE_NAME) {
+#line 2171 "CompressWhite.c"
+ JSDOCToken* _tmp366_;
+ JSDOCIdentifier* _tmp367_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp366_ = tok;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp367_ = _tmp366_->identifier;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp363_ = _tmp367_ != NULL;
+#line 2180 "CompressWhite.c"
+ } else {
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp363_ = FALSE;
+#line 2184 "CompressWhite.c"
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp363_) {
+#line 2188 "CompressWhite.c"
+ JSDOCToken* _tmp368_;
+ JSDOCIdentifier* _tmp369_;
+ const gchar* _tmp370_;
+ gint _tmp371_;
+ gint _tmp372_;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp368_ = tok;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp369_ = _tmp368_->identifier;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp370_ = _tmp369_->mungedValue;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp371_ = strlen (_tmp370_);
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp372_ = _tmp371_;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp362_ = _tmp372_ > 0;
+#line 2206 "CompressWhite.c"
+ } else {
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp362_ = FALSE;
+#line 2210 "CompressWhite.c"
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp362_) {
+#line 2214 "CompressWhite.c"
+ const gchar* _tmp373_;
+ JSDOCToken* _tmp374_;
+ JSDOCIdentifier* _tmp375_;
+ const gchar* _tmp376_;
+ gchar* _tmp377_;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp373_ = outstr;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp374_ = tok;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp375_ = _tmp374_->identifier;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp376_ = _tmp375_->mungedValue;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp377_ = g_strconcat (_tmp373_, _tmp376_, NULL);
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (outstr);
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outstr = _tmp377_;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp350_);
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ continue;
+#line 2238 "CompressWhite.c"
+ }
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp379_ = tok;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp380_ = _tmp379_->outData;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (g_strcmp0 (_tmp380_, "") != 0) {
+#line 2246 "CompressWhite.c"
+ JSDOCToken* _tmp381_;
+ const gchar* _tmp382_;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp381_ = tok;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp382_ = _tmp381_->outData;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp378_ = _tmp382_;
+#line 2255 "CompressWhite.c"
+ } else {
+ JSDOCToken* _tmp383_;
+ const gchar* _tmp384_;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp383_ = tok;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp384_ = _tmp383_->data;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp378_ = _tmp384_;
+#line 2265 "CompressWhite.c"
+ }
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp385_ = outstr;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp386_ = g_strconcat (_tmp385_, _tmp378_, NULL);
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (outstr);
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outstr = _tmp386_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp389_ = tok;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp390_ = _tmp389_->name;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp390_ == JSDOC_TOKEN_NAME_SEMICOLON) {
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp388_ = TRUE;
+#line 2283 "CompressWhite.c"
+ } else {
+ JSDOCToken* _tmp391_;
+ JSDOCTokenName _tmp392_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp391_ = tok;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp392_ = _tmp391_->name;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp388_ = _tmp392_ == JSDOC_TOKEN_NAME_RIGHT_CURLY;
+#line 2293 "CompressWhite.c"
+ }
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp388_) {
+#line 2297 "CompressWhite.c"
+ const gchar* _tmp393_;
+ gint _tmp394_;
+ gint _tmp395_;
+ gint _tmp396_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp393_ = outstr;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp394_ = strlen (_tmp393_);
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp395_ = _tmp394_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp396_ = outoff;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp387_ = (_tmp395_ - _tmp396_) > 255;
+#line 2312 "CompressWhite.c"
+ } else {
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp387_ = FALSE;
+#line 2316 "CompressWhite.c"
+ }
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ if (_tmp387_) {
+#line 2320 "CompressWhite.c"
+ const gchar* _tmp397_;
+ gint _tmp398_;
+ gint _tmp399_;
+ const gchar* _tmp400_;
+ gchar* _tmp401_;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp397_ = outstr;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp398_ = strlen (_tmp397_);
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp399_ = _tmp398_;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outoff = _tmp399_;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp400_ = outstr;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _tmp401_ = g_strconcat (_tmp400_, "\n", NULL);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_free0 (outstr);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ outstr = _tmp401_;
+#line 2342 "CompressWhite.c"
+ }
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (_tmp350_);
+#line 2346 "CompressWhite.c"
+ }
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ result = outstr;
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ _g_object_unref0 (tok);
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/CompressWhite.vala"
+ return result;
+#line 2354 "CompressWhite.c"
+}
+
+
+
--- /dev/null
+
+/**
+ *
+ * pack a javascript file, and return a shorter version!
+ *
+ * a bit picky at present with ; and crlf reading...
+ * @arg ts {TokenStream}
+ @arg packer {Packer}
+ */
+namespace JSDOC
+{
+ public errordomain CompressWhiteError {
+ BRACE
+ }
+
+ public string CompressWhite (TokenStream ts, Packer packer, bool keepWhite) // throws CompressWhiteError,TokenStreamError
+ {
+ //keepWhite = keepWhite || false;
+ ts.rewind();
+ //ts.dumpAllFlat(); GLib.Process.exit(1);
+
+ //var str = File.read(fn);
+ var rep_var = 1;
+
+
+
+ while (true) {
+ var tok = ts.next();
+ if (tok == null) {
+ break;
+ }
+ if (tok.type == TokenType.WHIT) {
+
+ continue;
+ //if (tok._isDoc) {
+ // continue;
+ //}
+ // just spaces, not \n!
+ //if (tok.data.indexOf("\n") < 0) {
+ // continue;
+ // }
+
+
+ }
+ if (tok.data == "}") {
+
+ if (ts.lookTok(0).type == TokenType.NAME && ts.look(1,true).name == TokenName.NEWLINE) {
+ ts.look(0,true).outData = ts.look(0,true).data+"\n";
+ }
+ // restore..
+
+ continue;
+ }
+ // add semi-colon's where linebreaks are used... - not foolproof yet.!
+ if (tok.type == TokenType.NAME) {
+ //var tokident = ts.look(-1).data + tok.data + ts.look(1).data + ts.look(2).data;
+ // a = new function() {}
+ if (ts.lookTok(1).data == "=" && ts.lookTok(2).name == TokenName.NEW &&
+ ts.lookTok(3).name == TokenName.FUNCTION) {
+ // freeze time..
+ var cu = ts.cursor;
+
+ ts.balance(TokenName.LEFT_PAREN); //"(");
+
+
+ ts.balance(TokenName.LEFT_CURLY); //"{");
+ // if next is not ';' -> make it so...
+
+ if (ts.lookTok(1).data != ";" && ts.lookTok(1).data != "}" && ts.lookTok(1).name == TokenName.NEWLINE) {
+ ts.look(0,true).outData = ts.lookTok(0).data +";";
+ }
+ // restore..
+ ts.cursor = cu;
+ continue;
+ }
+ // a = function() { ... -- add a semi colon a tthe end if not one there..
+
+ if (ts.lookTok(1).data == "=" && ts.lookTok(2).name == TokenName.FUNCTION) {
+ // freeze time..
+ //println("got = function() ");
+ tok = ts.nextTok();
+ tok = ts.nextTok();
+
+ //tok = ts.next();
+ var cu = ts.cursor;
+ //print("NEXT = should be brac: %s\n", ts.lookTok(1).asString());
+
+ //print("cursor = %d", ts.cursor);
+
+ if (ts.lookTok(1).data != "(" || ts.balance(TokenName.LEFT_PAREN /*"("*/).size < 1 ){
+ print("balance ( issue on line %d\n", ts.toArray().get(cu).line);
+ ts.dump(cu-40, cu+2);
+ print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+ ts.dump(cu+2, cu+40);
+
+ throw new CompressWhiteError.BRACE( "could not find end lbrace!!!" );
+ }
+ //print("cursor = %d", ts.cursor);
+ //print("CUR = should be ): %s\n", ts.lookTok(0).asString());
+
+ tok = ts.nextTok();
+ //print("CUR = should be {: %s\n", ts.lookTok(0).asString());
+ cu = ts.cursor; // set the cursor to here.. so the next bit of the code will check inside the method.
+
+ //print("cursor = %d", ts.cursor);
+ // print("AFTER BALANCE (");
+ //ts.dump(cu, ts.cursor);
+
+
+ ts.cursor--; // cursor at the (
+ if (tok.data != "{" || ts.balance(TokenName.LEFT_CURLY /*"("*/).size < 1 ){
+
+ ts.dump(cu-40, cu);
+ print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+ ts.dump(cu, cu+40);
+
+ throw new CompressWhiteError.BRACE( "could not find end lbrace!!!");
+ }
+ //print('FN: '+ts.tokens[cu].toString());
+ //print('F1: '+ts.lookTok(1).toString());
+ //print('F2: '+ts.look(1,true).toString());
+
+ // if next is not ';' -> make it so...
+ // although this var a=function(){},v,c; causes
+ if (ts.lookTok(1).data != ";" && ts.lookTok(1).data != "}" && ts.look(1,true).name == TokenName.NEWLINE) {
+
+ ts.look(0,true).outData = ts.look(0,true).data+";";
+ // print("ADDING SEMI: " + ts.look(0).toString());
+ //ts.dump(cu, ts.cursor+2);
+ }
+
+ //ts.dump(cu, ts.cursor+2);
+ // restore..
+ ts.cursor = cu;
+ continue;
+ }
+ // next item is a name..
+ if ((ts.lookTok(1).type == TokenType.NAME || ts.lookTok(1).type == TokenType.KEYW )
+ && ts.look(1,true).name == TokenName.NEWLINE) {
+ // preserve linebraek
+ ts.look(0,true).outData = ts.look(0,true).data+"\n";
+ }
+ // method call followed by name..
+ if (ts.lookTok(1).data == "(") {
+ var cu = ts.cursor;
+
+ ts.balance(TokenName.LEFT_PAREN); //"(");
+ // although this var a=function(){},v,c; causes
+
+ if (ts.lookTok(1).type == TokenType.NAME && ts.look(1,true).name == TokenName.NEWLINE) {
+
+ ts.look(0,true).outData = ts.look(0,true).data+"\n";
+ }
+ // restore..
+ ts.cursor = cu;
+ continue;
+ }
+
+
+ // function a () { ... };
+ /*
+ if (ts.look(-1).isTypeN(Script.TOKfunction) && ts.look(1).isTypeN(Script.TOKlparen)) {
+ // freeze time..
+ //println("got = function() ");
+ var cu = ts.cursor;
+
+ ts.balance("lparen");
+ ts.balance("lbrace");
+ // if next is not ';' -> make it so...
+ // although this var a=function(){},v,c; causes
+ if (!ts.look(1).isData(';') && !ts.look(1).isData('}') && ts.look(1,true).isLineBreak()) {
+ ts.cur().outData = ts.cur().data+";";
+ }
+ // restore..
+ ts.cursor = cu;
+ continue;
+ }
+ */
+
+ // a = { ....
+
+ if (ts.lookTok(1).data == "=" && ts.lookTok(2).data == "{") {
+ // freeze time..
+ //println("----------*** 3 *** --------------");
+ var cu = ts.cursor;
+ ;
+ if (ts.balance(TokenName.LEFT_CURLY /*"{" */).size < 1 ){
+
+ ts.dump(cu-40, cu);
+ print(">>>>>>>>>>>>>>>>>HERE>>>>>>>>>>>>");
+ ts.dump(cu, cu+40);
+
+ throw new CompressWhiteError.BRACE("could not find end lbrace!!!");
+ }
+ // if next is not ';' -> make it so...
+
+ if (ts.lookTok(1).data != ";" && ts.lookTok(1).data != "}" && ts.look(1,true).name==TokenName.NEWLINE) {
+ ts.look(0,true).outData = ts.look(0,true).data +";";
+ }
+ // restore..
+ ts.cursor = cu;
+ continue;
+ }
+
+ // any more??
+ // a = function(....) { }
+
+ }
+
+
+
+
+ //println("got Token: " + tok.type);
+
+
+
+ switch(tok.name) {
+ // things that need space appending
+ case TokenName.FUNCTION:
+ case TokenName.BREAK:
+ case TokenName.CONTINUE:
+ // if next item is a identifier..
+ if (ts.lookTok(1).type == TokenType.NAME || Regex.match_simple("^[a-z]+$", ts.lookTok(1).data, GLib.RegexCompileFlags.CASELESS) ) { // as include is a keyword for us!!
+ tok.outData = tok.data + " ";
+ }
+ continue;
+
+
+ case TokenName.RETURN: // if next item is not a semi; (or }
+ if (ts.lookTok(1).data == ";" || ts.lookTok(1).data == "}") {
+ continue;
+ }
+ tok.outData = tok.data + " ";
+
+ continue;
+
+
+ case TokenName.ELSE: // if next item is not a semi; (or }
+ if (ts.lookTok(1).name != TokenName.IF) {
+ continue;
+ }
+ // add a space if next element is 'IF'
+ tok.outData = tok.data + " ";
+ continue;
+
+ case TokenName.INCREMENT: //"++": // if previous was a plus or next is a + add a space..
+ case TokenName.DECREMENT: //"--": // if previous was a - or next is a - add a space..
+
+ var p = (tok.data == "--" ? "-" : "+");
+
+ if (ts.lookTok(1).data == p) {
+ tok.outData = tok.data + " ";
+ }
+ if (ts.lookTok(-1).data == p) {
+ tok.outData = " " + tok.data;
+
+ }
+ continue;
+
+ case TokenName.IN: // before and after??
+ case TokenName.INSTANCEOF:
+
+ tok.outData = " " + tok.data + " ";
+ continue;
+
+ case TokenName.VAR: // always after..
+ case TokenName.NEW:
+ case TokenName.DELETE:
+ case TokenName.THROW:
+ case TokenName.CASE:
+ case TokenName.CONST:
+ case TokenName.VOID:
+ tok.outData = tok.data + " ";
+
+ continue;
+
+ case TokenName.TYPEOF: // what about typeof(
+ if (ts.lookTok(1).data != "(") {
+ tok.outData = tok.data + " ";
+ }
+ continue;
+ case TokenName.SEMICOLON: //";":
+ //remove semicolon before brace --
+ //if(ts.look(1).isTypeN(Script.TOKrbrace)) {
+ // tok.outData = '';
+ // }
+ continue;
+
+ default:
+ continue;
+ }
+ }
+
+ ts.rewind();
+
+ // NOW OUTPUT THE THING.
+ //var f = new File(minfile, File.NEW);
+
+ var outstr = "";
+ var outoff = 0;
+ //try { out.length = ts.slen; } catch (e) {} // prealloc.
+
+
+ Token tok;
+ while (true) {
+
+ tok = keepWhite ? ts.next() : ts.nextTok();
+
+ if (tok == null) {
+ break;
+ }
+ if (tok.type == TokenType.COMM) {
+ tok.outData = "\n";
+ }
+
+ ///print(tok.type + ':' + tok.data);
+
+ if (tok.type == TokenType.NAME &&
+ tok.identifier != null &&
+ tok.identifier.mungedValue.length > 0) {
+ //f.write(tok.identifier.mungedValue);
+ //print("MUNGED: " + tok.identifier.mungedValue);
+ outstr += tok.identifier.mungedValue;
+ continue;
+ }
+
+ // at this point we can apply a text translation kit...
+ // NOT SUPPORTED..
+ //if ((tok.type == "STRN") && (tok.name== "DOUBLE_QUOTE")) {
+ // if (packer && packer.stringHandler) {
+ // outstr += packer.stringHandler(tok);
+ // continue;
+ // }
+ //}
+
+ outstr += tok.outData != "" ? tok.outData : tok.data;
+
+ if ((tok.name == TokenName.SEMICOLON || tok.name == TokenName.RIGHT_CURLY) && (outstr.length - outoff > 255)) {
+ outoff = outstr.length;
+ outstr += "\n";
+ }
+ }
+ //f.close();
+ /*
+ // remove the last ';' !!!
+ if (out.substring(out.length-1) == ';') {
+ return out.substring(0,out.length-1);
+ }
+ */
+ return outstr;
+
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/* DocBuilder.c generated by valac 0.36.6, the Vala compiler
+ * generated from DocBuilder.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <json-glib/json-glib.h>
+#include <gio/gio.h>
+#include <glib/gstdio.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+
+#define JSDOC_TYPE_DOC_BUILDER (jsdoc_doc_builder_get_type ())
+#define JSDOC_DOC_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilder))
+#define JSDOC_DOC_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilderClass))
+#define JSDOC_IS_DOC_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_BUILDER))
+#define JSDOC_IS_DOC_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_BUILDER))
+#define JSDOC_DOC_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilderClass))
+
+typedef struct _JSDOCDocBuilder JSDOCDocBuilder;
+typedef struct _JSDOCDocBuilderClass JSDOCDocBuilderClass;
+typedef struct _JSDOCDocBuilderPrivate JSDOCDocBuilderPrivate;
+
+#define JSDOC_TYPE_SYMBOL_SET (jsdoc_symbol_set_get_type ())
+#define JSDOC_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet))
+#define JSDOC_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+#define JSDOC_IS_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_IS_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_SYMBOL_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+
+typedef struct _JSDOCSymbolSet JSDOCSymbolSet;
+typedef struct _JSDOCSymbolSetClass JSDOCSymbolSetClass;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
+#define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL)))
+typedef struct _JSDOCPackerPrivate JSDOCPackerPrivate;
+
+#define JSDOC_TYPE_PACKER_RUN (jsdoc_packer_run_get_type ())
+#define JSDOC_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun))
+#define JSDOC_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+#define JSDOC_IS_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_IS_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_PACKER_RUN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+
+typedef struct _JSDOCPackerRun JSDOCPackerRun;
+typedef struct _JSDOCPackerRunClass JSDOCPackerRunClass;
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_READER (jsdoc_token_reader_get_type ())
+#define JSDOC_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader))
+#define JSDOC_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+#define JSDOC_IS_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_IS_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_TOKEN_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+
+typedef struct _JSDOCTokenReader JSDOCTokenReader;
+typedef struct _JSDOCTokenReaderClass JSDOCTokenReaderClass;
+typedef struct _JSDOCTokenReaderPrivate JSDOCTokenReaderPrivate;
+
+#define JSDOC_TYPE_TOKEN_ARRAY (jsdoc_token_array_get_type ())
+#define JSDOC_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray))
+#define JSDOC_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+#define JSDOC_IS_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_IS_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_TOKEN_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+
+typedef struct _JSDOCTokenArray JSDOCTokenArray;
+typedef struct _JSDOCTokenArrayClass JSDOCTokenArrayClass;
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+typedef struct _JSDOCPackerRunPrivate JSDOCPackerRunPrivate;
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+typedef struct _JSDOCTokenArrayPrivate JSDOCTokenArrayPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
+#define __vala_JsonNode_free0(var) ((var == NULL) ? NULL : (var = (_vala_JsonNode_free (var), NULL)))
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+
+struct _JSDOCDocBuilder {
+ GObject parent_instance;
+ JSDOCDocBuilderPrivate * priv;
+ gchar* VERSION;
+};
+
+struct _JSDOCDocBuilderClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCDocBuilderPrivate {
+ JSDOCSymbolSet* symbolSet;
+ JSDOCPacker* packer;
+ gchar* tempdir;
+ GeeHashMap* class_tree_map;
+ JsonArray* class_tree_top;
+};
+
+struct _JSDOCPacker {
+ GObject parent_instance;
+ JSDOCPackerPrivate * priv;
+ GeeArrayList* files;
+ gchar* activeFile;
+ gchar* outstr;
+ JSDOCPackerRun* config;
+ JsonObject* result;
+};
+
+struct _JSDOCPackerClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenReader {
+ GObject parent_instance;
+ JSDOCTokenReaderPrivate * priv;
+ gboolean collapseWhite;
+ gboolean keepDocs;
+ gboolean keepWhite;
+ gboolean keepComments;
+ gboolean sepIdents;
+ gchar* filename;
+ gboolean ignoreBadGrammer;
+};
+
+struct _JSDOCTokenReaderClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCPackerRun {
+ GApplication parent_instance;
+ JSDOCPackerRunPrivate * priv;
+ gchar* opt_target;
+ gchar* opt_debug_target;
+ gchar* opt_real_basedir;
+ gchar* opt_doc_target;
+ gchar* opt_doc_template_dir;
+ gboolean opt_doc_include_private;
+ gboolean opt_debug;
+ gboolean opt_skip_scope;
+ gboolean opt_keep_whitespace;
+ gboolean opt_dump_tokens;
+ gboolean opt_clean_cache;
+ gchar* opt_doc_ext;
+};
+
+struct _JSDOCPackerRunClass {
+ GApplicationClass parent_class;
+};
+
+struct _JSDOCTokenArray {
+ GObject parent_instance;
+ JSDOCTokenArrayPrivate * priv;
+ GeeArrayList* tokens;
+};
+
+struct _JSDOCTokenArrayClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCSymbol {
+ GObject parent_instance;
+ JSDOCSymbolPrivate * priv;
+ GeeArrayList* augments;
+ GeeArrayList* methods;
+ GeeArrayList* properties;
+ GeeArrayList* returns;
+ GeeArrayList* childClasses;
+ GeeArrayList* inheritsFrom;
+ GeeHashMap* cfgs;
+ JSDOCDocComment* comment;
+ gchar* alias;
+ gchar* desc;
+ gchar* isa;
+ gboolean isEvent;
+ gboolean isConstant;
+ gboolean isIgnored;
+ gboolean isInner;
+ gboolean isNamespace;
+ gboolean isPrivate;
+ gboolean isStatic;
+ gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_DOC_TAG_TITLE_NO_VALUE,
+ JSDOC_DOC_TAG_TITLE_PARAM,
+ JSDOC_DOC_TAG_TITLE_PROPERTY,
+ JSDOC_DOC_TAG_TITLE_CFG,
+ JSDOC_DOC_TAG_TITLE_EXAMPLE,
+ JSDOC_DOC_TAG_TITLE_SINGLETON,
+ JSDOC_DOC_TAG_TITLE_AUTHOR,
+ JSDOC_DOC_TAG_TITLE_METHOD,
+ JSDOC_DOC_TAG_TITLE_DESC,
+ JSDOC_DOC_TAG_TITLE_OVERVIEW,
+ JSDOC_DOC_TAG_TITLE_SINCE,
+ JSDOC_DOC_TAG_TITLE_CONSTANT,
+ JSDOC_DOC_TAG_TITLE_VERSION,
+ JSDOC_DOC_TAG_TITLE_DEPRECATED,
+ JSDOC_DOC_TAG_TITLE_SEE,
+ JSDOC_DOC_TAG_TITLE_CLASS,
+ JSDOC_DOC_TAG_TITLE_NAMESPACE,
+ JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+ JSDOC_DOC_TAG_TITLE_STATIC,
+ JSDOC_DOC_TAG_TITLE_INNER,
+ JSDOC_DOC_TAG_TITLE_FIELD,
+ JSDOC_DOC_TAG_TITLE_FUNCTION,
+ JSDOC_DOC_TAG_TITLE_EVENT,
+ JSDOC_DOC_TAG_TITLE_NAME,
+ JSDOC_DOC_TAG_TITLE_RETURN,
+ JSDOC_DOC_TAG_TITLE_THROWS,
+ JSDOC_DOC_TAG_TITLE_REQUIRES,
+ JSDOC_DOC_TAG_TITLE_TYPE,
+ JSDOC_DOC_TAG_TITLE_PRIVATE,
+ JSDOC_DOC_TAG_TITLE_IGNORE,
+ JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+ JSDOC_DOC_TAG_TITLE_EXTENDS,
+ JSDOC_DOC_TAG_TITLE_DEFAULT,
+ JSDOC_DOC_TAG_TITLE_MEMBEROF,
+ JSDOC_DOC_TAG_TITLE_PUBLIC,
+ JSDOC_DOC_TAG_TITLE_SCOPE,
+ JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+struct _JSDOCDocTag {
+ GObject parent_instance;
+ JSDOCDocTagPrivate * priv;
+ JSDOCDocTagTitle title;
+ gchar* type;
+ gchar* name;
+ gboolean isOptional;
+ gchar* defaultValue;
+ gchar* desc;
+ GeeArrayList* optvalues;
+ gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_doc_builder_parent_class = NULL;
+
+GType jsdoc_doc_builder_get_type (void) G_GNUC_CONST;
+GType jsdoc_symbol_set_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+#define JSDOC_DOC_BUILDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilderPrivate))
+enum {
+ JSDOC_DOC_BUILDER_DUMMY_PROPERTY
+};
+JSDOCDocBuilder* jsdoc_doc_builder_new (JSDOCPacker* p);
+JSDOCDocBuilder* jsdoc_doc_builder_construct (GType object_type, JSDOCPacker* p);
+static void jsdoc_doc_builder_parseSrcFiles (JSDOCDocBuilder* self);
+JSDOCSymbolSet* jsdoc_doc_parser_symbols (void);
+static void jsdoc_doc_builder_publish (JSDOCDocBuilder* self);
+GType jsdoc_packer_run_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_reader_get_type (void) G_GNUC_CONST;
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer);
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer);
+GType jsdoc_token_array_get_type (void) G_GNUC_CONST;
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream);
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text);
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text);
+JSDOCPackerRun* jsdoc_packer_run_singleton (void);
+void jsdoc_token_array_dump (JSDOCTokenArray* self);
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+void jsdoc_doc_parser_parse (JSDOCTokenStream* ts, const gchar* srcFile);
+void jsdoc_doc_parser_finish (void);
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_symbol_set_values (JSDOCSymbolSet* self);
+static void jsdoc_doc_builder_makeSrcFile (JSDOCDocBuilder* self, const gchar* sourceFile);
+gboolean jsdoc_symbol_isaClass (JSDOCSymbol* self);
+static gint __lambda10_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b);
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+static gint ___lambda10__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
+static JsonObject* jsdoc_doc_builder_class_to_json (JSDOCDocBuilder* self, JSDOCSymbol* cls);
+static void jsdoc_doc_builder_writeJson (JSDOCDocBuilder* self, JsonGenerator* g, const gchar* fname);
+static JsonObject* jsdoc_doc_builder_publishJSON (JSDOCDocBuilder* self, JSDOCSymbol* data);
+static void _vala_JsonNode_free (JsonNode* self);
+static JsonArray* jsdoc_doc_builder_class_tree (JSDOCDocBuilder* self, GeeArrayList* classes);
+JSDOCSymbol* jsdoc_symbol_set_getSymbol (JSDOCSymbolSet* self, const gchar* alias);
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+gboolean jsdoc_symbol_isBuiltin (JSDOCSymbol* self);
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self);
+gchar* jsdoc_doc_comment_getTagAsString (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+JsonArray* jsdoc_symbol_paramsToJson (JSDOCSymbol* self);
+GeeArrayList* jsdoc_symbol_configToArray (JSDOCSymbol* self);
+JsonArray* jsdoc_doc_tag_optvalue_as_json_array (JSDOCDocTag* self);
+JsonArray* jsdoc_symbol_returnsToJson (JSDOCSymbol* self);
+static gint ___lambda11_ (JSDOCDocBuilder* self, JSDOCDocTag* a, JSDOCDocTag* b);
+static gint ____lambda11__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
+static gint __lambda12_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b);
+static gint ___lambda12__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
+gchar* jsdoc_symbol_makeFuncSkel (JSDOCSymbol* self);
+static gint __lambda13_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b);
+static gint ___lambda13__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self);
+gchar* jsdoc_symbol_makeMethodSkel (JSDOCSymbol* self);
+static JsonObject* jsdoc_doc_builder_class_tree_new_obj (JSDOCDocBuilder* self, const gchar* name, gboolean is_class, gboolean* is_new);
+static void jsdoc_doc_builder_class_tree_make_parents (JSDOCDocBuilder* self, JsonObject* add);
+static void _vala_array_add8 (gchar** * array, int* length, int* size, gchar* value);
+static gchar* jsdoc_doc_builder_srcFileRelName (JSDOCDocBuilder* self, const gchar* sourceFile);
+static gchar* jsdoc_doc_builder_srcFileFlatName (JSDOCDocBuilder* self, const gchar* sourceFile);
+gchar* jsdoc_pretty_print_toPretty (const gchar* str);
+static void jsdoc_doc_builder_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static GRegex* _tmp_regex_0 = NULL;
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 398 "DocBuilder.c"
+}
+
+
+JSDOCDocBuilder* jsdoc_doc_builder_construct (GType object_type, JSDOCPacker* p) {
+ JSDOCDocBuilder * self = NULL;
+ GDateTime* _tmp0_;
+ GDateTime* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ JSDOCPacker* _tmp4_;
+ JSDOCPacker* _tmp5_;
+ JSDOCSymbolSet* _tmp6_;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (p != NULL, NULL);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self = (JSDOCDocBuilder*) g_object_new (object_type, NULL);
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = g_date_time_new_now_local ();
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = _tmp0_;
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = g_date_time_format (_tmp1_, "Y/m/d H:i:s");
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_;
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:22: Roo JsDoc Toolkit started at %s ", _tmp3_);
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp3_);
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_date_time_unref0 (_tmp1_);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = p;
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _g_object_ref0 (_tmp4_);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv->packer = _tmp5_;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_parseSrcFiles (self);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = jsdoc_doc_parser_symbols ();
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->symbolSet);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv->symbolSet = _tmp6_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_publish (self);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return self;
+#line 449 "DocBuilder.c"
+}
+
+
+JSDOCDocBuilder* jsdoc_doc_builder_new (JSDOCPacker* p) {
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return jsdoc_doc_builder_construct (JSDOC_TYPE_DOC_BUILDER, p);
+#line 456 "DocBuilder.c"
+}
+
+
+/**
+ * Parse the source files.
+ *
+ */
+static void jsdoc_doc_builder_parseSrcFiles (JSDOCDocBuilder* self) {
+ GError * _inner_error_ = NULL;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (self != NULL);
+#line 468 "DocBuilder.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ JSDOCPacker* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _tmp2_;
+ gint _tmp3_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = self->priv->packer;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = _tmp0_->files;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ l = _tmp3_;
+#line 488 "DocBuilder.c"
+ {
+ gboolean _tmp4_ = FALSE;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = TRUE;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 495 "DocBuilder.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gchar* srcFile = NULL;
+ JSDOCPacker* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ const gchar* _tmp12_;
+ gchar* src = NULL;
+ gchar* _tmp13_;
+ JSDOCTokenReader* tr = NULL;
+ JSDOCPacker* _tmp20_;
+ JSDOCTokenReader* _tmp21_;
+ JSDOCTokenReader* _tmp22_;
+ JSDOCTokenReader* _tmp23_;
+ JSDOCTokenReader* _tmp24_;
+ JSDOCTokenReader* _tmp25_;
+ JSDOCTokenReader* _tmp26_;
+ JSDOCTokenReader* _tmp27_;
+ const gchar* _tmp28_;
+ gchar* _tmp29_;
+ JSDOCTokenArray* toks = NULL;
+ JSDOCTokenReader* _tmp30_;
+ const gchar* _tmp31_;
+ JSDOCTextStream* _tmp32_;
+ JSDOCTextStream* _tmp33_;
+ JSDOCTokenArray* _tmp34_;
+ JSDOCTokenArray* _tmp35_;
+ JSDOCPackerRun* _tmp36_;
+ JSDOCPackerRun* _tmp37_;
+ gboolean _tmp38_;
+ gboolean _tmp39_;
+ JSDOCTokenStream* ts = NULL;
+ JSDOCTokenArray* _tmp41_;
+ GeeArrayList* _tmp42_;
+ JSDOCTokenStream* _tmp43_;
+ JSDOCTokenStream* _tmp44_;
+ const gchar* _tmp45_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp4_) {
+#line 536 "DocBuilder.c"
+ gint _tmp5_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = i;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp5_ + 1;
+#line 542 "DocBuilder.c"
+ }
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = FALSE;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = i;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = l;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 554 "DocBuilder.c"
+ }
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = self->priv->packer;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = _tmp8_->files;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = i;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ srcFile = (gchar*) _tmp11_;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = srcFile;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:60: Parsing source File: %s", _tmp12_);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = g_strdup ("");
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ src = _tmp13_;
+#line 574 "DocBuilder.c"
+ {
+ const gchar* _tmp14_;
+ const gchar* _tmp15_;
+ gchar* _tmp16_ = NULL;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = srcFile;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:98: reading : %s", _tmp14_);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = srcFile;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp15_, &_tmp16_, NULL, &_inner_error_);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ src = _tmp16_;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_inner_error_->domain == G_FILE_ERROR) {
+#line 595 "DocBuilder.c"
+ goto __catch4_g_file_error;
+ }
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (srcFile);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 608 "DocBuilder.c"
+ }
+ }
+ goto __finally4;
+ __catch4_g_file_error:
+ {
+ GError* e = NULL;
+ const gchar* _tmp17_;
+ GError* _tmp18_;
+ const gchar* _tmp19_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ e = _inner_error_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _inner_error_ = NULL;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = srcFile;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = e;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = _tmp18_->message;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:102: Can't read source file '%s': %s", _tmp17_, _tmp19_);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_error_free0 (e);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (srcFile);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 638 "DocBuilder.c"
+ }
+ __finally4:
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (srcFile);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 653 "DocBuilder.c"
+ }
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = self->priv->packer;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = jsdoc_token_reader_new (_tmp20_);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ tr = _tmp21_;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = tr;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_->keepDocs = TRUE;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = tr;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_->keepWhite = TRUE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = tr;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_->keepComments = TRUE;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = tr;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_->sepIdents = FALSE;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = tr;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_->collapseWhite = FALSE;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = tr;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = src;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = g_strdup (_tmp28_);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp27_->filename);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_->filename = _tmp29_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp30_ = tr;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = src;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = jsdoc_text_stream_new (_tmp31_);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = _tmp32_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = jsdoc_token_reader_tokenize (_tmp30_, _tmp33_);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = _tmp34_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp33_);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ toks = _tmp35_;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp36_ = jsdoc_packer_run_singleton ();
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp37_ = _tmp36_;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp38_ = _tmp37_->opt_dump_tokens;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp39_ = _tmp38_;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp37_);
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp39_) {
+#line 719 "DocBuilder.c"
+ JSDOCTokenArray* _tmp40_;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp40_ = toks;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_token_array_dump (_tmp40_);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (toks);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (tr);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (srcFile);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 735 "DocBuilder.c"
+ }
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp41_ = toks;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp42_ = _tmp41_->tokens;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp43_ = jsdoc_token_stream_new (_tmp42_);
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ts = _tmp43_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp44_ = ts;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp45_ = srcFile;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_parser_parse (_tmp44_, _tmp45_);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (ts);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (toks);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (tr);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (src);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (srcFile);
+#line 761 "DocBuilder.c"
+ }
+ }
+ }
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_parser_finish ();
+#line 767 "DocBuilder.c"
+}
+
+
+static gint __lambda10_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b) {
+ gint result = 0;
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ JSDOCSymbol* _tmp2_;
+ const gchar* _tmp3_;
+ gint _tmp4_;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (a != NULL, 0);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (b != NULL, 0);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = a;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = _tmp0_->alias;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = b;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_->alias;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = g_utf8_collate (_tmp1_, _tmp3_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp4_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 796 "DocBuilder.c"
+}
+
+
+static gint ___lambda10__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
+ gint result;
+ result = __lambda10_ ((JSDOCDocBuilder*) self, (JSDOCSymbol*) a, (JSDOCSymbol*) b);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 805 "DocBuilder.c"
+}
+
+
+static void _vala_JsonNode_free (JsonNode* self) {
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_boxed_free (json_node_get_type (), self);
+#line 812 "DocBuilder.c"
+}
+
+
+static void jsdoc_doc_builder_publish (JSDOCDocBuilder* self) {
+ gchar* _tmp0_ = NULL;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ JSDOCPackerRun* _tmp3_;
+ JSDOCPackerRun* _tmp4_;
+ const gchar* _tmp5_;
+ gboolean _tmp6_;
+ gboolean _tmp7_;
+ JSDOCPackerRun* _tmp11_;
+ JSDOCPackerRun* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+ gboolean _tmp16_;
+ gboolean _tmp17_;
+ JSDOCPackerRun* _tmp23_;
+ JSDOCPackerRun* _tmp24_;
+ const gchar* _tmp25_;
+ gchar* _tmp26_;
+ gchar* _tmp27_;
+ gboolean _tmp28_;
+ gboolean _tmp29_;
+ JSDOCPackerRun* _tmp35_;
+ JSDOCPackerRun* _tmp36_;
+ const gchar* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ gboolean _tmp40_;
+ gboolean _tmp41_;
+ JSDOCPackerRun* _tmp47_;
+ JSDOCPackerRun* _tmp48_;
+ const gchar* _tmp49_;
+ JSDOCPackerRun* _tmp50_;
+ JSDOCPackerRun* _tmp51_;
+ const gchar* _tmp52_;
+ gboolean _tmp53_;
+ GeeArrayList* symbols = NULL;
+ JSDOCSymbolSet* _tmp94_;
+ GeeArrayList* _tmp95_;
+ GeeArrayList* files = NULL;
+ JSDOCPacker* _tmp96_;
+ GeeArrayList* _tmp97_;
+ GeeArrayList* _tmp98_;
+ GeeArrayList* classes = NULL;
+ GeeArrayList* _tmp110_;
+ GeeArrayList* _tmp126_;
+ JsonObject* jsonAll = NULL;
+ JsonObject* _tmp127_;
+ JsonGenerator* class_tree_gen = NULL;
+ JsonGenerator* _tmp179_;
+ JsonNode* class_tree_root = NULL;
+ JsonNode* _tmp180_;
+ JsonNode* _tmp181_;
+ GeeArrayList* _tmp182_;
+ JsonArray* _tmp183_;
+ JsonArray* _tmp184_;
+ JsonGenerator* _tmp185_;
+ JsonNode* _tmp186_;
+ JsonGenerator* _tmp187_;
+ JsonGenerator* _tmp188_;
+ JSDOCPackerRun* _tmp189_;
+ JSDOCPackerRun* _tmp190_;
+ const gchar* _tmp191_;
+ gchar* _tmp192_;
+ gchar* _tmp193_;
+ JsonGenerator* _tmp194_;
+ JSDOCPackerRun* _tmp195_;
+ JSDOCPackerRun* _tmp196_;
+ const gchar* _tmp197_;
+ gchar* _tmp198_;
+ gchar* _tmp199_;
+ gsize class_tree_l = 0UL;
+ JsonGenerator* generator = NULL;
+ JsonGenerator* _tmp200_;
+ JsonNode* root = NULL;
+ JsonNode* _tmp201_;
+ JsonNode* _tmp202_;
+ JsonObject* _tmp203_;
+ JsonGenerator* _tmp204_;
+ JsonNode* _tmp205_;
+ JsonGenerator* _tmp206_;
+ JsonGenerator* _tmp207_;
+ JSDOCPackerRun* _tmp208_;
+ JSDOCPackerRun* _tmp209_;
+ const gchar* _tmp210_;
+ gchar* _tmp211_;
+ gchar* _tmp212_;
+ JsonGenerator* _tmp213_;
+ JSDOCPackerRun* _tmp214_;
+ JSDOCPackerRun* _tmp215_;
+ const gchar* _tmp216_;
+ gchar* _tmp217_;
+ gchar* _tmp218_;
+ gsize l = 0UL;
+ GError * _inner_error_ = NULL;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (self != NULL);
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:221: Publishing");
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = g_dir_make_tmp ("roopackerXXXXXX", &_inner_error_);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = _tmp1_;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 928 "DocBuilder.c"
+ }
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = _tmp0_;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = NULL;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (self->priv->tempdir);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv->tempdir = _tmp2_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:226: Making directories");
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = jsdoc_packer_run_singleton ();
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = _tmp3_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _tmp4_->opt_doc_target;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = g_file_test (_tmp5_, G_FILE_TEST_IS_DIR);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = !_tmp6_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp4_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp7_) {
+#line 954 "DocBuilder.c"
+ JSDOCPackerRun* _tmp8_;
+ JSDOCPackerRun* _tmp9_;
+ const gchar* _tmp10_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = jsdoc_packer_run_singleton ();
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = _tmp8_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = _tmp9_->opt_doc_target;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ mkdir (_tmp10_, (mode_t) 0755);
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp9_);
+#line 968 "DocBuilder.c"
+ }
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = jsdoc_packer_run_singleton ();
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = _tmp11_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = _tmp12_->opt_doc_target;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = g_strconcat (_tmp13_, "/symbols", NULL);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = _tmp14_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = g_file_test (_tmp15_, G_FILE_TEST_IS_DIR);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = !_tmp16_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp15_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp12_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp17_) {
+#line 990 "DocBuilder.c"
+ JSDOCPackerRun* _tmp18_;
+ JSDOCPackerRun* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = jsdoc_packer_run_singleton ();
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = _tmp18_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = _tmp19_->opt_doc_target;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = g_strconcat (_tmp20_, "/symbols", NULL);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = _tmp21_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ mkdir (_tmp22_, (mode_t) 0755);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp22_);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp19_);
+#line 1012 "DocBuilder.c"
+ }
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = jsdoc_packer_run_singleton ();
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = _tmp23_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = _tmp24_->opt_doc_target;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = g_strconcat (_tmp25_, "/src", NULL);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = _tmp26_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = g_file_test (_tmp27_, G_FILE_TEST_IS_DIR);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = !_tmp28_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp27_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp24_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp29_) {
+#line 1034 "DocBuilder.c"
+ JSDOCPackerRun* _tmp30_;
+ JSDOCPackerRun* _tmp31_;
+ const gchar* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp30_ = jsdoc_packer_run_singleton ();
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = _tmp30_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = _tmp31_->opt_doc_target;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = g_strconcat (_tmp32_, "/src", NULL);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = _tmp33_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ mkdir (_tmp34_, (mode_t) 0755);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp34_);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp31_);
+#line 1056 "DocBuilder.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = jsdoc_packer_run_singleton ();
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp36_ = _tmp35_;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp37_ = _tmp36_->opt_doc_target;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp38_ = g_strconcat (_tmp37_, "/json", NULL);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp39_ = _tmp38_;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp40_ = g_file_test (_tmp39_, G_FILE_TEST_IS_DIR);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp41_ = !_tmp40_;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp39_);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp36_);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp41_) {
+#line 1078 "DocBuilder.c"
+ JSDOCPackerRun* _tmp42_;
+ JSDOCPackerRun* _tmp43_;
+ const gchar* _tmp44_;
+ gchar* _tmp45_;
+ gchar* _tmp46_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp42_ = jsdoc_packer_run_singleton ();
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp43_ = _tmp42_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp44_ = _tmp43_->opt_doc_target;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp45_ = g_strconcat (_tmp44_, "/json", NULL);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp46_ = _tmp45_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ mkdir (_tmp46_, (mode_t) 0755);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp46_);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp43_);
+#line 1100 "DocBuilder.c"
+ }
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp47_ = jsdoc_packer_run_singleton ();
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp48_ = _tmp47_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp49_ = _tmp48_->opt_doc_template_dir;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:240: Copying files from static: %s ", _tmp49_);
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp48_);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp50_ = jsdoc_packer_run_singleton ();
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp51_ = _tmp50_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp52_ = _tmp51_->opt_doc_template_dir;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp53_ = _tmp52_ != NULL;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp51_);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp53_) {
+#line 1124 "DocBuilder.c"
+ GFileEnumerator* iter = NULL;
+ JSDOCPackerRun* _tmp54_;
+ JSDOCPackerRun* _tmp55_;
+ const gchar* _tmp56_;
+ gchar* _tmp57_;
+ gchar* _tmp58_;
+ GFile* _tmp59_;
+ GFile* _tmp60_;
+ GFileEnumerator* _tmp61_;
+ GFileEnumerator* _tmp62_;
+ GFileInfo* info = NULL;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp54_ = jsdoc_packer_run_singleton ();
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp55_ = _tmp54_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp56_ = _tmp55_->opt_doc_template_dir;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp57_ = g_strconcat (_tmp56_, "/static", NULL);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp58_ = _tmp57_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp59_ = g_file_new_for_path (_tmp58_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp60_ = _tmp59_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp61_ = g_file_enumerate_children (_tmp60_, "standard::*", G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, NULL, &_inner_error_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp62_ = _tmp61_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp60_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp58_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp55_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ iter = _tmp62_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp0_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 1172 "DocBuilder.c"
+ }
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 1176 "DocBuilder.c"
+ GFileInfo* _tmp63_ = NULL;
+ GFileEnumerator* _tmp64_;
+ GFileInfo* _tmp65_;
+ GFileInfo* _tmp66_;
+ GFileInfo* _tmp67_;
+ GFileInfo* _tmp68_;
+ GFileType _tmp69_;
+ GFile* src = NULL;
+ GFileInfo* _tmp70_;
+ const gchar* _tmp71_;
+ GFile* _tmp72_;
+ GFileInfo* _tmp73_;
+ const gchar* _tmp74_;
+ JSDOCPackerRun* _tmp75_;
+ JSDOCPackerRun* _tmp76_;
+ const gchar* _tmp77_;
+ GFile* _tmp78_;
+ gchar* _tmp79_;
+ gchar* _tmp80_;
+ GFile* _tmp81_;
+ JSDOCPackerRun* _tmp82_;
+ JSDOCPackerRun* _tmp83_;
+ const gchar* _tmp84_;
+ gchar* _tmp85_;
+ gchar* _tmp86_;
+ GFile* _tmp87_;
+ gchar* _tmp88_;
+ gchar* _tmp89_;
+ gchar* _tmp90_;
+ gchar* _tmp91_;
+ GFile* _tmp92_;
+ GFile* _tmp93_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp64_ = iter;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp65_ = g_file_enumerator_next_file (_tmp64_, NULL, &_inner_error_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp63_ = _tmp65_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (info);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (iter);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp0_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 1229 "DocBuilder.c"
+ }
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp66_ = _tmp63_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp63_ = NULL;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (info);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ info = _tmp66_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp67_ = info;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp67_ != NULL)) {
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp63_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 1247 "DocBuilder.c"
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp68_ = info;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp69_ = g_file_info_get_file_type (_tmp68_);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp69_ == G_FILE_TYPE_DIRECTORY) {
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp63_);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 1259 "DocBuilder.c"
+ }
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp70_ = info;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp71_ = g_file_info_get_name (_tmp70_);
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp72_ = g_file_new_for_path (_tmp71_);
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ src = _tmp72_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp73_ = info;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp74_ = g_file_info_get_name (_tmp73_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp75_ = jsdoc_packer_run_singleton ();
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp76_ = _tmp75_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp77_ = _tmp76_->opt_doc_target;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp78_ = src;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp79_ = g_file_get_basename (_tmp78_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp80_ = _tmp79_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:258: Copy %s to %s/%s", _tmp74_, _tmp77_, _tmp80_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp80_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp76_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp81_ = src;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp82_ = jsdoc_packer_run_singleton ();
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp83_ = _tmp82_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp84_ = _tmp83_->opt_doc_target;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp85_ = g_strconcat (_tmp84_, "/", NULL);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp86_ = _tmp85_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp87_ = src;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp88_ = g_file_get_basename (_tmp87_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp89_ = _tmp88_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp90_ = g_strconcat (_tmp86_, _tmp89_, NULL);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp91_ = _tmp90_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp92_ = g_file_new_for_path (_tmp91_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp93_ = _tmp92_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_copy (_tmp81_, _tmp93_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp93_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp91_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp89_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp86_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp83_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (src);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp63_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (info);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (iter);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp0_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 1347 "DocBuilder.c"
+ }
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (src);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp63_);
+#line 1353 "DocBuilder.c"
+ }
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (info);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (iter);
+#line 1359 "DocBuilder.c"
+ }
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:271: Setting up templates");
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp94_ = self->priv->symbolSet;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp95_ = jsdoc_symbol_set_values (_tmp94_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ symbols = _tmp95_;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp96_ = self->priv->packer;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp97_ = _tmp96_->files;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp98_ = _g_object_ref0 (_tmp97_);
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ files = _tmp98_;
+#line 1377 "DocBuilder.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp99_;
+ gint _tmp100_;
+ gint _tmp101_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp99_ = files;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp100_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp99_);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp101_ = _tmp100_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ l = _tmp101_;
+#line 1394 "DocBuilder.c"
+ {
+ gboolean _tmp102_ = FALSE;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp102_ = TRUE;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 1401 "DocBuilder.c"
+ gint _tmp104_;
+ gint _tmp105_;
+ gchar* file = NULL;
+ GeeArrayList* _tmp106_;
+ gint _tmp107_;
+ gpointer _tmp108_;
+ const gchar* _tmp109_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp102_) {
+#line 1411 "DocBuilder.c"
+ gint _tmp103_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp103_ = i;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp103_ + 1;
+#line 1417 "DocBuilder.c"
+ }
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp102_ = FALSE;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp104_ = i;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp105_ = l;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp104_ < _tmp105_)) {
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 1429 "DocBuilder.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp106_ = files;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp107_ = i;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp108_ = gee_abstract_list_get ((GeeAbstractList*) _tmp106_, _tmp107_);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ file = (gchar*) _tmp108_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp109_ = file;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_makeSrcFile (self, _tmp109_);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (file);
+#line 1445 "DocBuilder.c"
+ }
+ }
+ }
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp110_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ classes = _tmp110_;
+#line 1453 "DocBuilder.c"
+ {
+ GeeArrayList* _symbol_list = NULL;
+ GeeArrayList* _tmp111_;
+ GeeArrayList* _tmp112_;
+ gint _symbol_size = 0;
+ GeeArrayList* _tmp113_;
+ gint _tmp114_;
+ gint _tmp115_;
+ gint _symbol_index = 0;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp111_ = symbols;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp112_ = _g_object_ref0 (_tmp111_);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _symbol_list = _tmp112_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp113_ = _symbol_list;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp114_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp113_);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp115_ = _tmp114_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _symbol_size = _tmp115_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _symbol_index = -1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 1481 "DocBuilder.c"
+ gint _tmp116_;
+ gint _tmp117_;
+ gint _tmp118_;
+ JSDOCSymbol* symbol = NULL;
+ GeeArrayList* _tmp119_;
+ gint _tmp120_;
+ gpointer _tmp121_;
+ JSDOCSymbol* _tmp122_;
+ gboolean _tmp123_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp116_ = _symbol_index;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _symbol_index = _tmp116_ + 1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp117_ = _symbol_index;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp118_ = _symbol_size;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp117_ < _tmp118_)) {
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 1503 "DocBuilder.c"
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp119_ = _symbol_list;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp120_ = _symbol_index;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp121_ = gee_abstract_list_get ((GeeAbstractList*) _tmp119_, _tmp120_);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ symbol = (JSDOCSymbol*) _tmp121_;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp122_ = symbol;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp123_ = jsdoc_symbol_isaClass (_tmp122_);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp123_) {
+#line 1519 "DocBuilder.c"
+ GeeArrayList* _tmp124_;
+ JSDOCSymbol* _tmp125_;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp124_ = classes;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp125_ = symbol;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp124_, _tmp125_);
+#line 1528 "DocBuilder.c"
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (symbol);
+#line 1532 "DocBuilder.c"
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_symbol_list);
+#line 1536 "DocBuilder.c"
+ }
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp126_ = classes;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_list_sort ((GeeList*) _tmp126_, ___lambda10__gcompare_data_func, g_object_ref (self), g_object_unref);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:300: iterate classes");
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp127_ = json_object_new ();
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsonAll = _tmp127_;
+#line 1548 "DocBuilder.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp128_;
+ gint _tmp129_;
+ gint _tmp130_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp128_ = classes;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp129_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp128_);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp130_ = _tmp129_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ l = _tmp130_;
+#line 1565 "DocBuilder.c"
+ {
+ gboolean _tmp131_ = FALSE;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp131_ = TRUE;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 1572 "DocBuilder.c"
+ gint _tmp133_;
+ gint _tmp134_;
+ JSDOCSymbol* symbol = NULL;
+ GeeArrayList* _tmp135_;
+ gint _tmp136_;
+ gpointer _tmp137_;
+ gchar* output = NULL;
+ gchar* _tmp138_;
+ JSDOCSymbol* _tmp139_;
+ const gchar* _tmp140_;
+ JsonGenerator* class_gen = NULL;
+ JsonGenerator* _tmp141_;
+ JsonNode* class_root = NULL;
+ JsonNode* _tmp142_;
+ JsonNode* _tmp143_;
+ JSDOCSymbol* _tmp144_;
+ JsonObject* _tmp145_;
+ JsonObject* _tmp146_;
+ JsonGenerator* _tmp147_;
+ JsonNode* _tmp148_;
+ JsonGenerator* _tmp149_;
+ JsonGenerator* _tmp150_;
+ JSDOCPackerRun* _tmp151_;
+ JSDOCPackerRun* _tmp152_;
+ const gchar* _tmp153_;
+ gchar* _tmp154_;
+ gchar* _tmp155_;
+ JSDOCSymbol* _tmp156_;
+ const gchar* _tmp157_;
+ gchar* _tmp158_;
+ gchar* _tmp159_;
+ gchar* _tmp160_;
+ gchar* _tmp161_;
+ JsonGenerator* _tmp162_;
+ JSDOCPackerRun* _tmp163_;
+ JSDOCPackerRun* _tmp164_;
+ const gchar* _tmp165_;
+ gchar* _tmp166_;
+ gchar* _tmp167_;
+ JSDOCSymbol* _tmp168_;
+ const gchar* _tmp169_;
+ gchar* _tmp170_;
+ gchar* _tmp171_;
+ gchar* _tmp172_;
+ gchar* _tmp173_;
+ JsonObject* _tmp174_;
+ JSDOCSymbol* _tmp175_;
+ const gchar* _tmp176_;
+ JSDOCSymbol* _tmp177_;
+ JsonObject* _tmp178_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp131_) {
+#line 1625 "DocBuilder.c"
+ gint _tmp132_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp132_ = i;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp132_ + 1;
+#line 1631 "DocBuilder.c"
+ }
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp131_ = FALSE;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp133_ = i;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp134_ = l;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp133_ < _tmp134_)) {
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 1643 "DocBuilder.c"
+ }
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp135_ = classes;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp136_ = i;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp137_ = gee_abstract_list_get ((GeeAbstractList*) _tmp135_, _tmp136_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ symbol = (JSDOCSymbol*) _tmp137_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp138_ = g_strdup ("");
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ output = _tmp138_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp139_ = symbol;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp140_ = _tmp139_->alias;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:308: classTemplate Process : %s", _tmp140_);
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp141_ = json_generator_new ();
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ class_gen = _tmp141_;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp142_ = json_node_new (JSON_NODE_OBJECT);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ class_root = _tmp142_;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp143_ = class_root;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp144_ = symbol;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp145_ = jsdoc_doc_builder_class_to_json (self, _tmp144_);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp146_ = _tmp145_;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_node_init_object (_tmp143_, _tmp146_);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (_tmp146_);
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp147_ = class_gen;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp148_ = class_root;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_root (_tmp147_, _tmp148_);
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp149_ = class_gen;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_pretty (_tmp149_, TRUE);
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp150_ = class_gen;
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_indent (_tmp150_, (guint) 2);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp151_ = jsdoc_packer_run_singleton ();
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp152_ = _tmp151_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp153_ = _tmp152_->opt_doc_target;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp154_ = g_strconcat (_tmp153_, "/symbols/", NULL);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp155_ = _tmp154_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp156_ = symbol;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp157_ = _tmp156_->alias;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp158_ = g_strconcat (_tmp155_, _tmp157_, NULL);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp159_ = _tmp158_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp160_ = g_strconcat (_tmp159_, ".json", NULL);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp161_ = _tmp160_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_warning ("DocBuilder.vala:317: writing JSON: %s", _tmp161_);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp161_);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp159_);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp155_);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp152_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp162_ = class_gen;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp163_ = jsdoc_packer_run_singleton ();
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp164_ = _tmp163_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp165_ = _tmp164_->opt_doc_target;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp166_ = g_strconcat (_tmp165_, "/symbols/", NULL);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp167_ = _tmp166_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp168_ = symbol;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp169_ = _tmp168_->alias;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp170_ = g_strconcat (_tmp167_, _tmp169_, NULL);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp171_ = _tmp170_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp172_ = g_strconcat (_tmp171_, ".json", NULL);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp173_ = _tmp172_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_writeJson (self, _tmp162_, _tmp173_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp173_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp171_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp167_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp164_);
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp174_ = jsonAll;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp175_ = symbol;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp176_ = _tmp175_->alias;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp177_ = symbol;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp178_ = jsdoc_doc_builder_publishJSON (self, _tmp177_);
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_object_member (_tmp174_, _tmp176_, _tmp178_);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ __vala_JsonNode_free0 (class_root);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (class_gen);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (output);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (symbol);
+#line 1783 "DocBuilder.c"
+ }
+ }
+ }
+#line 326 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp179_ = json_generator_new ();
+#line 326 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ class_tree_gen = _tmp179_;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp180_ = json_node_new (JSON_NODE_ARRAY);
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ class_tree_root = _tmp180_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp181_ = class_tree_root;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp182_ = classes;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp183_ = jsdoc_doc_builder_class_tree (self, _tmp182_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp184_ = _tmp183_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_node_init_array (_tmp181_, _tmp184_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (_tmp184_);
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp185_ = class_tree_gen;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp186_ = class_tree_root;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_root (_tmp185_, _tmp186_);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp187_ = class_tree_gen;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_pretty (_tmp187_, TRUE);
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp188_ = class_tree_gen;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_indent (_tmp188_, (guint) 2);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp189_ = jsdoc_packer_run_singleton ();
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp190_ = _tmp189_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp191_ = _tmp190_->opt_doc_target;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp192_ = g_strconcat (_tmp191_, "/tree.json", NULL);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp193_ = _tmp192_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_warning ("DocBuilder.vala:332: writing JSON: %s", _tmp193_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp193_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp190_);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp194_ = class_tree_gen;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp195_ = jsdoc_packer_run_singleton ();
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp196_ = _tmp195_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp197_ = _tmp196_->opt_doc_target;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp198_ = g_strconcat (_tmp197_, "/tree.json", NULL);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp199_ = _tmp198_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_writeJson (self, _tmp194_, _tmp199_);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp199_);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp196_);
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp200_ = json_generator_new ();
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ generator = _tmp200_;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp201_ = json_node_new (JSON_NODE_OBJECT);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ root = _tmp201_;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp202_ = root;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp203_ = jsonAll;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_node_init_object (_tmp202_, _tmp203_);
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp204_ = generator;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp205_ = root;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_root (_tmp204_, _tmp205_);
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp206_ = generator;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_pretty (_tmp206_, TRUE);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp207_ = generator;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_set_indent (_tmp207_, (guint) 2);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp208_ = jsdoc_packer_run_singleton ();
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp209_ = _tmp208_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp210_ = _tmp209_->opt_doc_target;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp211_ = g_strconcat (_tmp210_, "/json/roodata.json", NULL);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp212_ = _tmp211_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_warning ("DocBuilder.vala:348: writing JSON: %s", _tmp212_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp212_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp209_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp213_ = generator;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp214_ = jsdoc_packer_run_singleton ();
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp215_ = _tmp214_;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp216_ = _tmp215_->opt_doc_target;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp217_ = g_strconcat (_tmp216_, "/json/roodata.json", NULL);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp218_ = _tmp217_;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_writeJson (self, _tmp213_, _tmp218_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp218_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp215_);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:358: build index");
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ __vala_JsonNode_free0 (root);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (generator);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ __vala_JsonNode_free0 (class_tree_root);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (class_tree_gen);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (jsonAll);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (classes);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (files);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (symbols);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp0_);
+#line 1937 "DocBuilder.c"
+}
+
+
+static gpointer _json_array_ref0 (gpointer self) {
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return self ? json_array_ref (self) : NULL;
+#line 1944 "DocBuilder.c"
+}
+
+
+static gpointer _json_object_ref0 (gpointer self) {
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return self ? json_object_ref (self) : NULL;
+#line 1951 "DocBuilder.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 1974 "DocBuilder.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1982 "DocBuilder.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1994 "DocBuilder.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 2018 "DocBuilder.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 2024 "DocBuilder.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 2028 "DocBuilder.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 2032 "DocBuilder.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 2044 "DocBuilder.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 2054 "DocBuilder.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 2060 "DocBuilder.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 2074 "DocBuilder.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 2084 "DocBuilder.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 2090 "DocBuilder.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 2099 "DocBuilder.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2119 "DocBuilder.c"
+}
+
+
+static JsonObject* jsdoc_doc_builder_class_to_json (JSDOCDocBuilder* self, JSDOCSymbol* cls) {
+ JsonObject* result = NULL;
+ JsonObject* ret = NULL;
+ JsonObject* _tmp0_;
+ JsonObject* _tmp1_;
+ JSDOCSymbol* _tmp2_;
+ const gchar* _tmp3_;
+ JsonArray* ag = NULL;
+ JsonArray* _tmp4_;
+ JsonObject* _tmp5_;
+ JsonArray* _tmp6_;
+ JsonArray* _tmp7_;
+ JsonObject* _tmp28_;
+ JSDOCSymbol* _tmp29_;
+ const gchar* _tmp30_;
+ JsonObject* _tmp31_;
+ JSDOCSymbol* _tmp32_;
+ const gchar* _tmp33_;
+ JsonObject* _tmp34_;
+ JSDOCSymbol* _tmp35_;
+ JSDOCDocComment* _tmp36_;
+ GeeArrayList* _tmp37_;
+ GeeArrayList* _tmp38_;
+ gint _tmp39_;
+ gint _tmp40_;
+ JsonObject* _tmp41_;
+ JSDOCSymbol* _tmp42_;
+ const gchar* _tmp43_;
+ JsonObject* _tmp44_;
+ JSDOCSymbol* _tmp45_;
+ gboolean _tmp46_;
+ JsonObject* _tmp47_;
+ JSDOCSymbol* _tmp48_;
+ const gchar* _tmp49_;
+ const gchar* _tmp50_;
+ JsonObject* _tmp51_;
+ JSDOCSymbol* _tmp52_;
+ JSDOCDocComment* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_ = NULL;
+ JSDOCSymbol* _tmp57_;
+ JSDOCDocComment* _tmp58_;
+ GeeArrayList* _tmp59_;
+ GeeArrayList* _tmp60_;
+ gint _tmp61_;
+ gint _tmp62_;
+ gboolean _tmp63_;
+ JsonObject* _tmp70_;
+ JsonObject* _tmp71_;
+ JSDOCSymbol* _tmp72_;
+ JSDOCDocComment* _tmp73_;
+ gchar* _tmp74_;
+ gchar* _tmp75_;
+ JsonObject* _tmp76_;
+ JSDOCSymbol* _tmp77_;
+ JSDOCDocComment* _tmp78_;
+ gchar* _tmp79_;
+ gchar* _tmp80_;
+ JsonObject* _tmp81_;
+ JSDOCSymbol* _tmp82_;
+ JsonArray* _tmp83_;
+ JsonObject* _tmp84_;
+ JsonArray* _tmp85_;
+ JsonArray* props = NULL;
+ JsonArray* _tmp86_;
+ JsonObject* _tmp87_;
+ JsonArray* _tmp88_;
+ JsonArray* _tmp89_;
+ GeeArrayList* cfgProperties = NULL;
+ JSDOCSymbol* _tmp90_;
+ GeeArrayList* _tmp91_;
+ JsonArray* methods = NULL;
+ JsonArray* _tmp127_;
+ JsonObject* _tmp128_;
+ JsonArray* _tmp129_;
+ JsonArray* _tmp130_;
+ JsonArray* events = NULL;
+ JsonArray* _tmp207_;
+ JsonObject* _tmp208_;
+ JsonArray* _tmp209_;
+ JsonArray* _tmp210_;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (cls != NULL, NULL);
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = json_object_new ();
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ret = _tmp0_;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = ret;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = cls;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_->alias;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp1_, "name", _tmp3_);
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = json_array_new ();
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ag = _tmp4_;
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = ret;
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = ag;
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = _json_array_ref0 (_tmp6_);
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp5_, "augments", _tmp7_);
+#line 2233 "DocBuilder.c"
+ {
+ gint ii = 0;
+ gint il = 0;
+ JSDOCSymbol* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ii = 0;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = cls;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = _tmp8_->augments;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp9_);
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = _tmp10_;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ il = _tmp11_;
+#line 2253 "DocBuilder.c"
+ {
+ gboolean _tmp12_ = FALSE;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = TRUE;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 2260 "DocBuilder.c"
+ gint _tmp14_;
+ gint _tmp15_;
+ JSDOCSymbol* contributer = NULL;
+ JSDOCSymbolSet* _tmp16_;
+ JSDOCSymbol* _tmp17_;
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gpointer _tmp20_;
+ gchar* _tmp21_;
+ JSDOCSymbol* _tmp22_;
+ JSDOCSymbol* _tmp23_;
+ JSDOCSymbol* _tmp24_;
+ JsonArray* _tmp25_;
+ JSDOCSymbol* _tmp26_;
+ const gchar* _tmp27_;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp12_) {
+#line 2278 "DocBuilder.c"
+ gint _tmp13_;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = ii;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ii = _tmp13_ + 1;
+#line 2284 "DocBuilder.c"
+ }
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = FALSE;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = ii;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = il;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp14_ < _tmp15_)) {
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 2296 "DocBuilder.c"
+ }
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = self->priv->symbolSet;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = cls;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = _tmp17_->augments;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = ii;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp18_, _tmp19_);
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = (gchar*) _tmp20_;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = jsdoc_symbol_set_getSymbol (_tmp16_, _tmp21_);
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = _tmp22_;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp21_);
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ contributer = _tmp23_;
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = contributer;
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp24_ == NULL) {
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (contributer);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 2326 "DocBuilder.c"
+ }
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = ag;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = contributer;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = _tmp26_->alias;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_string_element (_tmp25_, _tmp27_);
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (contributer);
+#line 2338 "DocBuilder.c"
+ }
+ }
+ }
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = ret;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = cls;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp30_ = _tmp29_->alias;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp28_, "name", _tmp30_);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = ret;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = cls;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = _tmp32_->desc;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp31_, "desc", _tmp33_);
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = ret;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = cls;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp36_ = _tmp35_->comment;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp37_ = jsdoc_doc_comment_getTag (_tmp36_, JSDOC_DOC_TAG_TITLE_SINGLETON);
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp38_ = _tmp37_;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp39_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp38_);
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp40_ = _tmp39_;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp34_, "isSingleton", _tmp40_ > 0);
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp38_);
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp41_ = ret;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp42_ = cls;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp43_ = _tmp42_->isa;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp41_, "isStatic", g_strcmp0 (_tmp43_, "CONSTRUCTOR") != 0);
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp44_ = ret;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp45_ = cls;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp46_ = jsdoc_symbol_isBuiltin (_tmp45_);
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp44_, "isBuiltin", _tmp46_);
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp47_ = ret;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp48_ = cls;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp49_ = jsdoc_symbol_get_name (_tmp48_);
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp50_ = _tmp49_;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp47_, "memberOf", _tmp50_);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp51_ = ret;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp52_ = cls;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp53_ = _tmp52_->comment;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp54_ = jsdoc_doc_comment_getTagAsString (_tmp53_, JSDOC_DOC_TAG_TITLE_EXAMPLE);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp55_ = _tmp54_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp51_, "example", _tmp55_);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp55_);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp57_ = cls;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp58_ = _tmp57_->comment;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp59_ = jsdoc_doc_comment_getTag (_tmp58_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp60_ = _tmp59_;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp61_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp60_);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp62_ = _tmp61_;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp63_ = _tmp62_ > 0;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp60_);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp63_) {
+#line 2434 "DocBuilder.c"
+ JSDOCSymbol* _tmp64_;
+ JSDOCDocComment* _tmp65_;
+ gchar* _tmp66_;
+ gchar* _tmp67_;
+ gchar* _tmp68_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp64_ = cls;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp65_ = _tmp64_->comment;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp66_ = jsdoc_doc_comment_getTagAsString (_tmp65_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp67_ = _tmp66_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp68_ = g_strconcat ("This has been deprecated: ", _tmp67_, NULL);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp56_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp56_ = _tmp68_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp67_);
+#line 2456 "DocBuilder.c"
+ } else {
+ gchar* _tmp69_;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp69_ = g_strdup ("");
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp56_);
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp56_ = _tmp69_;
+#line 2465 "DocBuilder.c"
+ }
+#line 386 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp70_ = ret;
+#line 386 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp70_, "deprecated", _tmp56_);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp71_ = ret;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp72_ = cls;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp73_ = _tmp72_->comment;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp74_ = jsdoc_doc_comment_getTagAsString (_tmp73_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp75_ = _tmp74_;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp71_, "since", _tmp75_);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp75_);
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp76_ = ret;
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp77_ = cls;
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp78_ = _tmp77_->comment;
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp79_ = jsdoc_doc_comment_getTagAsString (_tmp78_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp80_ = _tmp79_;
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp76_, "see", _tmp80_);
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp80_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp81_ = ret;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp82_ = cls;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp83_ = jsdoc_symbol_paramsToJson (_tmp82_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp81_, "params", _tmp83_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp84_ = ret;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp85_ = json_array_new ();
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp84_, "returns", _tmp85_);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp86_ = json_array_new ();
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ props = _tmp86_;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp87_ = ret;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp88_ = props;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp89_ = _json_array_ref0 (_tmp88_);
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp87_, "config", _tmp89_);
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp90_ = cls;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp91_ = jsdoc_symbol_configToArray (_tmp90_);
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ cfgProperties = _tmp91_;
+#line 2531 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 2536 "DocBuilder.c"
+ {
+ gboolean _tmp92_ = FALSE;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp92_ = TRUE;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 2543 "DocBuilder.c"
+ gint _tmp94_;
+ GeeArrayList* _tmp95_;
+ gint _tmp96_;
+ gint _tmp97_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp98_;
+ gint _tmp99_;
+ gpointer _tmp100_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp101_;
+ JsonObject* _tmp102_;
+ JSDOCDocTag* _tmp103_;
+ const gchar* _tmp104_;
+ JsonObject* _tmp105_;
+ JSDOCDocTag* _tmp106_;
+ const gchar* _tmp107_;
+ JsonObject* _tmp108_;
+ JSDOCDocTag* _tmp109_;
+ const gchar* _tmp110_;
+ JsonObject* _tmp111_;
+ JSDOCDocTag* _tmp112_;
+ const gchar* _tmp113_;
+ JsonArray* _tmp114_ = NULL;
+ JSDOCDocTag* _tmp115_;
+ GeeArrayList* _tmp116_;
+ gint _tmp117_;
+ gint _tmp118_;
+ JsonObject* _tmp122_;
+ JsonArray* _tmp123_;
+ JsonArray* _tmp124_;
+ JsonObject* _tmp125_;
+ JsonObject* _tmp126_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp92_) {
+#line 2578 "DocBuilder.c"
+ gint _tmp93_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp93_ = i;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp93_ + 1;
+#line 2584 "DocBuilder.c"
+ }
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp92_ = FALSE;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp94_ = i;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp95_ = cfgProperties;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp96_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp95_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp97_ = _tmp96_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp94_ < _tmp97_)) {
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 2600 "DocBuilder.c"
+ }
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp98_ = cfgProperties;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp99_ = i;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp100_ = gee_abstract_list_get ((GeeAbstractList*) _tmp98_, _tmp99_);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ p = (JSDOCDocTag*) _tmp100_;
+#line 406 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp101_ = json_object_new ();
+#line 406 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp101_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp102_ = add;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp103_ = p;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp104_ = _tmp103_->name;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp102_, "name", _tmp104_);
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp105_ = add;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp106_ = p;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp107_ = _tmp106_->type;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp105_, "type", _tmp107_);
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp108_ = add;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp109_ = p;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp110_ = _tmp109_->desc;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp108_, "desc", _tmp110_);
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp111_ = add;
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp112_ = p;
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp113_ = _tmp112_->memberOf;
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp111_, "memberOf", _tmp113_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp115_ = p;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp116_ = _tmp115_->optvalues;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp117_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp116_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp118_ = _tmp117_;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp118_ > 0) {
+#line 2656 "DocBuilder.c"
+ JSDOCDocTag* _tmp119_;
+ JsonArray* _tmp120_;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp119_ = p;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp120_ = jsdoc_doc_tag_optvalue_as_json_array (_tmp119_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (_tmp114_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp114_ = _tmp120_;
+#line 2667 "DocBuilder.c"
+ } else {
+ JsonArray* _tmp121_;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp121_ = json_array_new ();
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (_tmp114_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp114_ = _tmp121_;
+#line 2676 "DocBuilder.c"
+ }
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp122_ = add;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp123_ = _json_array_ref0 (_tmp114_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp122_, "values", _tmp123_);
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp124_ = props;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp125_ = add;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp126_ = _json_object_ref0 (_tmp125_);
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp124_, _tmp126_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (_tmp114_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (p);
+#line 2698 "DocBuilder.c"
+ }
+ }
+ }
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp127_ = json_array_new ();
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ methods = _tmp127_;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp128_ = ret;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp129_ = methods;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp130_ = _json_array_ref0 (_tmp129_);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp128_, "methods", _tmp130_);
+#line 2714 "DocBuilder.c"
+ {
+ GeeArrayList* _m_list = NULL;
+ JSDOCSymbol* _tmp131_;
+ GeeArrayList* _tmp132_;
+ GeeArrayList* _tmp133_;
+ gint _m_size = 0;
+ GeeArrayList* _tmp134_;
+ gint _tmp135_;
+ gint _tmp136_;
+ gint _m_index = 0;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp131_ = cls;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp132_ = _tmp131_->methods;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp133_ = _g_object_ref0 (_tmp132_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_list = _tmp133_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp134_ = _m_list;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp135_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp134_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp136_ = _tmp135_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_size = _tmp136_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_index = -1;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 2745 "DocBuilder.c"
+ gint _tmp137_;
+ gint _tmp138_;
+ gint _tmp139_;
+ JSDOCSymbol* m = NULL;
+ GeeArrayList* _tmp140_;
+ gint _tmp141_;
+ gpointer _tmp142_;
+ gboolean _tmp143_ = FALSE;
+ JSDOCSymbol* _tmp144_;
+ gboolean _tmp145_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp148_;
+ JsonObject* _tmp149_;
+ JSDOCSymbol* _tmp150_;
+ const gchar* _tmp151_;
+ const gchar* _tmp152_;
+ JsonObject* _tmp153_;
+ JSDOCSymbol* _tmp154_;
+ const gchar* _tmp155_;
+ JsonObject* _tmp156_;
+ JSDOCSymbol* _tmp157_;
+ gboolean _tmp158_;
+ JsonObject* _tmp159_;
+ JSDOCSymbol* _tmp160_;
+ const gchar* _tmp161_;
+ JsonObject* _tmp162_;
+ JSDOCSymbol* _tmp163_;
+ gboolean _tmp164_;
+ JsonObject* _tmp165_;
+ JSDOCSymbol* _tmp166_;
+ const gchar* _tmp167_;
+ JsonObject* _tmp168_;
+ JSDOCSymbol* _tmp169_;
+ JSDOCDocComment* _tmp170_;
+ gchar* _tmp171_;
+ gchar* _tmp172_;
+ gchar* _tmp173_ = NULL;
+ JSDOCSymbol* _tmp174_;
+ JSDOCDocComment* _tmp175_;
+ GeeArrayList* _tmp176_;
+ GeeArrayList* _tmp177_;
+ gint _tmp178_;
+ gint _tmp179_;
+ gboolean _tmp180_;
+ JsonObject* _tmp187_;
+ JsonObject* _tmp188_;
+ JSDOCSymbol* _tmp189_;
+ JSDOCDocComment* _tmp190_;
+ gchar* _tmp191_;
+ gchar* _tmp192_;
+ JsonObject* _tmp193_;
+ JSDOCSymbol* _tmp194_;
+ JSDOCDocComment* _tmp195_;
+ gchar* _tmp196_;
+ gchar* _tmp197_;
+ JsonObject* _tmp198_;
+ JSDOCSymbol* _tmp199_;
+ JsonArray* _tmp200_;
+ JsonObject* _tmp201_;
+ JSDOCSymbol* _tmp202_;
+ JsonArray* _tmp203_;
+ JsonArray* _tmp204_;
+ JsonObject* _tmp205_;
+ JsonObject* _tmp206_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp137_ = _m_index;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_index = _tmp137_ + 1;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp138_ = _m_index;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp139_ = _m_size;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp138_ < _tmp139_)) {
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 2822 "DocBuilder.c"
+ }
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp140_ = _m_list;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp141_ = _m_index;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp142_ = gee_abstract_list_get ((GeeAbstractList*) _tmp140_, _tmp141_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ m = (JSDOCSymbol*) _tmp142_;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp144_ = m;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp145_ = _tmp144_->isEvent;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp145_) {
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp143_ = TRUE;
+#line 2840 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp146_;
+ gboolean _tmp147_;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp146_ = m;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp147_ = _tmp146_->isIgnored;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp143_ = _tmp147_;
+#line 2850 "DocBuilder.c"
+ }
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp143_) {
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 2858 "DocBuilder.c"
+ }
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp148_ = json_object_new ();
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp148_;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp149_ = add;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp150_ = m;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp151_ = jsdoc_symbol_get_name (_tmp150_);
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp152_ = _tmp151_;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp149_, "name", _tmp152_);
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp153_ = add;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp154_ = m;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp155_ = _tmp154_->desc;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp153_, "desc", _tmp155_);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp156_ = add;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp157_ = m;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp158_ = _tmp157_->isStatic;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp156_, "isStatic", _tmp158_);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp159_ = add;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp160_ = m;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp161_ = _tmp160_->isa;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp159_, "isConstructor", g_strcmp0 (_tmp161_, "CONSTRUCTOR") == 0);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp162_ = add;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp163_ = m;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp164_ = _tmp163_->isPrivate;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp162_, "isPrivate", _tmp164_);
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp165_ = add;
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp166_ = m;
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp167_ = _tmp166_->memberOf;
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp165_, "memberOf", _tmp167_);
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp168_ = add;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp169_ = m;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp170_ = _tmp169_->comment;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp171_ = jsdoc_doc_comment_getTagAsString (_tmp170_, JSDOC_DOC_TAG_TITLE_EXAMPLE);
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp172_ = _tmp171_;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp168_, "example", _tmp172_);
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp172_);
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp174_ = m;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp175_ = _tmp174_->comment;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp176_ = jsdoc_doc_comment_getTag (_tmp175_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp177_ = _tmp176_;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp178_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp177_);
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp179_ = _tmp178_;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp180_ = _tmp179_ > 0;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp177_);
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp180_) {
+#line 2946 "DocBuilder.c"
+ JSDOCSymbol* _tmp181_;
+ JSDOCDocComment* _tmp182_;
+ gchar* _tmp183_;
+ gchar* _tmp184_;
+ gchar* _tmp185_;
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp181_ = m;
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp182_ = _tmp181_->comment;
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp183_ = jsdoc_doc_comment_getTagAsString (_tmp182_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp184_ = _tmp183_;
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp185_ = g_strconcat ("This has been deprecated: ", _tmp184_, NULL);
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp173_);
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp173_ = _tmp185_;
+#line 438 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp184_);
+#line 2968 "DocBuilder.c"
+ } else {
+ gchar* _tmp186_;
+#line 439 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp186_ = g_strdup ("");
+#line 439 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp173_);
+#line 439 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp173_ = _tmp186_;
+#line 2977 "DocBuilder.c"
+ }
+#line 436 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp187_ = add;
+#line 436 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp187_, "deprecated", _tmp173_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp188_ = add;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp189_ = m;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp190_ = _tmp189_->comment;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp191_ = jsdoc_doc_comment_getTagAsString (_tmp190_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp192_ = _tmp191_;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp188_, "since", _tmp192_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp192_);
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp193_ = add;
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp194_ = m;
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp195_ = _tmp194_->comment;
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp196_ = jsdoc_doc_comment_getTagAsString (_tmp195_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp197_ = _tmp196_;
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp193_, "see", _tmp197_);
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp197_);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp198_ = add;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp199_ = m;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp200_ = jsdoc_symbol_paramsToJson (_tmp199_);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp198_, "params", _tmp200_);
+#line 446 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp201_ = add;
+#line 446 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp202_ = m;
+#line 446 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp203_ = jsdoc_symbol_returnsToJson (_tmp202_);
+#line 446 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp201_, "returns", _tmp203_);
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp204_ = methods;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp205_ = add;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp206_ = _json_object_ref0 (_tmp205_);
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp204_, _tmp206_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp173_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 3041 "DocBuilder.c"
+ }
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_m_list);
+#line 3045 "DocBuilder.c"
+ }
+#line 455 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp207_ = json_array_new ();
+#line 455 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ events = _tmp207_;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp208_ = ret;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp209_ = events;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp210_ = _json_array_ref0 (_tmp209_);
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp208_, "events", _tmp210_);
+#line 3059 "DocBuilder.c"
+ {
+ GeeArrayList* _m_list = NULL;
+ JSDOCSymbol* _tmp211_;
+ GeeArrayList* _tmp212_;
+ GeeArrayList* _tmp213_;
+ gint _m_size = 0;
+ GeeArrayList* _tmp214_;
+ gint _tmp215_;
+ gint _tmp216_;
+ gint _m_index = 0;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp211_ = cls;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp212_ = _tmp211_->methods;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp213_ = _g_object_ref0 (_tmp212_);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_list = _tmp213_;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp214_ = _m_list;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp215_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp214_);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp216_ = _tmp215_;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_size = _tmp216_;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_index = -1;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 3090 "DocBuilder.c"
+ gint _tmp217_;
+ gint _tmp218_;
+ gint _tmp219_;
+ JSDOCSymbol* m = NULL;
+ GeeArrayList* _tmp220_;
+ gint _tmp221_;
+ gpointer _tmp222_;
+ gboolean _tmp223_ = FALSE;
+ JSDOCSymbol* _tmp224_;
+ gboolean _tmp225_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp228_;
+ JsonObject* _tmp229_;
+ JSDOCSymbol* _tmp230_;
+ const gchar* _tmp231_;
+ const gchar* _tmp232_;
+ gchar* _tmp233_;
+ gchar* _tmp234_;
+ JsonObject* _tmp235_;
+ JSDOCSymbol* _tmp236_;
+ const gchar* _tmp237_;
+ JsonObject* _tmp238_;
+ JSDOCSymbol* _tmp239_;
+ const gchar* _tmp240_;
+ JsonObject* _tmp241_;
+ JSDOCSymbol* _tmp242_;
+ JSDOCDocComment* _tmp243_;
+ gchar* _tmp244_;
+ gchar* _tmp245_;
+ gchar* _tmp246_ = NULL;
+ JSDOCSymbol* _tmp247_;
+ JSDOCDocComment* _tmp248_;
+ GeeArrayList* _tmp249_;
+ GeeArrayList* _tmp250_;
+ gint _tmp251_;
+ gint _tmp252_;
+ gboolean _tmp253_;
+ JsonObject* _tmp260_;
+ JsonObject* _tmp261_;
+ JSDOCSymbol* _tmp262_;
+ JSDOCDocComment* _tmp263_;
+ gchar* _tmp264_;
+ gchar* _tmp265_;
+ JsonObject* _tmp266_;
+ JSDOCSymbol* _tmp267_;
+ JSDOCDocComment* _tmp268_;
+ gchar* _tmp269_;
+ gchar* _tmp270_;
+ JsonObject* _tmp271_;
+ JSDOCSymbol* _tmp272_;
+ JsonArray* _tmp273_;
+ JsonObject* _tmp274_;
+ JSDOCSymbol* _tmp275_;
+ JsonArray* _tmp276_;
+ JsonArray* _tmp277_;
+ JsonObject* _tmp278_;
+ JsonObject* _tmp279_;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp217_ = _m_index;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _m_index = _tmp217_ + 1;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp218_ = _m_index;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp219_ = _m_size;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp218_ < _tmp219_)) {
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 3160 "DocBuilder.c"
+ }
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp220_ = _m_list;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp221_ = _m_index;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp222_ = gee_abstract_list_get ((GeeAbstractList*) _tmp220_, _tmp221_);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ m = (JSDOCSymbol*) _tmp222_;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp224_ = m;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp225_ = _tmp224_->isEvent;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp225_) {
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp223_ = TRUE;
+#line 3178 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp226_;
+ gboolean _tmp227_;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp226_ = m;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp227_ = _tmp226_->isIgnored;
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp223_ = _tmp227_;
+#line 3188 "DocBuilder.c"
+ }
+#line 458 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp223_) {
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 3196 "DocBuilder.c"
+ }
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp228_ = json_object_new ();
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp228_;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp229_ = add;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp230_ = m;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp231_ = jsdoc_symbol_get_name (_tmp230_);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp232_ = _tmp231_;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp233_ = string_substring (_tmp232_, (glong) 1, (glong) -1);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp234_ = _tmp233_;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp229_, "name", _tmp234_);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp234_);
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp235_ = add;
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp236_ = m;
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp237_ = _tmp236_->desc;
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp235_, "desc", _tmp237_);
+#line 468 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp238_ = add;
+#line 468 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp239_ = m;
+#line 468 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp240_ = _tmp239_->memberOf;
+#line 468 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp238_, "memberOf", _tmp240_);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp241_ = add;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp242_ = m;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp243_ = _tmp242_->comment;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp244_ = jsdoc_doc_comment_getTagAsString (_tmp243_, JSDOC_DOC_TAG_TITLE_EXAMPLE);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp245_ = _tmp244_;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp241_, "example", _tmp245_);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp245_);
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp247_ = m;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp248_ = _tmp247_->comment;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp249_ = jsdoc_doc_comment_getTag (_tmp248_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp250_ = _tmp249_;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp251_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp250_);
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp252_ = _tmp251_;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp253_ = _tmp252_ > 0;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp250_);
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp253_) {
+#line 3266 "DocBuilder.c"
+ JSDOCSymbol* _tmp254_;
+ JSDOCDocComment* _tmp255_;
+ gchar* _tmp256_;
+ gchar* _tmp257_;
+ gchar* _tmp258_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp254_ = m;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp255_ = _tmp254_->comment;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp256_ = jsdoc_doc_comment_getTagAsString (_tmp255_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp257_ = _tmp256_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp258_ = g_strconcat ("This has been deprecated: ", _tmp257_, NULL);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp246_);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp246_ = _tmp258_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp257_);
+#line 3288 "DocBuilder.c"
+ } else {
+ gchar* _tmp259_;
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp259_ = g_strdup ("");
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp246_);
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp246_ = _tmp259_;
+#line 3297 "DocBuilder.c"
+ }
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp260_ = add;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp260_, "deprecated", _tmp246_);
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp261_ = add;
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp262_ = m;
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp263_ = _tmp262_->comment;
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp264_ = jsdoc_doc_comment_getTagAsString (_tmp263_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp265_ = _tmp264_;
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp261_, "since", _tmp265_);
+#line 474 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp265_);
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp266_ = add;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp267_ = m;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp268_ = _tmp267_->comment;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp269_ = jsdoc_doc_comment_getTagAsString (_tmp268_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp270_ = _tmp269_;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp266_, "see", _tmp270_);
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp270_);
+#line 480 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp271_ = add;
+#line 480 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp272_ = m;
+#line 480 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp273_ = jsdoc_symbol_paramsToJson (_tmp272_);
+#line 480 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp271_, "params", _tmp273_);
+#line 481 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp274_ = add;
+#line 481 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp275_ = m;
+#line 481 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp276_ = jsdoc_symbol_returnsToJson (_tmp275_);
+#line 481 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp274_, "returns", _tmp276_);
+#line 486 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp277_ = events;
+#line 486 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp278_ = add;
+#line 486 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp279_ = _json_object_ref0 (_tmp278_);
+#line 486 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp277_, _tmp279_);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp246_);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 3361 "DocBuilder.c"
+ }
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_m_list);
+#line 3365 "DocBuilder.c"
+ }
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = ret;
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (events);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (methods);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (cfgProperties);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (props);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp56_);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (ag);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3383 "DocBuilder.c"
+}
+
+
+/**
+* needed as Json dumps .xXXX into same directory as it writes...
+*/
+static void jsdoc_doc_builder_writeJson (JSDOCDocBuilder* self, JsonGenerator* g, const gchar* fname) {
+ gchar* tmp = NULL;
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ JsonGenerator* _tmp6_;
+ const gchar* _tmp7_;
+ const gchar* _tmp8_;
+ gboolean _tmp9_;
+ const gchar* _tmp19_;
+ GFile* _tmp20_;
+ GFile* _tmp21_;
+ const gchar* _tmp22_;
+ GFile* _tmp23_;
+ GFile* _tmp24_;
+ GError * _inner_error_ = NULL;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (self != NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (g != NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (fname != NULL);
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = self->priv->tempdir;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = fname;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = g_path_get_basename (_tmp1_);
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = g_strconcat (_tmp0_, _tmp3_, NULL);
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _tmp4_;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp3_);
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ tmp = _tmp5_;
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = g;
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = tmp;
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_generator_to_file (_tmp6_, _tmp7_, &_inner_error_);
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3447 "DocBuilder.c"
+ }
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = fname;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = g_file_test (_tmp8_, G_FILE_TEST_EXISTS);
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp9_) {
+#line 3455 "DocBuilder.c"
+ gchar* new_data = NULL;
+ gchar* old_data = NULL;
+ const gchar* _tmp10_;
+ gchar* _tmp11_ = NULL;
+ const gchar* _tmp12_;
+ gchar* _tmp13_ = NULL;
+ const gchar* _tmp14_;
+ const gchar* _tmp15_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = tmp;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp10_, &_tmp11_, NULL, &_inner_error_);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ new_data = _tmp11_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3486 "DocBuilder.c"
+ }
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = fname;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp12_, &_tmp13_, NULL, &_inner_error_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ old_data = _tmp13_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3510 "DocBuilder.c"
+ }
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = old_data;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = new_data;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_strcmp0 (_tmp14_, _tmp15_) == 0) {
+#line 3518 "DocBuilder.c"
+ const gchar* _tmp16_;
+ GFile* _tmp17_;
+ GFile* _tmp18_;
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = tmp;
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = g_file_new_for_path (_tmp16_);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = _tmp17_;
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_delete (_tmp18_, NULL, &_inner_error_);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp18_);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3546 "DocBuilder.c"
+ }
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3556 "DocBuilder.c"
+ }
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 3562 "DocBuilder.c"
+ }
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = tmp;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = g_file_new_for_path (_tmp19_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = _tmp20_;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = fname;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = g_file_new_for_path (_tmp22_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = _tmp23_;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_move (_tmp21_, _tmp24_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp24_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp21_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 3592 "DocBuilder.c"
+ }
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 3596 "DocBuilder.c"
+}
+
+
+/**
+ * JSON files are lookup files for the documentation
+ * - can be used by IDE's or AJAX based doc tools
+ *
+ *
+ */
+static gint ___lambda11_ (JSDOCDocBuilder* self, JSDOCDocTag* a, JSDOCDocTag* b) {
+ gint result = 0;
+ JSDOCDocTag* _tmp0_;
+ const gchar* _tmp1_;
+ JSDOCDocTag* _tmp2_;
+ const gchar* _tmp3_;
+ gint _tmp4_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (a != NULL, 0);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (b != NULL, 0);
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = a;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = _tmp0_->name;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = b;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_->name;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = g_utf8_collate (_tmp1_, _tmp3_);
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp4_;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3631 "DocBuilder.c"
+}
+
+
+static gint ____lambda11__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
+ gint result;
+ result = ___lambda11_ ((JSDOCDocBuilder*) self, (JSDOCDocTag*) a, (JSDOCDocTag*) b);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3640 "DocBuilder.c"
+}
+
+
+static gint __lambda12_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b) {
+ gint result = 0;
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ const gchar* _tmp2_;
+ JSDOCSymbol* _tmp3_;
+ const gchar* _tmp4_;
+ const gchar* _tmp5_;
+ gint _tmp6_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (a != NULL, 0);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (b != NULL, 0);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = a;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = jsdoc_symbol_get_name (_tmp0_);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = _tmp1_;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = b;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = jsdoc_symbol_get_name (_tmp3_);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _tmp4_;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = g_utf8_collate (_tmp2_, _tmp5_);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp6_;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3675 "DocBuilder.c"
+}
+
+
+static gint ___lambda12__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
+ gint result;
+ result = __lambda12_ ((JSDOCDocBuilder*) self, (JSDOCSymbol*) a, (JSDOCSymbol*) b);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3684 "DocBuilder.c"
+}
+
+
+static gint __lambda13_ (JSDOCDocBuilder* self, JSDOCSymbol* a, JSDOCSymbol* b) {
+ gint result = 0;
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ const gchar* _tmp2_;
+ JSDOCSymbol* _tmp3_;
+ const gchar* _tmp4_;
+ const gchar* _tmp5_;
+ gint _tmp6_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (a != NULL, 0);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (b != NULL, 0);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = a;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = jsdoc_symbol_get_name (_tmp0_);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = _tmp1_;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = b;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = jsdoc_symbol_get_name (_tmp3_);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _tmp4_;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = g_utf8_collate (_tmp2_, _tmp5_);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp6_;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3719 "DocBuilder.c"
+}
+
+
+static gint ___lambda13__gcompare_data_func (gconstpointer a, gconstpointer b, gpointer self) {
+ gint result;
+ result = __lambda13_ ((JSDOCDocBuilder*) self, (JSDOCSymbol*) a, (JSDOCSymbol*) b);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 3728 "DocBuilder.c"
+}
+
+
+static JsonObject* jsdoc_doc_builder_publishJSON (JSDOCDocBuilder* self, JSDOCSymbol* data) {
+ JsonObject* result = NULL;
+ GeeArrayList* cfgProperties = NULL;
+ GeeArrayList* _tmp0_;
+ JSDOCSymbol* _tmp1_;
+ JSDOCDocComment* _tmp2_;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gboolean _tmp7_;
+ JsonArray* props = NULL;
+ JsonArray* _tmp11_;
+ GeeArrayList* ownEvents = NULL;
+ GeeArrayList* _tmp49_;
+ GeeArrayList* _tmp68_;
+ JsonArray* events = NULL;
+ JsonArray* _tmp69_;
+ GeeArrayList* ownMethods = NULL;
+ GeeArrayList* _tmp105_;
+ GeeArrayList* _tmp124_;
+ JsonArray* methods = NULL;
+ JsonArray* _tmp125_;
+ JsonObject* ret = NULL;
+ JsonObject* _tmp162_;
+ JsonArray* _tmp163_;
+ JsonArray* _tmp164_;
+ JsonArray* _tmp165_;
+ JsonArray* _tmp166_;
+ JsonArray* _tmp167_;
+ JsonArray* _tmp168_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (data != NULL, NULL);
+#line 526 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 526 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ cfgProperties = _tmp0_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = data;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = _tmp1_->comment;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = jsdoc_doc_comment_getTag (_tmp2_, JSDOC_DOC_TAG_TITLE_SINGLETON);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = _tmp3_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = _tmp5_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = _tmp6_ < 1;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp4_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp7_) {
+#line 3789 "DocBuilder.c"
+ JSDOCSymbol* _tmp8_;
+ GeeArrayList* _tmp9_;
+ GeeArrayList* _tmp10_;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = data;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = jsdoc_symbol_configToArray (_tmp8_);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (cfgProperties);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ cfgProperties = _tmp9_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = cfgProperties;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_list_sort ((GeeList*) _tmp10_, ____lambda11__gcompare_data_func, g_object_ref (self), g_object_unref);
+#line 3805 "DocBuilder.c"
+ }
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = json_array_new ();
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ props = _tmp11_;
+#line 3811 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 3816 "DocBuilder.c"
+ {
+ gboolean _tmp12_ = FALSE;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = TRUE;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 3823 "DocBuilder.c"
+ gint _tmp14_;
+ GeeArrayList* _tmp15_;
+ gint _tmp16_;
+ gint _tmp17_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gpointer _tmp20_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp21_;
+ JsonObject* _tmp22_;
+ JSDOCDocTag* _tmp23_;
+ const gchar* _tmp24_;
+ JsonObject* _tmp25_;
+ JSDOCDocTag* _tmp26_;
+ const gchar* _tmp27_;
+ JsonObject* _tmp28_;
+ JSDOCDocTag* _tmp29_;
+ const gchar* _tmp30_;
+ const gchar* _tmp31_ = NULL;
+ JSDOCDocTag* _tmp32_;
+ const gchar* _tmp33_;
+ JSDOCSymbol* _tmp34_;
+ const gchar* _tmp35_;
+ JsonObject* _tmp38_;
+ JSDOCDocTag* _tmp39_;
+ GeeArrayList* _tmp40_;
+ gint _tmp41_;
+ gint _tmp42_;
+ JsonArray* _tmp46_;
+ JsonObject* _tmp47_;
+ JsonObject* _tmp48_;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp12_) {
+#line 3858 "DocBuilder.c"
+ gint _tmp13_;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = i;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp13_ + 1;
+#line 3864 "DocBuilder.c"
+ }
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = FALSE;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = i;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = cfgProperties;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp15_);
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = _tmp16_;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp14_ < _tmp17_)) {
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 3880 "DocBuilder.c"
+ }
+#line 539 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = cfgProperties;
+#line 539 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = i;
+#line 539 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp18_, _tmp19_);
+#line 539 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ p = (JSDOCDocTag*) _tmp20_;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = json_object_new ();
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp21_;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = add;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = p;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = _tmp23_->name;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp22_, "name", _tmp24_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = add;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = p;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = _tmp26_->type;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp25_, "type", _tmp27_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = add;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = p;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp30_ = _tmp29_->desc;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp28_, "desc", _tmp30_);
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = p;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = _tmp32_->memberOf;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = data;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = _tmp34_->alias;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_strcmp0 (_tmp33_, _tmp35_) == 0) {
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = "";
+#line 3930 "DocBuilder.c"
+ } else {
+ JSDOCDocTag* _tmp36_;
+ const gchar* _tmp37_;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp36_ = p;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp37_ = _tmp36_->memberOf;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = _tmp37_;
+#line 3940 "DocBuilder.c"
+ }
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp38_ = add;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp38_, "memberOf", _tmp31_);
+#line 546 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp39_ = p;
+#line 546 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp40_ = _tmp39_->optvalues;
+#line 546 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp41_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp40_);
+#line 546 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp42_ = _tmp41_;
+#line 546 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp42_ > 0) {
+#line 3956 "DocBuilder.c"
+ JsonObject* _tmp43_;
+ JSDOCDocTag* _tmp44_;
+ JsonArray* _tmp45_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp43_ = add;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp44_ = p;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp45_ = jsdoc_doc_tag_optvalue_as_json_array (_tmp44_);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp43_, "desc", _tmp45_);
+#line 3968 "DocBuilder.c"
+ }
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp46_ = props;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp47_ = add;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp48_ = _json_object_ref0 (_tmp47_);
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp46_, _tmp48_);
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (p);
+#line 3982 "DocBuilder.c"
+ }
+ }
+ }
+#line 554 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp49_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 554 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ownEvents = _tmp49_;
+#line 3990 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 3995 "DocBuilder.c"
+ {
+ gboolean _tmp50_ = FALSE;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp50_ = TRUE;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 4002 "DocBuilder.c"
+ gint _tmp52_;
+ JSDOCSymbol* _tmp53_;
+ GeeArrayList* _tmp54_;
+ gint _tmp55_;
+ gint _tmp56_;
+ JSDOCSymbol* e = NULL;
+ JSDOCSymbol* _tmp57_;
+ GeeArrayList* _tmp58_;
+ gint _tmp59_;
+ gpointer _tmp60_;
+ gboolean _tmp61_ = FALSE;
+ JSDOCSymbol* _tmp62_;
+ gboolean _tmp63_;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp50_) {
+#line 4018 "DocBuilder.c"
+ gint _tmp51_;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp51_ = i;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp51_ + 1;
+#line 4024 "DocBuilder.c"
+ }
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp50_ = FALSE;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp52_ = i;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp53_ = data;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp54_ = _tmp53_->methods;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp55_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp54_);
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp56_ = _tmp55_;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp52_ < _tmp56_)) {
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 4042 "DocBuilder.c"
+ }
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp57_ = data;
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp58_ = _tmp57_->methods;
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp59_ = i;
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp60_ = gee_abstract_list_get ((GeeAbstractList*) _tmp58_, _tmp59_);
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ e = (JSDOCSymbol*) _tmp60_;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp62_ = e;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp63_ = _tmp62_->isEvent;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp63_) {
+#line 4060 "DocBuilder.c"
+ JSDOCSymbol* _tmp64_;
+ gboolean _tmp65_;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp64_ = e;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp65_ = _tmp64_->isIgnored;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp61_ = !_tmp65_;
+#line 4069 "DocBuilder.c"
+ } else {
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp61_ = FALSE;
+#line 4073 "DocBuilder.c"
+ }
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp61_) {
+#line 4077 "DocBuilder.c"
+ GeeArrayList* _tmp66_;
+ JSDOCSymbol* _tmp67_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp66_ = ownEvents;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp67_ = e;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp66_, _tmp67_);
+#line 4086 "DocBuilder.c"
+ }
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (e);
+#line 4090 "DocBuilder.c"
+ }
+ }
+ }
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp68_ = ownEvents;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_list_sort ((GeeList*) _tmp68_, ___lambda12__gcompare_data_func, g_object_ref (self), g_object_unref);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp69_ = json_array_new ();
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ events = _tmp69_;
+#line 4102 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 4107 "DocBuilder.c"
+ {
+ gboolean _tmp70_ = FALSE;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp70_ = TRUE;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 4114 "DocBuilder.c"
+ gint _tmp72_;
+ GeeArrayList* _tmp73_;
+ gint _tmp74_;
+ gint _tmp75_;
+ JSDOCSymbol* m = NULL;
+ GeeArrayList* _tmp76_;
+ gint _tmp77_;
+ gpointer _tmp78_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp79_;
+ JsonObject* _tmp80_;
+ JSDOCSymbol* _tmp81_;
+ const gchar* _tmp82_;
+ const gchar* _tmp83_;
+ gchar* _tmp84_;
+ gchar* _tmp85_;
+ JsonObject* _tmp86_;
+ JsonObject* _tmp87_;
+ JSDOCSymbol* _tmp88_;
+ const gchar* _tmp89_;
+ JsonObject* _tmp90_;
+ JSDOCSymbol* _tmp91_;
+ gchar* _tmp92_;
+ gchar* _tmp93_;
+ const gchar* _tmp94_ = NULL;
+ JSDOCSymbol* _tmp95_;
+ const gchar* _tmp96_;
+ JSDOCSymbol* _tmp97_;
+ const gchar* _tmp98_;
+ JsonObject* _tmp101_;
+ JsonArray* _tmp102_;
+ JsonObject* _tmp103_;
+ JsonObject* _tmp104_;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp70_) {
+#line 4150 "DocBuilder.c"
+ gint _tmp71_;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp71_ = i;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp71_ + 1;
+#line 4156 "DocBuilder.c"
+ }
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp70_ = FALSE;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp72_ = i;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp73_ = ownEvents;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp74_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp73_);
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp75_ = _tmp74_;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp72_ < _tmp75_)) {
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 4172 "DocBuilder.c"
+ }
+#line 568 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp76_ = ownEvents;
+#line 568 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp77_ = i;
+#line 568 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp78_ = gee_abstract_list_get ((GeeAbstractList*) _tmp76_, _tmp77_);
+#line 568 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ m = (JSDOCSymbol*) _tmp78_;
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp79_ = json_object_new ();
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp79_;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp80_ = add;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp81_ = m;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp82_ = jsdoc_symbol_get_name (_tmp81_);
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp83_ = _tmp82_;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp84_ = string_substring (_tmp83_, (glong) 1, (glong) -1);
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp85_ = _tmp84_;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp80_, "name", _tmp85_);
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp85_);
+#line 571 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp86_ = add;
+#line 571 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp86_, "type", "function");
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp87_ = add;
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp88_ = m;
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp89_ = _tmp88_->desc;
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp87_, "desc", _tmp89_);
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp90_ = add;
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp91_ = m;
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp92_ = jsdoc_symbol_makeFuncSkel (_tmp91_);
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp93_ = _tmp92_;
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp90_, "sig", _tmp93_);
+#line 573 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp93_);
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp95_ = m;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp96_ = _tmp95_->memberOf;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp97_ = data;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp98_ = _tmp97_->alias;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_strcmp0 (_tmp96_, _tmp98_) == 0) {
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp94_ = "";
+#line 4238 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp99_;
+ const gchar* _tmp100_;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp99_ = m;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp100_ = _tmp99_->memberOf;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp94_ = _tmp100_;
+#line 4248 "DocBuilder.c"
+ }
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp101_ = add;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp101_, "memberOf", _tmp94_);
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp102_ = events;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp103_ = add;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp104_ = _json_object_ref0 (_tmp103_);
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp102_, _tmp104_);
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 4266 "DocBuilder.c"
+ }
+ }
+ }
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp105_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ownMethods = _tmp105_;
+#line 4274 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 4279 "DocBuilder.c"
+ {
+ gboolean _tmp106_ = FALSE;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp106_ = TRUE;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 4286 "DocBuilder.c"
+ gint _tmp108_;
+ JSDOCSymbol* _tmp109_;
+ GeeArrayList* _tmp110_;
+ gint _tmp111_;
+ gint _tmp112_;
+ JSDOCSymbol* e = NULL;
+ JSDOCSymbol* _tmp113_;
+ GeeArrayList* _tmp114_;
+ gint _tmp115_;
+ gpointer _tmp116_;
+ gboolean _tmp117_ = FALSE;
+ JSDOCSymbol* _tmp118_;
+ gboolean _tmp119_;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp106_) {
+#line 4302 "DocBuilder.c"
+ gint _tmp107_;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp107_ = i;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp107_ + 1;
+#line 4308 "DocBuilder.c"
+ }
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp106_ = FALSE;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp108_ = i;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp109_ = data;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp110_ = _tmp109_->methods;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp111_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp110_);
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp112_ = _tmp111_;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp108_ < _tmp112_)) {
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 4326 "DocBuilder.c"
+ }
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp113_ = data;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp114_ = _tmp113_->methods;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp115_ = i;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp116_ = gee_abstract_list_get ((GeeAbstractList*) _tmp114_, _tmp115_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ e = (JSDOCSymbol*) _tmp116_;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp118_ = e;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp119_ = _tmp118_->isEvent;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp119_) {
+#line 4344 "DocBuilder.c"
+ JSDOCSymbol* _tmp120_;
+ gboolean _tmp121_;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp120_ = e;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp121_ = _tmp120_->isIgnored;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp117_ = !_tmp121_;
+#line 4353 "DocBuilder.c"
+ } else {
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp117_ = FALSE;
+#line 4357 "DocBuilder.c"
+ }
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp117_) {
+#line 4361 "DocBuilder.c"
+ GeeArrayList* _tmp122_;
+ JSDOCSymbol* _tmp123_;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp122_ = ownMethods;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp123_ = e;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp122_, _tmp123_);
+#line 4370 "DocBuilder.c"
+ }
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (e);
+#line 4374 "DocBuilder.c"
+ }
+ }
+ }
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp124_ = ownMethods;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_list_sort ((GeeList*) _tmp124_, ___lambda13__gcompare_data_func, g_object_ref (self), g_object_unref);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp125_ = json_array_new ();
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ methods = _tmp125_;
+#line 4386 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 4391 "DocBuilder.c"
+ {
+ gboolean _tmp126_ = FALSE;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp126_ = TRUE;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 4398 "DocBuilder.c"
+ gint _tmp128_;
+ GeeArrayList* _tmp129_;
+ gint _tmp130_;
+ gint _tmp131_;
+ JSDOCSymbol* m = NULL;
+ GeeArrayList* _tmp132_;
+ gint _tmp133_;
+ gpointer _tmp134_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp135_;
+ JsonObject* _tmp136_;
+ JSDOCSymbol* _tmp137_;
+ const gchar* _tmp138_;
+ const gchar* _tmp139_;
+ JsonObject* _tmp140_;
+ JsonObject* _tmp141_;
+ JSDOCSymbol* _tmp142_;
+ const gchar* _tmp143_;
+ JsonObject* _tmp144_;
+ JSDOCSymbol* _tmp145_;
+ gchar* _tmp146_;
+ gchar* _tmp147_;
+ JsonObject* _tmp148_;
+ JSDOCSymbol* _tmp149_;
+ gboolean _tmp150_;
+ const gchar* _tmp151_ = NULL;
+ JSDOCSymbol* _tmp152_;
+ const gchar* _tmp153_;
+ JSDOCSymbol* _tmp154_;
+ const gchar* _tmp155_;
+ JsonObject* _tmp158_;
+ JsonArray* _tmp159_;
+ JsonObject* _tmp160_;
+ JsonObject* _tmp161_;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp126_) {
+#line 4435 "DocBuilder.c"
+ gint _tmp127_;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp127_ = i;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp127_ + 1;
+#line 4441 "DocBuilder.c"
+ }
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp126_ = FALSE;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp128_ = i;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp129_ = ownMethods;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp130_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp129_);
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp131_ = _tmp130_;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp128_ < _tmp131_)) {
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 4457 "DocBuilder.c"
+ }
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp132_ = ownMethods;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp133_ = i;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp134_ = gee_abstract_list_get ((GeeAbstractList*) _tmp132_, _tmp133_);
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ m = (JSDOCSymbol*) _tmp134_;
+#line 594 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp135_ = json_object_new ();
+#line 594 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp135_;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp136_ = add;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp137_ = m;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp138_ = jsdoc_symbol_get_name (_tmp137_);
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp139_ = _tmp138_;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp136_, "name", _tmp139_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp140_ = add;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp140_, "type", "function");
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp141_ = add;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp142_ = m;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp143_ = _tmp142_->desc;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp141_, "desc", _tmp143_);
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp144_ = add;
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp145_ = m;
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp146_ = jsdoc_symbol_makeMethodSkel (_tmp145_);
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp147_ = _tmp146_;
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp144_, "sig", _tmp147_);
+#line 598 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp147_);
+#line 599 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp148_ = add;
+#line 599 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp149_ = m;
+#line 599 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp150_ = _tmp149_->isStatic;
+#line 599 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp148_, "static", _tmp150_);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp152_ = m;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp153_ = _tmp152_->memberOf;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp154_ = data;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp155_ = _tmp154_->alias;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_strcmp0 (_tmp153_, _tmp155_) == 0) {
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp151_ = "";
+#line 4525 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp156_;
+ const gchar* _tmp157_;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp156_ = m;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp157_ = _tmp156_->memberOf;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp151_ = _tmp157_;
+#line 4535 "DocBuilder.c"
+ }
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp158_ = add;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp158_, "memberOf", _tmp151_);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp159_ = methods;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp160_ = add;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp161_ = _json_object_ref0 (_tmp160_);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp159_, _tmp161_);
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (m);
+#line 4553 "DocBuilder.c"
+ }
+ }
+ }
+#line 611 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp162_ = json_object_new ();
+#line 611 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ret = _tmp162_;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp163_ = props;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp164_ = _json_array_ref0 (_tmp163_);
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (ret, "props", _tmp164_);
+#line 613 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp165_ = events;
+#line 613 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp166_ = _json_array_ref0 (_tmp165_);
+#line 613 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (ret, "events", _tmp166_);
+#line 614 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp167_ = methods;
+#line 614 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp168_ = _json_array_ref0 (_tmp167_);
+#line 614 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (ret, "methods", _tmp168_);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = ret;
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (methods);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (ownMethods);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (events);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (ownEvents);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (props);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (cfgProperties);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 4595 "DocBuilder.c"
+}
+
+
+static JsonObject* jsdoc_doc_builder_class_tree_new_obj (JSDOCDocBuilder* self, const gchar* name, gboolean is_class, gboolean* is_new) {
+ gboolean _vala_is_new = FALSE;
+ JsonObject* result = NULL;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gboolean _tmp2_;
+ const gchar* _tmp12_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp13_;
+ JsonObject* _tmp14_;
+ const gchar* _tmp15_;
+ JsonObject* _tmp16_;
+ JsonArray* _tmp17_;
+ JsonObject* _tmp18_;
+ gboolean _tmp19_;
+ GeeHashMap* _tmp20_;
+ const gchar* _tmp21_;
+ JsonObject* _tmp22_;
+ gchar** bits = NULL;
+ const gchar* _tmp23_;
+ gchar** _tmp24_;
+ gchar** _tmp25_;
+ gint bits_length1;
+ gint _bits_size_;
+ gchar** _tmp26_;
+ gint _tmp26__length1;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 629 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = self->priv->class_tree_map;
+#line 629 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = name;
+#line 629 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 629 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp2_) {
+#line 4637 "DocBuilder.c"
+ JsonObject* ret = NULL;
+ GeeHashMap* _tmp3_;
+ const gchar* _tmp4_;
+ gpointer _tmp5_;
+ gboolean _tmp6_ = FALSE;
+ JsonObject* _tmp7_;
+ gboolean _tmp8_;
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = self->priv->class_tree_map;
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = name;
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp4_);
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ ret = (JsonObject*) _tmp5_;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = ret;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = json_object_get_boolean_member (_tmp7_, "is_class");
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp8_) {
+#line 4659 "DocBuilder.c"
+ gboolean _tmp9_;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = is_class;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = _tmp9_;
+#line 4665 "DocBuilder.c"
+ } else {
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = FALSE;
+#line 4669 "DocBuilder.c"
+ }
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp6_) {
+#line 4673 "DocBuilder.c"
+ JsonObject* _tmp10_;
+ gboolean _tmp11_;
+#line 632 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = ret;
+#line 632 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = is_class;
+#line 632 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp10_, "is_class", _tmp11_);
+#line 4682 "DocBuilder.c"
+ }
+#line 634 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _vala_is_new = FALSE;
+#line 635 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = ret;
+#line 635 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (is_new) {
+#line 635 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ *is_new = _vala_is_new;
+#line 4692 "DocBuilder.c"
+ }
+#line 635 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 4696 "DocBuilder.c"
+ }
+#line 639 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = name;
+#line 639 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:639: Class Tree: new object %s", _tmp12_);
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = json_object_new ();
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp13_;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = add;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = name;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_string_member (_tmp14_, "name", _tmp15_);
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = add;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = json_array_new ();
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_array_member (_tmp16_, "cn", _tmp17_);
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = add;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = is_class;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_object_set_boolean_member (_tmp18_, "is_class", _tmp19_);
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = self->priv->class_tree_map;
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = name;
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = add;
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp20_, _tmp21_, _tmp22_);
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = name;
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = _tmp24_ = g_strsplit (_tmp23_, ".", 0);
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits = _tmp25_;
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits_length1 = _vala_array_length (_tmp24_);
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _bits_size_ = bits_length1;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = bits;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26__length1 = bits_length1;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp26__length1 == 1) {
+#line 4748 "DocBuilder.c"
+ JsonArray* _tmp27_;
+ JsonObject* _tmp28_;
+ JsonObject* _tmp29_;
+#line 648 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = self->priv->class_tree_top;
+#line 648 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = add;
+#line 648 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = _json_object_ref0 (_tmp28_);
+#line 648 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp27_, _tmp29_);
+#line 4760 "DocBuilder.c"
+ }
+#line 651 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _vala_is_new = TRUE;
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = add;
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits = (_vala_array_free (bits, bits_length1, (GDestroyNotify) g_free), NULL);
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (is_new) {
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ *is_new = _vala_is_new;
+#line 4772 "DocBuilder.c"
+ }
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 4776 "DocBuilder.c"
+}
+
+
+static void _vala_array_add8 (gchar** * array, int* length, int* size, gchar* value) {
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if ((*length) == (*size)) {
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 4787 "DocBuilder.c"
+ }
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ (*array)[(*length)++] = value;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ (*array)[*length] = NULL;
+#line 4793 "DocBuilder.c"
+}
+
+
+static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gchar** _tmp3_;
+ gint _tmp3__length1;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = separator;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_ == NULL) {
+#line 1079 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ separator = "";
+#line 4810 "DocBuilder.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = TRUE;
+#line 4820 "DocBuilder.c"
+ } else {
+ gchar** _tmp4_;
+ gint _tmp4__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = _tmp4__length1 > 0;
+#line 4830 "DocBuilder.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp2_) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 4836 "DocBuilder.c"
+ } else {
+ gboolean _tmp5_ = FALSE;
+ gchar** _tmp6_;
+ gint _tmp6__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp6__length1 == -1) {
+#line 4847 "DocBuilder.c"
+ gchar** _tmp7_;
+ gint _tmp7__length1;
+ const gchar* _tmp8_;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_[0];
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = _tmp8_ != NULL;
+#line 4859 "DocBuilder.c"
+ } else {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = FALSE;
+#line 4863 "DocBuilder.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _tmp5_;
+#line 4867 "DocBuilder.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 4871 "DocBuilder.c"
+ gint i = 0;
+ gsize len = 0UL;
+ gint _tmp31_;
+ gint _tmp33_;
+ gint _tmp34_;
+ gsize _tmp35_;
+ const gchar* _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+ gint _tmp39_;
+ const gchar* res = NULL;
+ gsize _tmp40_;
+ void* _tmp41_;
+ void* ptr = NULL;
+ const gchar* _tmp42_;
+ gchar** _tmp43_;
+ gint _tmp43__length1;
+ const gchar* _tmp44_;
+ void* _tmp45_;
+ const gchar* _tmp62_;
+#line 1083 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = (gsize) 1;
+#line 4894 "DocBuilder.c"
+ {
+ gboolean _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 0;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = TRUE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 4903 "DocBuilder.c"
+ gboolean _tmp11_ = FALSE;
+ gboolean _tmp12_ = FALSE;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gint _tmp21_ = 0;
+ gchar** _tmp22_;
+ gint _tmp22__length1;
+ gint _tmp23_;
+ const gchar* _tmp24_;
+ gsize _tmp30_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp9_) {
+#line 4916 "DocBuilder.c"
+ gint _tmp10_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp10_ + 1;
+#line 4922 "DocBuilder.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp13__length1 != -1) {
+#line 4932 "DocBuilder.c"
+ gint _tmp14_;
+ gchar** _tmp15_;
+ gint _tmp15__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = _tmp14_ < _tmp15__length1;
+#line 4944 "DocBuilder.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = FALSE;
+#line 4948 "DocBuilder.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp12_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = TRUE;
+#line 4954 "DocBuilder.c"
+ } else {
+ gboolean _tmp16_ = FALSE;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp17__length1 == -1) {
+#line 4965 "DocBuilder.c"
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ gint _tmp19_;
+ const gchar* _tmp20_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = _tmp18_[_tmp19_];
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = _tmp20_ != NULL;
+#line 4980 "DocBuilder.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = FALSE;
+#line 4984 "DocBuilder.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp16_;
+#line 4988 "DocBuilder.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp11_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 4994 "DocBuilder.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp23_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp24_ = _tmp22_[_tmp23_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp24_ != NULL) {
+#line 5006 "DocBuilder.c"
+ gchar** _tmp25_;
+ gint _tmp25__length1;
+ gint _tmp26_;
+ const gchar* _tmp27_;
+ gint _tmp28_;
+ gint _tmp29_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp26_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp27_ = _tmp25_[_tmp26_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp28_ = strlen ((const gchar*) _tmp27_);
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp29_ = _tmp28_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = _tmp29_;
+#line 5027 "DocBuilder.c"
+ } else {
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = 0;
+#line 5031 "DocBuilder.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp30_ = len;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp30_ + _tmp21_;
+#line 5037 "DocBuilder.c"
+ }
+ }
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp31_ = i;
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp31_ == 0) {
+#line 5044 "DocBuilder.c"
+ gchar* _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp32_ = g_strdup ("");
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5052 "DocBuilder.c"
+ }
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp33_ = i;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ str_array_length1 = _tmp33_;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp34_ = str_array_length1;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp35_ = len;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp36_ = separator;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp37_ = strlen ((const gchar*) _tmp36_);
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp38_ = _tmp37_;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp39_ = i;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp40_ = len;
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp41_ = g_malloc (_tmp40_);
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = _tmp41_;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp42_ = res;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43_ = str_array;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43__length1 = str_array_length1;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp44_ = _tmp43_[0];
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp45_;
+#line 5090 "DocBuilder.c"
+ {
+ gboolean _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = TRUE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 5099 "DocBuilder.c"
+ gint _tmp48_;
+ gchar** _tmp49_;
+ gint _tmp49__length1;
+ void* _tmp50_;
+ const gchar* _tmp51_;
+ void* _tmp52_;
+ const gchar* _tmp53_ = NULL;
+ gchar** _tmp54_;
+ gint _tmp54__length1;
+ gint _tmp55_;
+ const gchar* _tmp56_;
+ void* _tmp60_;
+ void* _tmp61_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp46_) {
+#line 5115 "DocBuilder.c"
+ gint _tmp47_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp47_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp47_ + 1;
+#line 5121 "DocBuilder.c"
+ }
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp48_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49_ = str_array;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49__length1 = str_array_length1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!(_tmp48_ < _tmp49__length1)) {
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 5135 "DocBuilder.c"
+ }
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp50_ = ptr;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp51_ = separator;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp52_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp55_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp56_ = _tmp54_[_tmp55_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp56_ != NULL) {
+#line 5155 "DocBuilder.c"
+ gchar** _tmp57_;
+ gint _tmp57__length1;
+ gint _tmp58_;
+ const gchar* _tmp59_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp58_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp59_ = _tmp57_[_tmp58_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = (const gchar*) _tmp59_;
+#line 5170 "DocBuilder.c"
+ } else {
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = "";
+#line 5174 "DocBuilder.c"
+ }
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp60_ = ptr;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp61_;
+#line 5182 "DocBuilder.c"
+ }
+ }
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp62_ = res;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = NULL;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gchar*) _tmp62_;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5193 "DocBuilder.c"
+ } else {
+ gchar* _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp63_ = g_strdup ("");
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5202 "DocBuilder.c"
+ }
+}
+
+
+static void jsdoc_doc_builder_class_tree_make_parents (JSDOCDocBuilder* self, JsonObject* add) {
+ gchar* name = NULL;
+ JsonObject* _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar** bits = NULL;
+ const gchar* _tmp3_;
+ gchar** _tmp4_;
+ gchar** _tmp5_;
+ gint bits_length1;
+ gint _bits_size_;
+ gchar** _tmp6_;
+ gint _tmp6__length1;
+ gchar** nn = NULL;
+ gchar** _tmp7_;
+ gint nn_length1;
+ gint _nn_size_;
+ gchar* pname = NULL;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+ gchar* _tmp18_;
+ const gchar* _tmp19_;
+ const gchar* _tmp20_;
+ gboolean is_new = FALSE;
+ JsonObject* parent = NULL;
+ const gchar* _tmp21_;
+ gboolean _tmp22_ = FALSE;
+ JsonObject* _tmp23_;
+ JsonObject* _tmp24_;
+ JsonArray* _tmp25_;
+ JsonObject* _tmp26_;
+ JsonObject* _tmp27_;
+ gboolean _tmp28_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (self != NULL);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (add != NULL);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = add;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = json_object_get_string_member (_tmp0_, "name");
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ name = _tmp2_;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = name;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = _tmp4_ = g_strsplit (_tmp3_, ".", 0);
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits = _tmp5_;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits_length1 = _vala_array_length (_tmp4_);
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _bits_size_ = bits_length1;
+#line 661 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = bits;
+#line 661 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6__length1 = bits_length1;
+#line 661 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp6__length1 < 2) {
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits = (_vala_array_free (bits, bits_length1, (GDestroyNotify) g_free), NULL);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 5274 "DocBuilder.c"
+ }
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = g_new0 (gchar*, 0 + 1);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ nn = _tmp7_;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ nn_length1 = 0;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _nn_size_ = nn_length1;
+#line 5284 "DocBuilder.c"
+ {
+ gint i = 0;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = 0;
+#line 5289 "DocBuilder.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = TRUE;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 5296 "DocBuilder.c"
+ gint _tmp10_;
+ gchar** _tmp11_;
+ gint _tmp11__length1;
+ gchar** _tmp12_;
+ gint _tmp12__length1;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gint _tmp14_;
+ const gchar* _tmp15_;
+ gchar* _tmp16_;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!_tmp8_) {
+#line 5309 "DocBuilder.c"
+ gint _tmp9_;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = i;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ i = _tmp9_ + 1;
+#line 5315 "DocBuilder.c"
+ }
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = FALSE;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = i;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = bits;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11__length1 = bits_length1;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp10_ < (_tmp11__length1 - 1))) {
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 5329 "DocBuilder.c"
+ }
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = nn;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12__length1 = nn_length1;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = bits;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13__length1 = bits_length1;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = i;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = _tmp13_[_tmp14_];
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = g_strdup (_tmp15_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _vala_array_add8 (&nn, &nn_length1, &_nn_size_, _tmp16_);
+#line 5347 "DocBuilder.c"
+ }
+ }
+ }
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = nn;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17__length1 = nn_length1;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = _vala_g_strjoinv (".", _tmp17_, _tmp17__length1);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ pname = _tmp18_;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = name;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = pname;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:671: Class Tree: adding to parent %s => %s", _tmp19_, _tmp20_);
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = pname;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = jsdoc_doc_builder_class_tree_new_obj (self, _tmp21_, FALSE, &_tmp22_);
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ is_new = _tmp22_;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ parent = _tmp23_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = parent;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = json_object_get_array_member (_tmp24_, "cn");
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = add;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = _json_object_ref0 (_tmp26_);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ json_array_add_object_element (_tmp25_, _tmp27_);
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = is_new;
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp28_) {
+#line 5387 "DocBuilder.c"
+ JsonObject* _tmp29_;
+#line 678 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = parent;
+#line 678 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_class_tree_make_parents (self, _tmp29_);
+#line 5393 "DocBuilder.c"
+ }
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (parent);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pname);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ nn = (_vala_array_free (nn, nn_length1, (GDestroyNotify) g_free), NULL);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ bits = (_vala_array_free (bits, bits_length1, (GDestroyNotify) g_free), NULL);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 5405 "DocBuilder.c"
+}
+
+
+static JsonArray* jsdoc_doc_builder_class_tree (JSDOCDocBuilder* self, GeeArrayList* classes) {
+ JsonArray* result = NULL;
+ JsonArray* _tmp0_;
+ GeeHashMap* _tmp1_;
+ JsonArray* _tmp34_;
+ JsonArray* _tmp35_;
+#line 683 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 683 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (classes != NULL, NULL);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = json_array_new ();
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (self->priv->class_tree_top);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv->class_tree_top = _tmp0_;
+#line 710 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, json_object_get_type (), (GBoxedCopyFunc) json_object_ref, (GDestroyNotify) json_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 710 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->class_tree_map);
+#line 710 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv->class_tree_map = _tmp1_;
+#line 5431 "DocBuilder.c"
+ {
+ GeeArrayList* _cls_list = NULL;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _cls_size = 0;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _cls_index = 0;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = classes;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _cls_list = _tmp3_;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = _cls_list;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = _tmp5_;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _cls_size = _tmp6_;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _cls_index = -1;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ while (TRUE) {
+#line 5459 "DocBuilder.c"
+ gint _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ JSDOCSymbol* cls = NULL;
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gpointer _tmp12_;
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp14_ = FALSE;
+ JSDOCSymbol* _tmp15_;
+ const gchar* _tmp16_;
+ gint _tmp17_;
+ gint _tmp18_;
+ gboolean is_new = FALSE;
+ gboolean _tmp23_ = FALSE;
+ JSDOCSymbol* _tmp24_;
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ JsonObject* add = NULL;
+ JSDOCSymbol* _tmp28_;
+ const gchar* _tmp29_;
+ gboolean _tmp30_ = FALSE;
+ JsonObject* _tmp31_;
+ JsonObject* _tmp32_;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = _cls_index;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _cls_index = _tmp7_ + 1;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = _cls_index;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = _cls_size;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (!(_tmp8_ < _tmp9_)) {
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ break;
+#line 5497 "DocBuilder.c"
+ }
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = _cls_list;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = _cls_index;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ cls = (JSDOCSymbol*) _tmp12_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = cls;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = _tmp15_->alias;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = strlen (_tmp16_);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = _tmp17_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp18_ < 1) {
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = TRUE;
+#line 5519 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp19_;
+ const gchar* _tmp20_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = cls;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = _tmp19_->alias;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = g_strcmp0 (_tmp20_, "this") == 0;
+#line 5529 "DocBuilder.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp14_) {
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = TRUE;
+#line 5535 "DocBuilder.c"
+ } else {
+ JSDOCSymbol* _tmp21_;
+ const gchar* _tmp22_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = cls;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = _tmp21_->alias;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = g_strcmp0 (_tmp22_, "_global_") == 0;
+#line 5545 "DocBuilder.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp13_) {
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (cls);
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ continue;
+#line 5553 "DocBuilder.c"
+ }
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = cls;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = _tmp24_->methods;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp25_);
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = _tmp26_;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp27_ > 0) {
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = TRUE;
+#line 5567 "DocBuilder.c"
+ } else {
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = FALSE;
+#line 5571 "DocBuilder.c"
+ }
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = cls;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = _tmp28_->alias;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = jsdoc_doc_builder_class_tree_new_obj (self, _tmp29_, _tmp23_, &_tmp30_);
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ is_new = _tmp30_;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ add = _tmp31_;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = add;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp32_ != NULL) {
+#line 5587 "DocBuilder.c"
+ JsonObject* _tmp33_;
+#line 718 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = add;
+#line 718 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_class_tree_make_parents (self, _tmp33_);
+#line 5593 "DocBuilder.c"
+ }
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_object_unref0 (add);
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (cls);
+#line 5599 "DocBuilder.c"
+ }
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_cls_list);
+#line 5603 "DocBuilder.c"
+ }
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = self->priv->class_tree_top;
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = _json_array_ref0 (_tmp34_);
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp35_;
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 5613 "DocBuilder.c"
+}
+
+
+static gchar* jsdoc_doc_builder_srcFileRelName (JSDOCDocBuilder* self, const gchar* sourceFile) {
+ gchar* result = NULL;
+ gchar* rp = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCPackerRun* _tmp2_;
+ JSDOCPackerRun* _tmp3_;
+ const gchar* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (sourceFile != NULL, NULL);
+#line 731 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = sourceFile;
+#line 731 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = realpath (_tmp0_, NULL);
+#line 731 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ rp = _tmp1_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = jsdoc_packer_run_singleton ();
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = _tmp3_->opt_real_basedir;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = strlen (_tmp4_);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = _tmp5_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = string_substring (rp, (glong) _tmp6_, (glong) -1);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = _tmp7_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp3_);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = _tmp8_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (rp);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 5661 "DocBuilder.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 5672 "DocBuilder.c"
+ }
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return *re;
+#line 5676 "DocBuilder.c"
+}
+
+
+static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (old != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (replacement != NULL, NULL);
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if ((*((gchar*) self)) == '\0') {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 5695 "DocBuilder.c"
+ } else {
+ const gchar* _tmp2_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = (*((gchar*) _tmp2_)) == '\0';
+#line 5702 "DocBuilder.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = TRUE;
+#line 5708 "DocBuilder.c"
+ } else {
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = replacement;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strcmp0 (_tmp3_, _tmp4_) == 0;
+#line 5718 "DocBuilder.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 5722 "DocBuilder.c"
+ gchar* _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = g_strdup (self);
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5730 "DocBuilder.c"
+ }
+ {
+ GRegex* regex = NULL;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ GRegex* _tmp9_;
+ GRegex* _tmp10_;
+ gchar* _tmp11_ = NULL;
+ GRegex* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = old;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = g_regex_escape_string (_tmp6_, -1);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = g_regex_new (_tmp8_, 0, 0, &_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = _tmp9_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp8_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ regex = _tmp10_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 5762 "DocBuilder.c"
+ goto __catch5_g_regex_error;
+ }
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 5771 "DocBuilder.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = regex;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = replacement;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = g_regex_replace_literal (_tmp12_, self, (gssize) -1, 0, _tmp13_, 0, &_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp14_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 5787 "DocBuilder.c"
+ goto __catch5_g_regex_error;
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 5798 "DocBuilder.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = _tmp11_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = NULL;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp15_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp11_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5812 "DocBuilder.c"
+ }
+ goto __finally5;
+ __catch5_g_regex_error:
+ {
+ GError* e = NULL;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ e = _inner_error_;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _inner_error_ = NULL;
+#line 1415 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_assert_not_reached ();
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_error_free0 (e);
+#line 5826 "DocBuilder.c"
+ }
+ __finally5:
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 5837 "DocBuilder.c"
+ }
+}
+
+
+static gchar* jsdoc_doc_builder_srcFileFlatName (JSDOCDocBuilder* self, const gchar* sourceFile) {
+ gchar* result = NULL;
+ gchar* name = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_ = NULL;
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ const gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ GError * _inner_error_ = NULL;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_val_if_fail (sourceFile != NULL, NULL);
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = sourceFile;
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = jsdoc_doc_builder_srcFileRelName (self, _tmp0_);
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ name = _tmp1_;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = name;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = name;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = strlen (_tmp4_);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = _tmp5_;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_0, "\\.\\.?[\\/]", 0), _tmp3_, (gssize) _tmp6_, 0, "", 0, &_inner_error_);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = _tmp7_;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return NULL;
+#line 5893 "DocBuilder.c"
+ }
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp8_ = _tmp2_;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = NULL;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ name = _tmp8_;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = name;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = string_replace (_tmp9_, "/", "_");
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = _tmp10_;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = string_replace (_tmp11_, ":", "_");
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = _tmp12_;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = g_strconcat (_tmp13_, ".html", NULL);
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ name = _tmp14_;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp13_);
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp11_);
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ result = name;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp2_);
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return result;
+#line 5929 "DocBuilder.c"
+}
+
+
+static void jsdoc_doc_builder_makeSrcFile (JSDOCDocBuilder* self, const gchar* sourceFile) {
+ gchar* name = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCPackerRun* _tmp2_;
+ JSDOCPackerRun* _tmp3_;
+ const gchar* _tmp4_;
+ const gchar* _tmp5_;
+ gchar* str = NULL;
+ gchar* _tmp6_;
+ const gchar* _tmp7_;
+ gchar* _tmp8_ = NULL;
+ gchar* pretty = NULL;
+ const gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* fname = NULL;
+ JSDOCPackerRun* _tmp11_;
+ JSDOCPackerRun* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ gchar* tmp = NULL;
+ const gchar* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ const gchar* _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+ gchar* _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ const gchar* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ const gchar* _tmp42_;
+ gboolean _tmp43_;
+ const gchar* _tmp53_;
+ GFile* _tmp54_;
+ GFile* _tmp55_;
+ const gchar* _tmp56_;
+ GFile* _tmp57_;
+ GFile* _tmp58_;
+ GError * _inner_error_ = NULL;
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (self != NULL);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_return_if_fail (sourceFile != NULL);
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = sourceFile;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp1_ = jsdoc_doc_builder_srcFileFlatName (self, _tmp0_);
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ name = _tmp1_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp2_ = jsdoc_packer_run_singleton ();
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp3_ = _tmp2_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp4_ = _tmp3_->opt_doc_target;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp5_ = name;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_debug ("DocBuilder.vala:754: Write Source file : %s/src/%s", _tmp4_, _tmp5_);
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp3_);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp6_ = g_strdup ("");
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ str = _tmp6_;
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp7_ = sourceFile;
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp7_, &_tmp8_, NULL, &_inner_error_);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ str = _tmp8_;
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6036 "DocBuilder.c"
+ }
+#line 758 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp9_ = str;
+#line 758 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp10_ = jsdoc_pretty_print_toPretty (_tmp9_);
+#line 758 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ pretty = _tmp10_;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp11_ = jsdoc_packer_run_singleton ();
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp12_ = _tmp11_;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp13_ = _tmp12_->opt_doc_target;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp14_ = g_strconcat (_tmp13_, "/src/", NULL);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp15_ = _tmp14_;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp16_ = name;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp17_ = g_strconcat (_tmp15_, _tmp16_, NULL);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp18_ = _tmp17_;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp15_);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp12_);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ fname = _tmp18_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp19_ = self->priv->tempdir;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp20_ = fname;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp21_ = g_path_get_basename (_tmp20_);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp22_ = _tmp21_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp23_ = g_strconcat (_tmp19_, _tmp22_, NULL);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp24_ = _tmp23_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp22_);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ tmp = _tmp24_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp25_ = tmp;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp26_ = sourceFile;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp27_ = jsdoc_doc_builder_srcFileRelName (self, _tmp26_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp28_ = _tmp27_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp29_ = g_strconcat ("<html><head>" "<title>", _tmp28_, NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp30_ = _tmp29_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp31_ = g_strconcat (_tmp30_, "</title>", NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp32_ = _tmp31_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp33_ = g_strconcat (_tmp32_, "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight-" \
+"js.css\"/>", NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp34_ = _tmp33_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp35_ = g_strconcat (_tmp34_, "</head><body class=\"highlightpage\">", NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp36_ = _tmp35_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp37_ = pretty;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp38_ = g_strconcat (_tmp36_, _tmp37_, NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp39_ = _tmp38_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp40_ = g_strconcat (_tmp39_, "</body></html>", NULL);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp41_ = _tmp40_;
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_set_contents (_tmp25_, _tmp41_, (gssize) -1, &_inner_error_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp41_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp39_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp36_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp34_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp32_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp30_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (_tmp28_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 762 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6150 "DocBuilder.c"
+ }
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp42_ = fname;
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp43_ = g_file_test (_tmp42_, G_FILE_TEST_EXISTS);
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (_tmp43_) {
+#line 6158 "DocBuilder.c"
+ gchar* new_data = NULL;
+ gchar* old_data = NULL;
+ const gchar* _tmp44_;
+ gchar* _tmp45_ = NULL;
+ const gchar* _tmp46_;
+ gchar* _tmp47_ = NULL;
+ const gchar* _tmp48_;
+ const gchar* _tmp49_;
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp44_ = tmp;
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp44_, &_tmp45_, NULL, &_inner_error_);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ new_data = _tmp45_;
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6197 "DocBuilder.c"
+ }
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp46_ = fname;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_get_contents (_tmp46_, &_tmp47_, NULL, &_inner_error_);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ old_data = _tmp47_;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6229 "DocBuilder.c"
+ }
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp48_ = old_data;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp49_ = new_data;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (g_strcmp0 (_tmp48_, _tmp49_) == 0) {
+#line 6237 "DocBuilder.c"
+ const gchar* _tmp50_;
+ GFile* _tmp51_;
+ GFile* _tmp52_;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp50_ = tmp;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp51_ = g_file_new_for_path (_tmp50_);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp52_ = _tmp51_;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_delete (_tmp52_, NULL, &_inner_error_);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp52_);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6273 "DocBuilder.c"
+ }
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6291 "DocBuilder.c"
+ }
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (old_data);
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (new_data);
+#line 6297 "DocBuilder.c"
+ }
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp53_ = tmp;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp54_ = g_file_new_for_path (_tmp53_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp55_ = _tmp54_;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp56_ = fname;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp57_ = g_file_new_for_path (_tmp56_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp58_ = _tmp57_;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_file_move (_tmp55_, _tmp58_, G_FILE_COPY_OVERWRITE, NULL, NULL, NULL, &_inner_error_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp58_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (_tmp55_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_clear_error (&_inner_error_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ return;
+#line 6335 "DocBuilder.c"
+ }
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (tmp);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (fname);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (pretty);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (str);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (name);
+#line 6347 "DocBuilder.c"
+}
+
+
+static void jsdoc_doc_builder_class_init (JSDOCDocBuilderClass * klass) {
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ jsdoc_doc_builder_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCDocBuilderPrivate));
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_doc_builder_finalize;
+#line 6358 "DocBuilder.c"
+}
+
+
+static void jsdoc_doc_builder_instance_init (JSDOCDocBuilder * self) {
+ gchar* _tmp0_;
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->priv = JSDOC_DOC_BUILDER_GET_PRIVATE (self);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _tmp0_ = g_strdup ("1.0.0");
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self->VERSION = _tmp0_;
+#line 6370 "DocBuilder.c"
+}
+
+
+static void jsdoc_doc_builder_finalize (GObject * obj) {
+ JSDOCDocBuilder * self;
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilder);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (self->VERSION);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->symbolSet);
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_free0 (self->priv->tempdir);
+#line 624 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _g_object_unref0 (self->priv->class_tree_map);
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ _json_array_unref0 (self->priv->class_tree_top);
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/DocBuilder.vala"
+ G_OBJECT_CLASS (jsdoc_doc_builder_parent_class)->finalize (obj);
+#line 6392 "DocBuilder.c"
+}
+
+
+GType jsdoc_doc_builder_get_type (void) {
+ static volatile gsize jsdoc_doc_builder_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_doc_builder_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCDocBuilderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_doc_builder_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCDocBuilder), 0, (GInstanceInitFunc) jsdoc_doc_builder_instance_init, NULL };
+ GType jsdoc_doc_builder_type_id;
+ jsdoc_doc_builder_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCDocBuilder", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_doc_builder_type_id__volatile, jsdoc_doc_builder_type_id);
+ }
+ return jsdoc_doc_builder_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+
+
+namespace JSDOC
+{
+
+ class DocBuilder : Object
+ {
+
+
+ // extractable via JSON?
+ public string VERSION = "1.0.0" ;
+
+ private SymbolSet symbolSet;
+
+ private Packer packer;
+
+ public DocBuilder (Packer p)
+ {
+
+
+ GLib.debug("Roo JsDoc Toolkit started at %s ", (new GLib.DateTime.now_local()).format("Y/m/d H:i:s"));
+
+ this.packer = p;
+
+ //if (PackerRun.singleton().opt_tmp_dir != null && !FileUtils.test(PackerRun.singleton().opt_tmp_dir, GLib.FileTest.IS_DIR)) {
+ // Posix.mkdir(PackerRun.singleton().opt_tmp_dir, 0700);
+ //}
+
+
+ this.parseSrcFiles();
+
+ this.symbolSet = DocParser.symbols();
+
+ // this currently uses the concept of publish.js...
+
+ this.publish();
+
+
+ }
+
+
+
+ /**
+ * Parse the source files.
+ *
+ */
+
+ private void parseSrcFiles()
+ {
+
+
+
+ //var useCache = PackerRun.opt_cache_dir == null ;
+ //var cacheFile = "";
+
+ for (var i = 0, l = this.packer.files.size; i < l; i++) {
+
+ var srcFile = this.packer.files.get(i);
+ GLib.debug("Parsing source File: %s", srcFile);
+ /*
+ if (useCache) {
+
+ cacheFile = PackerRun.opt_cache_dir + srcFile.replace("/", '_') + ".cache";
+
+ //print(cacheFile);
+ // disabled at present!@!!
+
+ if (GLib.FileUtils.test(cacheFile, GLib.FileTest.EXISTS)) {
+ // check filetime?
+ var cache_mt = File.new_for_path (cacheFile).queryInfo(FileAttribute.TIME_MODIFIED,
+ GLib.FileQueryInfoFlags.NONE, null).
+ get_modification_time();
+ var original_mt = File.new_for_path (sourceInfo).queryInfo(FileAttribute.TIME_MODIFIED,
+ GLib.FileQueryInfoFlags.NONE, null).
+ get_modification_time();
+ // this check does not appear to work according to the doc's - need to check it out.
+
+ if (cache_mt > original_mt) { // cached time > original time!
+ // use the cached mtimes..
+ GLib.debug("Read %s" , cacheFile);
+ var parser = new Json.Parser();
+ parser.load_from_file(cacheFile);
+ var ar = parser.get_root ().get_array();
+
+ for(var i = 0;i < ar.get_length();i++) {
+ var o = ar.get_object_element(i);
+ var sym = JSON.gobject_from_data(typeof(Symbol), o) as Symbol;
+ DocParser.symbols.add(sym);
+ }
+ continue;
+ }
+ }
+ }
+ */
+ var src = "";
+ try {
+ GLib.debug("reading : %s" , srcFile);
+ GLib.FileUtils.get_contents(srcFile, out src);
+ }
+ catch(GLib.FileError e) {
+ GLib.debug("Can't read source file '%s': %s", srcFile, e.message);
+ continue;
+ }
+
+
+
+ var tr = new TokenReader(this.packer);
+ tr.keepDocs = true;
+ tr.keepWhite = true;
+ tr.keepComments = true;
+ tr.sepIdents = false;
+ tr.collapseWhite = false;
+ tr.filename = src;
+
+
+ var toks = tr.tokenize( new TextStream(src) );
+ if (PackerRun.singleton().opt_dump_tokens) {
+ toks.dump();
+ return;
+ //GLib.Process.exit(0);
+ }
+
+
+ var ts = new TokenStream(toks.tokens);
+
+
+
+
+ DocParser.parse(ts, srcFile);
+ /*
+ if (useCache) {
+
+ var ar = DocParser.symbolsToObject(srcFile);
+
+ var builder = new Json.Builder ();
+ builder.begin_array ();
+ for (var i=0;i<ar.size;i++) {
+
+ builder.add_object_value (ar.get(i));
+ }
+ builder.end_array ();
+ Json.Generator generator = new Json.Generator ();
+ Json.Node root = builder.get_root ();
+ generator.set_root (root);
+ generator.pretty= true;
+ generator.ident = 2;
+ generator.to_file(cacheFile);
+
+
+
+ }
+ */
+ }
+
+
+
+ DocParser.finish();
+ }
+ /*
+
+ //var txs =
+
+ var tr = new TokenReader(this.packer);
+ tr.keepDocs = true;
+ tr.keepWhite = true;
+ tr.keepComments = true;
+ tr.sepIdents = false;
+ tr.collapseWhite = false;
+ tr.filename = src;
+
+
+ var toks = tr.tokenize( new TextStream(src));
+ if (PackerRun.opt_dump_tokens) {
+ toks.dump();
+ return "";
+ //GLib.Process.exit(0);
+ }
+
+
+ var ts = new TokenStream(toks);
+
+
+
+
+ DocParser.parse(ts, srcFile);
+
+ if (useCache) {
+
+ var ar = DocParser.symbolsToObject(srcFile);
+
+ var builder = new Json.Builder ();
+ builder.begin_array ();
+ for (var i=0;i<ar.size;i++) {
+
+ builder.add_object_value (ar.get(i));
+ }
+ builder.end_array ();
+ Json.Generator generator = new Json.Generator ();
+ Json.Node root = builder.get_root ();
+ generator.set_root (root);
+ generator.pretty= true;
+ generator.ident = 2;
+ generator.to_file(cacheFile);
+
+
+
+ // }
+ }
+
+
+
+ Parser.finish();
+ }
+
+ */
+ string tempdir;
+
+ void publish()
+ {
+ GLib.debug("Publishing");
+
+ // link!!!
+ this.tempdir = GLib.DirUtils.make_tmp("roopackerXXXXXX");
+
+ GLib.debug("Making directories");
+ if (!FileUtils.test (PackerRun.singleton().opt_doc_target,FileTest.IS_DIR )) {
+ Posix.mkdir(PackerRun.singleton().opt_doc_target,0755);
+ }
+ if (!FileUtils.test(PackerRun.singleton().opt_doc_target+"/symbols",FileTest.IS_DIR)) {
+ Posix.mkdir(PackerRun.singleton().opt_doc_target+"/symbols",0755);
+ }
+ if (!FileUtils.test(PackerRun.singleton().opt_doc_target+"/src",FileTest.IS_DIR)) {
+ Posix.mkdir(PackerRun.singleton().opt_doc_target+"/src",0755);
+ }
+ if (!FileUtils.test(PackerRun.singleton().opt_doc_target +"/json",FileTest.IS_DIR)) {
+ Posix.mkdir(PackerRun.singleton().opt_doc_target +"/json",0755);
+ }
+
+ GLib.debug("Copying files from static: %s " , PackerRun.singleton().opt_doc_template_dir);
+ // copy everything in 'static' into
+
+ if (PackerRun.singleton().opt_doc_template_dir != null) {
+
+ var iter = GLib.File.new_for_path(
+ PackerRun.singleton().opt_doc_template_dir + "/static"
+ ).enumerate_children (
+ "standard::*",
+ FileQueryInfoFlags.NOFOLLOW_SYMLINKS,
+ null);
+ FileInfo info;
+
+ while ( (info = iter.next_file (null)) != null) {
+ if (info.get_file_type () == FileType.DIRECTORY) {
+ continue;
+ }
+ var src = File.new_for_path(info.get_name());
+ GLib.debug("Copy %s to %s/%s" ,
+ info.get_name() ,
+ PackerRun.singleton().opt_doc_target , src.get_basename());
+
+ src.copy(
+ GLib.File.new_for_path(
+ PackerRun.singleton().opt_doc_target + "/" + src.get_basename()
+ ),
+ GLib.FileCopyFlags.OVERWRITE
+ );
+ }
+
+ }
+ GLib.debug("Setting up templates");
+
+
+
+ var symbols = this.symbolSet.values();
+
+ var files = this.packer.files;
+
+ for (var i = 0, l = files.size; i < l; i++) {
+ var file = files.get(i);
+ // var targetDir = PackerRun.singleton().opt_doc_target + "/symbols/src/";
+ this.makeSrcFile(file);
+ }
+ //print(JSON.stringify(symbols,null,4));
+ var classes = new Gee.ArrayList<Symbol>();
+
+ foreach(var symbol in symbols) {
+ if (symbol.isaClass()) {
+ classes.add(symbol);
+ }
+ }
+ classes.sort( (a,b) => {
+ return a.alias.collate(b.alias);
+ });
+
+ //GLib.debug("classTemplate Process : all classes");
+
+ // var classesIndex = classesTemplate.process(classes); // kept in memory
+
+ GLib.debug("iterate classes");
+
+ var jsonAll = new Json.Object();
+
+ for (var i = 0, l = classes.size; i < l; i++) {
+ var symbol = classes.get(i);
+ var output = "";
+
+ GLib.debug("classTemplate Process : %s" , symbol.alias);
+
+
+ var class_gen = new Json.Generator ();
+ var class_root = new Json.Node(Json.NodeType.OBJECT);
+ class_root.init_object(this.class_to_json(symbol));
+ class_gen.set_root (class_root);
+ class_gen.pretty= true;
+ class_gen.indent = 2;
+ GLib.warning("writing JSON: %s", PackerRun.singleton().opt_doc_target+"/symbols/" +symbol.alias+".json");
+ this.writeJson(class_gen, PackerRun.singleton().opt_doc_target+"/symbols/" +symbol.alias+".json");
+
+ jsonAll.set_object_member(symbol.alias, this.publishJSON(symbol));
+
+ }
+
+ // outptu class truee
+
+ var class_tree_gen = new Json.Generator ();
+ var class_tree_root = new Json.Node(Json.NodeType.ARRAY);
+ class_tree_root.init_array(this.class_tree(classes));
+ class_tree_gen.set_root (class_tree_root);
+ class_tree_gen.pretty= true;
+ class_tree_gen.indent = 2;
+ GLib.warning("writing JSON: %s", PackerRun.singleton().opt_doc_target+"/tree.json");
+ this.writeJson(class_tree_gen,PackerRun.singleton().opt_doc_target+"/tree.json");
+ size_t class_tree_l;
+ //GLib.debug("JSON: %s", class_tree_gen.to_data(out class_tree_l));
+
+
+
+ /*---- this is our 'builder' json file.. -- a full list of objects+functions */
+
+
+ var generator = new Json.Generator ();
+ var root = new Json.Node(Json.NodeType.OBJECT);
+ root.init_object(jsonAll);
+ generator.set_root (root);
+ generator.pretty= true;
+ generator.indent = 2;
+ GLib.warning("writing JSON: %s", PackerRun.singleton().opt_doc_target+"/json/roodata.json");
+
+
+ this.writeJson(generator,PackerRun.singleton().opt_doc_target+"/json/roodata.json");
+ size_t l;
+ //GLib.debug("JSON: %s", generator.to_data(out l));
+
+
+
+
+ GLib.debug("build index");
+
+
+
+ }
+
+ Json.Object class_to_json (Symbol cls)
+ {
+ var ret = new Json.Object();
+ ret.set_string_member("name", cls.alias);
+ var ag = new Json.Array();
+ ret.set_array_member("augments", ag);
+ for(var ii = 0, il = cls.augments.size; ii < il; ii++) {
+ var contributer = this.symbolSet.getSymbol(cls.augments[ii]);
+ if (contributer == null) {
+ continue;
+ }
+ ag.add_string_element(contributer.alias);
+ }
+ ret.set_string_member("name", cls.alias);
+ ret.set_string_member("desc", cls.desc);
+ ret.set_boolean_member("isSingleton", cls.comment.getTag(DocTagTitle.SINGLETON).size > 0);
+ ret.set_boolean_member("isStatic", cls.isa != "CONSTRUCTOR");
+ ret.set_boolean_member("isBuiltin", cls.isBuiltin());
+
+ // needded so that the class can fake a ctor..
+ ret.set_string_member("memberOf", cls.name);
+ ret.set_string_member("example", cls.comment.getTagAsString(DocTagTitle.EXAMPLE));
+ ret.set_string_member("deprecated", // as depricated is used as a flag...
+ cls.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ?
+ "This has been deprecated: "+ cls.comment.getTagAsString(DocTagTitle.DEPRECATED) :
+ "");
+ ret.set_string_member("since", cls.comment.getTagAsString(DocTagTitle.SINCE));
+ ret.set_string_member("see", cls.comment.getTagAsString(DocTagTitle.SINCE));
+ // not supported or used yet?
+ //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+ //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+ ret.set_array_member("params", cls.paramsToJson());
+ ret.set_array_member("returns", new Json.Array());
+
+ //ret.set_string_member("desc", cls.comment.getTagAsString(DocTagTitle.DESC));
+ /// fixme - @see ... any others..
+
+ var props = new Json.Array();
+ ret.set_array_member("config", props);
+ var cfgProperties = cls.configToArray();
+ for(var i =0; i < cfgProperties.size;i++) {
+ var p = cfgProperties.get(i);
+ var add = new Json.Object();
+ add.set_string_member("name",p.name);
+ add.set_string_member("type",p.type);
+ add.set_string_member("desc",p.desc);
+ add.set_string_member("memberOf", p.memberOf);
+ add.set_array_member("values",p.optvalues.size > 0 ? p.optvalue_as_json_array() : new Json.Array());
+ props.add_object_element(add );
+ }
+
+ // methods
+
+
+ var methods = new Json.Array();
+ ret.set_array_member("methods", methods);
+ foreach(var m in cls.methods) {
+ if (m.isEvent || m.isIgnored) {
+ continue;
+ }
+
+ var add = new Json.Object();
+ add.set_string_member("name",m.name);
+ //add.set_string_member("type","function");
+ add.set_string_member("desc",m.desc);
+ //add.set_string_member("sig", m.makeMethodSkel());
+ add.set_boolean_member("isStatic", m.isStatic);
+ add.set_boolean_member("isConstructor", m.isa == "CONSTRUCTOR");
+ add.set_boolean_member("isPrivate", m.isPrivate);
+ //add.set_string_member("instanceOf", m.comment.getTagAsString(DocTagTitle.INSTANCEOF));
+ add.set_string_member("memberOf", m.memberOf);
+ add.set_string_member("example", m.comment.getTagAsString(DocTagTitle.EXAMPLE));
+ add.set_string_member("deprecated", // as depricated is used as a flag...
+ m.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ?
+ "This has been deprecated: "+ m.comment.getTagAsString(DocTagTitle.DEPRECATED) :
+ "");
+ add.set_string_member("since", m.comment.getTagAsString(DocTagTitle.SINCE));
+ add.set_string_member("see", m.comment.getTagAsString(DocTagTitle.SINCE));
+ // not supported or used yet?
+ //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+ //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+ add.set_array_member("params", m.paramsToJson());
+ add.set_array_member("returns", m.returnsToJson());
+
+ /// fixme - @see ... any others..
+
+
+ methods.add_object_element(add);
+ }
+
+
+ var events = new Json.Array();
+ ret.set_array_member("events", events);
+ foreach(var m in cls.methods) {
+ if (!m.isEvent || m.isIgnored) {
+ continue;
+ }
+
+ var add = new Json.Object();
+ add.set_string_member("name",m.name.substring(1)); // all prefixed with '*'...
+ //add.set_string_member("type","function");
+ add.set_string_member("desc",m.desc);
+ //add.set_string_member("sig", m.makeMethodSkel());
+
+ add.set_string_member("memberOf", m.memberOf);
+ add.set_string_member("example", m.comment.getTagAsString(DocTagTitle.EXAMPLE));
+ add.set_string_member("deprecated", // as depricated is used as a flag...
+ m.comment.getTag(DocTagTitle.DEPRECATED).size > 0 ?
+ "This has been deprecated: "+ m.comment.getTagAsString(DocTagTitle.DEPRECATED) :
+ "");
+ add.set_string_member("since", m.comment.getTagAsString(DocTagTitle.SINCE));
+ add.set_string_member("see", m.comment.getTagAsString(DocTagTitle.SINCE));
+ // not supported or used yet?
+ //add.set_string_member("exceptions", m.comment.getTagAsString(DocTagTitle.EXCEPTIONS));
+ //add.set_string_member("requires", m.comment.getTagAsString(DocTagTitle.REQUIRES));
+
+ add.set_array_member("params", m.paramsToJson());
+ add.set_array_member("returns", m.returnsToJson());
+
+ /// fixme - @see ... any others..
+
+
+ events.add_object_element(add);
+ }
+
+
+
+
+ return ret;
+ }
+ /**
+ * needed as Json dumps .xXXX into same directory as it writes...
+ */
+ void writeJson(Json.Generator g, string fname)
+ {
+ var tmp = this.tempdir + GLib.Path.get_basename(fname);
+ g.to_file(tmp);
+
+ if (GLib.FileUtils.test(fname, GLib.FileTest.EXISTS)) {
+ string new_data, old_data;
+ FileUtils.get_contents(tmp, out new_data);
+ FileUtils.get_contents(fname, out old_data);
+ if (old_data == new_data) {
+ GLib.File.new_for_path(tmp).delete();
+ return;
+ }
+ }
+
+ GLib.File.new_for_path(tmp).move( File.new_for_path(fname), GLib.FileCopyFlags.OVERWRITE);
+
+ }
+
+ /**
+ * JSON files are lookup files for the documentation
+ * - can be used by IDE's or AJAX based doc tools
+ *
+ *
+ */
+ Json.Object publishJSON (Symbol data)
+ {
+ // what we need to output to be usefull...
+ // a) props..
+ var cfgProperties = new Gee.ArrayList<DocTag>();
+ if (data.comment.getTag(DocTagTitle.SINGLETON).size < 1) {
+ cfgProperties = data.configToArray();
+ cfgProperties.sort((a,b) =>{
+ return a.name.collate(b.name);
+ });
+
+ }
+
+ var props = new Json.Array();
+ //println(cfgProperties.toSource());
+
+ for(var i =0; i < cfgProperties.size;i++) {
+ var p = cfgProperties.get(i);
+ var add = new Json.Object();
+ add.set_string_member("name",p.name);
+ add.set_string_member("type",p.type);
+ add.set_string_member("desc",p.desc);
+ add.set_string_member("memberOf", p.memberOf == data.alias ? "" : p.memberOf);
+
+ if (p.optvalues.size > 0) {
+ add.set_array_member("desc",p.optvalue_as_json_array());
+ }
+
+ props.add_object_element(add );
+ }
+
+ ///// --- events
+ var ownEvents = new Gee.ArrayList<Symbol>();
+ for(var i =0; i < data.methods.size;i++) {
+ var e = data.methods.get(i);
+ if (e.isEvent && !e.isIgnored) {
+ ownEvents.add(e);
+ }
+ };
+ ownEvents.sort((a,b) => {
+ return a.name.collate(b.name);
+ });
+
+ var events = new Json.Array();
+
+ for(var i =0; i < ownEvents.size;i++) {
+ var m = ownEvents.get(i);
+ var add = new Json.Object();
+ add.set_string_member("name",m.name.substring(1,-1)); // remove'*' on events..
+ add.set_string_member("type","function");
+ add.set_string_member("desc",m.desc);
+ add.set_string_member("sig", m.makeFuncSkel());
+ add.set_string_member("memberOf", m.memberOf == data.alias ? "" : m.memberOf);
+ events.add_object_element(add);
+ }
+
+ // methods
+ var ownMethods = new Gee.ArrayList<Symbol>();
+ for(var i =0; i < data.methods.size;i++) {
+ var e = data.methods.get(i);
+ if (!e.isEvent && !e.isIgnored) {
+ ownMethods.add(e);
+ }
+ };
+ ownMethods.sort((a,b) => {
+ return a.name.collate(b.name);
+ });
+
+ var methods = new Json.Array();
+
+ for(var i =0; i < ownMethods.size;i++) {
+ var m = ownMethods.get(i);
+ var add = new Json.Object();
+ add.set_string_member("name",m.name);
+ add.set_string_member("type","function");
+ add.set_string_member("desc",m.desc);
+ add.set_string_member("sig", m.makeMethodSkel());
+ add.set_boolean_member("static", m.isStatic);
+ add.set_string_member("memberOf", m.memberOf == data.alias ? "" : m.memberOf);
+ methods.add_object_element(add);
+ }
+
+ //println(props.toSource());
+ // we need to output:
+ //classname => {
+ // propname =>
+ // type=>
+ // desc=>
+ // }
+ var ret = new Json.Object();
+ ret.set_array_member("props", props);
+ ret.set_array_member("events", events);
+ ret.set_array_member("methods", methods);
+
+ return ret;
+
+
+ // b) methods
+ // c) events
+
+
+ }
+ Gee.HashMap<string,Json.Object> class_tree_map;
+ Json.Array class_tree_top;
+
+ Json.Object? class_tree_new_obj(string name, bool is_class, out bool is_new)
+ {
+ if (this.class_tree_map.has_key(name)) {
+ var ret = this.class_tree_map.get(name);
+ if (!ret.get_boolean_member("is_class") && is_class) {
+ ret.set_boolean_member("is_class", is_class);
+ }
+ is_new = false;
+ return ret; // no need to do anything
+
+ }
+
+ GLib.debug("Class Tree: new object %s", name);
+ var add = new Json.Object();
+ add.set_string_member("name", name);
+ add.set_array_member("cn", new Json.Array());
+ add.set_boolean_member("is_class", is_class);
+ this.class_tree_map.set(name, add);
+ var bits = name.split(".");
+ if (bits.length == 1) {
+ // top level..
+ this.class_tree_top.add_object_element(add);
+
+ }
+ is_new = true;
+
+ return add;
+
+ }
+
+ void class_tree_make_parents( Json.Object add)
+ {
+ var name = add.get_string_member("name");
+ var bits = name.split(".");
+ if (bits.length < 2) {
+ return;
+ }
+ // got aaa.bb or aaa.bb.cc
+ // find the parent..
+ string[] nn = {};
+ for(var i=0; i < bits.length-1; i++) {
+ nn += bits[i];
+ }
+ var pname = string.joinv(".", nn);
+ GLib.debug("Class Tree: adding to parent %s => %s", name, pname);
+
+ // no parent found.. make one..
+ bool is_new;
+ var parent = this.class_tree_new_obj(pname, false, out is_new);
+ parent.get_array_member("cn").add_object_element(add);
+ if (is_new) {
+ this.class_tree_make_parents( parent);
+ }
+
+
+ }
+ Json.Array class_tree (Gee.ArrayList<Symbol> classes )
+ {
+
+
+ // produce a tree array that can be used to render the navigation.
+ /*
+ should produce:
+
+ [
+ {
+ name : Roo,
+ desc : ....
+ is_class : true,
+ cn : [
+ {
+ name : 'Roo.util',
+ basename : 'util',
+ is_class : false,
+ cn : [
+ {
+ ....
+
+ to do this, we will need to create the objects in a hashmap
+ Roo.util => Json.Object
+
+ */
+ this.class_tree_top = new Json.Array();
+ this.class_tree_map = new Gee.HashMap<string,Json.Object>();
+ foreach (var cls in classes) {
+ if(cls.alias.length < 1 || cls.alias == "this" || cls.alias == "_global_") {
+ continue;
+ }
+ bool is_new;
+ var add = this.class_tree_new_obj(cls.alias, cls.methods.size > 0 ? true : false,out is_new);
+ if (add != null) {
+ this.class_tree_make_parents( add);
+ }
+
+ }
+
+ return this.class_tree_top;
+
+ }
+
+
+ // in Link (js) ???
+ string srcFileRelName(string sourceFile)
+ {
+ var rp = Posix.realpath(sourceFile);
+ return rp.substring(PackerRun.singleton().opt_real_basedir.length);
+ }
+ string srcFileFlatName(string sourceFile)
+ {
+ var name = this.srcFileRelName(sourceFile);
+ name = /\.\.?[\/]/.replace(name, name.length, 0, "");
+ name = name.replace("/", "_").replace(":", "_") + ".html";
+ return name;
+ }
+
+
+ void makeSrcFile(string sourceFile)
+ {
+ // this stuff works...
+
+
+
+ // this check does not appear to work according to the doc's - need to check it out.
+
+
+ var name = this.srcFileFlatName(sourceFile);
+
+ GLib.debug("Write Source file : %s/src/%s",
+ PackerRun.singleton().opt_doc_target, name);
+ var str = "";
+ FileUtils.get_contents(sourceFile, out str);
+ var pretty = PrettyPrint.toPretty(str);
+ var fname = PackerRun.singleton().opt_doc_target+"/src/" + name;
+
+ var tmp = this.tempdir + GLib.Path.get_basename(fname);
+ FileUtils.set_contents(
+ tmp,
+ "<html><head>" +
+ "<title>" + this.srcFileRelName(sourceFile) + "</title>" +
+ "<link rel=\"stylesheet\" type=\"text/css\" href=\"../../css/highlight-js.css\"/>" +
+ "</head><body class=\"highlightpage\">" +
+ pretty +
+ "</body></html>");
+
+ // same content?
+ if (GLib.FileUtils.test(fname, GLib.FileTest.EXISTS)) {
+ string new_data, old_data;
+ FileUtils.get_contents(tmp, out new_data);
+ FileUtils.get_contents(fname, out old_data);
+ if (old_data == new_data) {
+ GLib.File.new_for_path(tmp).delete();
+ return;
+ }
+ }
+
+ GLib.File.new_for_path(tmp).move( File.new_for_path(fname), GLib.FileCopyFlags.OVERWRITE);
+
+
+
+
+ }
+ }
+
+}
+
+
+
+
+
+
+
+
+
+
+
--- /dev/null
+/* DocComment.c generated by valac 0.36.6, the Vala compiler
+ * generated from DocComment.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+typedef struct _JSDOCDocCommentPrivate JSDOCDocCommentPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+
+struct _JSDOCDocComment {
+ GObject parent_instance;
+ JSDOCDocCommentPrivate * priv;
+ gboolean isUserComment;
+ gboolean hasTags;
+ gchar* src;
+ GeeArrayList* tags;
+};
+
+struct _JSDOCDocCommentClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_DOC_TAG_TITLE_NO_VALUE,
+ JSDOC_DOC_TAG_TITLE_PARAM,
+ JSDOC_DOC_TAG_TITLE_PROPERTY,
+ JSDOC_DOC_TAG_TITLE_CFG,
+ JSDOC_DOC_TAG_TITLE_EXAMPLE,
+ JSDOC_DOC_TAG_TITLE_SINGLETON,
+ JSDOC_DOC_TAG_TITLE_AUTHOR,
+ JSDOC_DOC_TAG_TITLE_METHOD,
+ JSDOC_DOC_TAG_TITLE_DESC,
+ JSDOC_DOC_TAG_TITLE_OVERVIEW,
+ JSDOC_DOC_TAG_TITLE_SINCE,
+ JSDOC_DOC_TAG_TITLE_CONSTANT,
+ JSDOC_DOC_TAG_TITLE_VERSION,
+ JSDOC_DOC_TAG_TITLE_DEPRECATED,
+ JSDOC_DOC_TAG_TITLE_SEE,
+ JSDOC_DOC_TAG_TITLE_CLASS,
+ JSDOC_DOC_TAG_TITLE_NAMESPACE,
+ JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+ JSDOC_DOC_TAG_TITLE_STATIC,
+ JSDOC_DOC_TAG_TITLE_INNER,
+ JSDOC_DOC_TAG_TITLE_FIELD,
+ JSDOC_DOC_TAG_TITLE_FUNCTION,
+ JSDOC_DOC_TAG_TITLE_EVENT,
+ JSDOC_DOC_TAG_TITLE_NAME,
+ JSDOC_DOC_TAG_TITLE_RETURN,
+ JSDOC_DOC_TAG_TITLE_THROWS,
+ JSDOC_DOC_TAG_TITLE_REQUIRES,
+ JSDOC_DOC_TAG_TITLE_TYPE,
+ JSDOC_DOC_TAG_TITLE_PRIVATE,
+ JSDOC_DOC_TAG_TITLE_IGNORE,
+ JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+ JSDOC_DOC_TAG_TITLE_EXTENDS,
+ JSDOC_DOC_TAG_TITLE_DEFAULT,
+ JSDOC_DOC_TAG_TITLE_MEMBEROF,
+ JSDOC_DOC_TAG_TITLE_PUBLIC,
+ JSDOC_DOC_TAG_TITLE_SCOPE,
+ JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+struct _JSDOCDocTag {
+ GObject parent_instance;
+ JSDOCDocTagPrivate * priv;
+ JSDOCDocTagTitle title;
+ gchar* type;
+ gchar* name;
+ gboolean isOptional;
+ gchar* defaultValue;
+ gchar* desc;
+ GeeArrayList* optvalues;
+ gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_doc_comment_parent_class = NULL;
+static GRegex* jsdoc_doc_comment_has_tag_regex;
+static GRegex* jsdoc_doc_comment_has_tag_regex = NULL;
+static GRegex* jsdoc_doc_comment_tag_regex;
+static GRegex* jsdoc_doc_comment_tag_regex = NULL;
+static GRegex* jsdoc_doc_comment_comment_line_start_regex;
+static GRegex* jsdoc_doc_comment_comment_line_start_regex = NULL;
+static GRegex* jsdoc_doc_comment_comment_line_start_white_space_regex;
+static GRegex* jsdoc_doc_comment_comment_line_start_white_space_regex = NULL;
+static GRegex* jsdoc_doc_comment_comment_needs_desc_regex;
+static GRegex* jsdoc_doc_comment_comment_needs_desc_regex = NULL;
+extern gchar* jsdoc_doc_comment_shared;
+gchar* jsdoc_doc_comment_shared = NULL;
+static gboolean jsdoc_doc_comment_done_init;
+static gboolean jsdoc_doc_comment_done_init = FALSE;
+
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_DOC_COMMENT_DUMMY_PROPERTY
+};
+static void jsdoc_doc_comment_initRegex (void);
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment);
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment);
+gchar* jsdoc_doc_comment_unwrapComment (const gchar* comment);
+static void jsdoc_doc_comment_fixDesc (JSDOCDocComment* self);
+JSDOCDocTag* jsdoc_doc_tag_new (const gchar* in_src);
+JSDOCDocTag* jsdoc_doc_tag_construct (GType object_type, const gchar* in_src);
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+gchar* jsdoc_doc_comment_getTagAsString (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+static void _vala_array_add9 (gchar** * array, int* length, int* size, gchar* value);
+static void jsdoc_doc_comment_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static GRegex* _tmp_regex_0 = NULL;
+static GRegex* _tmp_regex_1 = NULL;
+static GRegex* _tmp_regex_2 = NULL;
+static GRegex* _tmp_regex_3 = NULL;
+
+static void jsdoc_doc_comment_initRegex (void) {
+ gboolean _tmp0_;
+ GRegex* _tmp1_ = NULL;
+ GRegex* _tmp2_;
+ GRegex* _tmp3_;
+ GRegex* _tmp4_ = NULL;
+ GRegex* _tmp5_;
+ GRegex* _tmp6_;
+ GRegex* _tmp7_ = NULL;
+ GRegex* _tmp8_;
+ GRegex* _tmp9_;
+ GRegex* _tmp10_ = NULL;
+ GRegex* _tmp11_;
+ GRegex* _tmp12_;
+ GRegex* _tmp13_ = NULL;
+ GRegex* _tmp14_;
+ GRegex* _tmp15_;
+ GError * _inner_error_ = NULL;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = jsdoc_doc_comment_done_init;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp0_) {
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 177 "DocComment.c"
+ }
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = g_regex_new ("^\\s*@\\s*\\S+", 0, 0, &_inner_error_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = _tmp2_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 191 "DocComment.c"
+ }
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = _tmp1_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = NULL;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (jsdoc_doc_comment_has_tag_regex);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_has_tag_regex = _tmp3_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = g_regex_new ("(^|[\\r\\n])\\s*@", 0, 0, &_inner_error_);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = _tmp5_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp1_);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 215 "DocComment.c"
+ }
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = _tmp4_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = NULL;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (jsdoc_doc_comment_tag_regex);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_tag_regex = _tmp6_;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = g_regex_new ("(^\\/\\*\\*|\\*\\/$)", 0, 0, &_inner_error_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = _tmp8_;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp4_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp1_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 241 "DocComment.c"
+ }
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = _tmp7_;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = NULL;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (jsdoc_doc_comment_comment_line_start_regex);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_comment_line_start_regex = _tmp9_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = g_regex_new ("\\s*\\* ?", 0, 0, &_inner_error_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = _tmp11_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp7_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp4_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp1_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 269 "DocComment.c"
+ }
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = _tmp10_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = NULL;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (jsdoc_doc_comment_comment_line_start_white_space_regex);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_comment_line_start_white_space_regex = _tmp12_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = g_regex_new ("\\s*@(class|event|property)", 0, 0, &_inner_error_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = _tmp14_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp10_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp7_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp4_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp1_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 299 "DocComment.c"
+ }
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = _tmp13_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = NULL;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (jsdoc_doc_comment_comment_needs_desc_regex);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_comment_needs_desc_regex = _tmp15_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_done_init = TRUE;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp13_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp10_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp7_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp4_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_regex_unref0 (_tmp1_);
+#line 321 "DocComment.c"
+}
+
+
+static gchar* string_strip (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 1234 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_strstrip (_tmp1_);
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 344 "DocComment.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 355 "DocComment.c"
+ }
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return *re;
+#line 359 "DocComment.c"
+}
+
+
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment) {
+ JSDOCDocComment * self = NULL;
+ const gchar* _tmp0_;
+ GeeArrayList* _tmp1_;
+ const gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gboolean _tmp5_;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ const gchar* _tmp8_;
+ gboolean _tmp9_;
+ const gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar** bits = NULL;
+ const gchar* _tmp15_;
+ gchar** _tmp16_;
+ gchar** _tmp17_;
+ gint bits_length1;
+ gint _bits_size_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_return_val_if_fail (comment != NULL, NULL);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self = (JSDOCDocComment*) g_object_new (object_type, NULL);
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_initRegex ();
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = comment;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_debug ("DocComment.vala:58: parse comment : %s", _tmp0_);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (self->tags);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->tags = _tmp1_;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = comment;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = string_strip (_tmp2_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = _tmp3_;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = g_strcmp0 (_tmp4_, "") == 0;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp4_);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp5_) {
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ comment = "/** @desc */";
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->isUserComment = FALSE;
+#line 418 "DocComment.c"
+ }
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = comment;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = jsdoc_doc_comment_unwrapComment (_tmp6_);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (self->src);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->src = _tmp7_;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = self->src;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_0, "^\\s*@\\s*\\S+", 0), _tmp8_, 0, NULL);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->hasTags = _tmp9_;
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_fixDesc (self);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = jsdoc_doc_comment_shared;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = g_strconcat (_tmp10_, "\n", NULL);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = _tmp11_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = self->src;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = g_strconcat (_tmp12_, _tmp13_, NULL);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (self->src);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->src = _tmp14_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp12_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = self->src;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp17_ = _tmp16_ = g_regex_split (_thread_safe_regex_init (&_tmp_regex_1, "(^|[\\r\\n])\\s*@", 0), _tmp15_, 0);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ bits = _tmp17_;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ bits_length1 = _vala_array_length (_tmp16_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _bits_size_ = bits_length1;
+#line 462 "DocComment.c"
+ {
+ gint i = 0;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ i = 0;
+#line 467 "DocComment.c"
+ {
+ gboolean _tmp18_ = FALSE;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp18_ = TRUE;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ while (TRUE) {
+#line 474 "DocComment.c"
+ gint _tmp20_;
+ gchar** _tmp21_;
+ gint _tmp21__length1;
+ gchar* sa = NULL;
+ gchar** _tmp22_;
+ gint _tmp22__length1;
+ gint _tmp23_;
+ const gchar* _tmp24_;
+ gchar* _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+ gchar* _tmp28_;
+ gint _tmp29_;
+ gint _tmp30_;
+ gboolean _tmp31_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!_tmp18_) {
+#line 492 "DocComment.c"
+ gint _tmp19_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp19_ = i;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ i = _tmp19_ + 1;
+#line 498 "DocComment.c"
+ }
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp18_ = FALSE;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp20_ = i;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp21_ = bits;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp21__length1 = bits_length1;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!(_tmp20_ < _tmp21__length1)) {
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ break;
+#line 512 "DocComment.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp22_ = bits;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp22__length1 = bits_length1;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp23_ = i;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp24_ = _tmp22_[_tmp23_];
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp25_ = g_strdup (_tmp24_);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ sa = _tmp25_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp26_ = sa;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp27_ = string_strip (_tmp26_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp28_ = _tmp27_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp29_ = strlen (_tmp28_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp30_ = _tmp29_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp31_ = _tmp30_ > 0;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp28_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp31_) {
+#line 542 "DocComment.c"
+ GeeArrayList* _tmp32_;
+ const gchar* _tmp33_;
+ JSDOCDocTag* _tmp34_;
+ JSDOCDocTag* _tmp35_;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp32_ = self->tags;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp33_ = sa;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp34_ = jsdoc_doc_tag_new (_tmp33_);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp35_ = _tmp34_;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, _tmp35_);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (_tmp35_);
+#line 559 "DocComment.c"
+ }
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (sa);
+#line 563 "DocComment.c"
+ }
+ }
+ }
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ bits = (_vala_array_free (bits, bits_length1, (GDestroyNotify) g_free), NULL);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return self;
+#line 571 "DocComment.c"
+}
+
+
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment) {
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return jsdoc_doc_comment_construct (JSDOC_TYPE_DOC_COMMENT, comment);
+#line 578 "DocComment.c"
+}
+
+
+/**
+ * Remove slash-star comment wrapper from a raw comment string.
+ * @type String
+ */
+gchar* jsdoc_doc_comment_unwrapComment (const gchar* comment) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ gchar* ret = NULL;
+ const gchar* _tmp4_;
+ const gchar* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_ = NULL;
+ const gchar* _tmp10_;
+ const gchar* _tmp11_;
+ gint _tmp12_;
+ gint _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+ GError * _inner_error_ = NULL;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_return_val_if_fail (comment != NULL, NULL);
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = comment;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = strlen (_tmp0_);
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = _tmp1_;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp2_ < 1) {
+#line 617 "DocComment.c"
+ gchar* _tmp3_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = g_strdup ("");
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ result = _tmp3_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return result;
+#line 625 "DocComment.c"
+ }
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = comment;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = comment;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = strlen (_tmp5_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = _tmp6_;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_2, "^\\/\\*\\*|\\*\\/$", 0), _tmp4_, (gssize) _tmp7_, 0, "", 0, &_inner_error_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret = _tmp8_;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return NULL;
+#line 647 "DocComment.c"
+ }
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = ret;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = ret;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = strlen (_tmp11_);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = _tmp12_;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_3, "(^|[\\r\\n])\\s*\\* ?", 0), _tmp10_, (gssize) _tmp13_, 0, "\n", 0, &_inner_error_);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = _tmp14_;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (ret);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_clear_error (&_inner_error_);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return NULL;
+#line 671 "DocComment.c"
+ }
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = _tmp9_;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = NULL;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (ret);
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret = _tmp15_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp16_ = ret;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp17_ = string_strip (_tmp16_);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ result = _tmp17_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp9_);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (ret);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return result;
+#line 693 "DocComment.c"
+}
+
+
+/**
+ If no @desc tag is provided, this function will add it.
+ */
+static void jsdoc_doc_comment_fixDesc (JSDOCDocComment* self) {
+ gboolean _tmp0_;
+ GRegex* _tmp3_;
+ const gchar* _tmp4_;
+ gboolean _tmp5_;
+ gchar** lines = NULL;
+ const gchar* _tmp6_;
+ gchar** _tmp7_;
+ gchar** _tmp8_;
+ gint lines_length1;
+ gint _lines_size_;
+ gchar* nsrc = NULL;
+ gchar* _tmp9_;
+ gboolean gotf = FALSE;
+ const gchar* _tmp39_;
+ gchar* _tmp40_;
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_return_if_fail (self != NULL);
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = self->hasTags;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!_tmp0_) {
+#line 722 "DocComment.c"
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = self->src;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = g_strconcat ("@desc ", _tmp1_, NULL);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (self->src);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->src = _tmp2_;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 735 "DocComment.c"
+ }
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = jsdoc_doc_comment_comment_needs_desc_regex;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = self->src;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = g_regex_match (_tmp3_, _tmp4_, G_REGEX_MATCH_NEWLINE_ANYCRLF, NULL);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!_tmp5_) {
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return;
+#line 747 "DocComment.c"
+ }
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = self->src;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = _tmp7_ = g_strsplit (_tmp6_, "\n", 0);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ lines = _tmp8_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ lines_length1 = _vala_array_length (_tmp7_);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _lines_size_ = lines_length1;
+#line 154 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = g_strdup ("");
+#line 154 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ nsrc = _tmp9_;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ gotf = FALSE;
+#line 765 "DocComment.c"
+ {
+ gint i = 0;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ i = 0;
+#line 770 "DocComment.c"
+ {
+ gboolean _tmp10_ = FALSE;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = TRUE;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ while (TRUE) {
+#line 777 "DocComment.c"
+ gint _tmp12_;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gchar* line = NULL;
+ gchar** _tmp14_;
+ gint _tmp14__length1;
+ gint _tmp15_;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+ gboolean _tmp18_;
+ GRegex* _tmp24_;
+ const gchar* _tmp25_;
+ gboolean _tmp26_;
+ const gchar* _tmp32_;
+ const gchar* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ gchar* _tmp37_;
+ gchar* _tmp38_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!_tmp10_) {
+#line 800 "DocComment.c"
+ gint _tmp11_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = i;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ i = _tmp11_ + 1;
+#line 806 "DocComment.c"
+ }
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = FALSE;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = i;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = lines;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13__length1 = lines_length1;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!(_tmp12_ < _tmp13__length1)) {
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ break;
+#line 820 "DocComment.c"
+ }
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = lines;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14__length1 = lines_length1;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = i;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp16_ = _tmp14_[_tmp15_];
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp17_ = g_strdup (_tmp16_);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ line = _tmp17_;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp18_ = gotf;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp18_) {
+#line 838 "DocComment.c"
+ const gchar* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp19_ = nsrc;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp20_ = line;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp21_ = g_strconcat (_tmp20_, "\n", NULL);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp22_ = _tmp21_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp23_ = g_strconcat (_tmp19_, _tmp22_, NULL);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (nsrc);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ nsrc = _tmp23_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp22_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (line);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ continue;
+#line 864 "DocComment.c"
+ }
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp24_ = jsdoc_doc_comment_has_tag_regex;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp25_ = line;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp26_ = g_regex_match (_tmp24_, _tmp25_, 0, NULL);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp26_) {
+#line 874 "DocComment.c"
+ const gchar* _tmp27_;
+ const gchar* _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gchar* _tmp31_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp27_ = nsrc;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp28_ = line;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp29_ = g_strconcat (_tmp28_, "\n", NULL);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp30_ = _tmp29_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp31_ = g_strconcat (_tmp27_, _tmp30_, NULL);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (nsrc);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ nsrc = _tmp31_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp30_);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (line);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ continue;
+#line 900 "DocComment.c"
+ }
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ gotf = TRUE;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp32_ = nsrc;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp33_ = line;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp34_ = g_strconcat ("@desc ", _tmp33_, NULL);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp35_ = _tmp34_;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp36_ = g_strconcat (_tmp35_, "\n", NULL);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp37_ = _tmp36_;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp38_ = g_strconcat (_tmp32_, _tmp37_, NULL);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (nsrc);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ nsrc = _tmp38_;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp37_);
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (_tmp35_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (line);
+#line 928 "DocComment.c"
+ }
+ }
+ }
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp39_ = nsrc;
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp40_ = g_strdup (_tmp39_);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (self->src);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->src = _tmp40_;
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (nsrc);
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
+#line 944 "DocComment.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 951 "DocComment.c"
+}
+
+
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* ret = NULL;
+ GeeArrayList* _tmp0_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret = _tmp0_;
+#line 965 "DocComment.c"
+ {
+ GeeArrayList* _tag_list = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gint _tag_size = 0;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _tag_index = 0;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = self->tags;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_list = _tmp2_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = _tag_list;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = _tmp4_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_size = _tmp5_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_index = -1;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ while (TRUE) {
+#line 993 "DocComment.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ JSDOCDocTag* tag = NULL;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCDocTag* _tmp12_;
+ JSDOCDocTagTitle _tmp13_;
+ JSDOCDocTagTitle _tmp14_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = _tag_index;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_index = _tmp6_ + 1;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = _tag_index;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = _tag_size;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ break;
+#line 1016 "DocComment.c"
+ }
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = _tag_list;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = _tag_index;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ tag = (JSDOCDocTag*) _tmp11_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = tag;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = _tmp12_->title;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = tagTitle;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp13_ == _tmp14_) {
+#line 1034 "DocComment.c"
+ GeeArrayList* _tmp15_;
+ JSDOCDocTag* _tmp16_;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = ret;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp16_ = tag;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp15_, _tmp16_);
+#line 1043 "DocComment.c"
+ }
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (tag);
+#line 1047 "DocComment.c"
+ }
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (_tag_list);
+#line 1051 "DocComment.c"
+ }
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ result = ret;
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return result;
+#line 1057 "DocComment.c"
+}
+
+
+static void _vala_array_add9 (gchar** * array, int* length, int* size, gchar* value) {
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if ((*length) == (*size)) {
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 1068 "DocComment.c"
+ }
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ (*array)[(*length)++] = value;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ (*array)[*length] = NULL;
+#line 1074 "DocComment.c"
+}
+
+
+static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gchar** _tmp3_;
+ gint _tmp3__length1;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = separator;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_ == NULL) {
+#line 1079 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ separator = "";
+#line 1091 "DocComment.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = TRUE;
+#line 1101 "DocComment.c"
+ } else {
+ gchar** _tmp4_;
+ gint _tmp4__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = _tmp4__length1 > 0;
+#line 1111 "DocComment.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp2_) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 1117 "DocComment.c"
+ } else {
+ gboolean _tmp5_ = FALSE;
+ gchar** _tmp6_;
+ gint _tmp6__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp6__length1 == -1) {
+#line 1128 "DocComment.c"
+ gchar** _tmp7_;
+ gint _tmp7__length1;
+ const gchar* _tmp8_;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_[0];
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = _tmp8_ != NULL;
+#line 1140 "DocComment.c"
+ } else {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = FALSE;
+#line 1144 "DocComment.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _tmp5_;
+#line 1148 "DocComment.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 1152 "DocComment.c"
+ gint i = 0;
+ gsize len = 0UL;
+ gint _tmp31_;
+ gint _tmp33_;
+ gint _tmp34_;
+ gsize _tmp35_;
+ const gchar* _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+ gint _tmp39_;
+ const gchar* res = NULL;
+ gsize _tmp40_;
+ void* _tmp41_;
+ void* ptr = NULL;
+ const gchar* _tmp42_;
+ gchar** _tmp43_;
+ gint _tmp43__length1;
+ const gchar* _tmp44_;
+ void* _tmp45_;
+ const gchar* _tmp62_;
+#line 1083 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = (gsize) 1;
+#line 1175 "DocComment.c"
+ {
+ gboolean _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 0;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = TRUE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 1184 "DocComment.c"
+ gboolean _tmp11_ = FALSE;
+ gboolean _tmp12_ = FALSE;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gint _tmp21_ = 0;
+ gchar** _tmp22_;
+ gint _tmp22__length1;
+ gint _tmp23_;
+ const gchar* _tmp24_;
+ gsize _tmp30_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp9_) {
+#line 1197 "DocComment.c"
+ gint _tmp10_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp10_ + 1;
+#line 1203 "DocComment.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp13__length1 != -1) {
+#line 1213 "DocComment.c"
+ gint _tmp14_;
+ gchar** _tmp15_;
+ gint _tmp15__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = _tmp14_ < _tmp15__length1;
+#line 1225 "DocComment.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = FALSE;
+#line 1229 "DocComment.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp12_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = TRUE;
+#line 1235 "DocComment.c"
+ } else {
+ gboolean _tmp16_ = FALSE;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp17__length1 == -1) {
+#line 1246 "DocComment.c"
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ gint _tmp19_;
+ const gchar* _tmp20_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = _tmp18_[_tmp19_];
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = _tmp20_ != NULL;
+#line 1261 "DocComment.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = FALSE;
+#line 1265 "DocComment.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp16_;
+#line 1269 "DocComment.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp11_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 1275 "DocComment.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp23_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp24_ = _tmp22_[_tmp23_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp24_ != NULL) {
+#line 1287 "DocComment.c"
+ gchar** _tmp25_;
+ gint _tmp25__length1;
+ gint _tmp26_;
+ const gchar* _tmp27_;
+ gint _tmp28_;
+ gint _tmp29_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp26_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp27_ = _tmp25_[_tmp26_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp28_ = strlen ((const gchar*) _tmp27_);
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp29_ = _tmp28_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = _tmp29_;
+#line 1308 "DocComment.c"
+ } else {
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = 0;
+#line 1312 "DocComment.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp30_ = len;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp30_ + _tmp21_;
+#line 1318 "DocComment.c"
+ }
+ }
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp31_ = i;
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp31_ == 0) {
+#line 1325 "DocComment.c"
+ gchar* _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp32_ = g_strdup ("");
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1333 "DocComment.c"
+ }
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp33_ = i;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ str_array_length1 = _tmp33_;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp34_ = str_array_length1;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp35_ = len;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp36_ = separator;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp37_ = strlen ((const gchar*) _tmp36_);
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp38_ = _tmp37_;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp39_ = i;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp40_ = len;
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp41_ = g_malloc (_tmp40_);
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = _tmp41_;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp42_ = res;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43_ = str_array;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43__length1 = str_array_length1;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp44_ = _tmp43_[0];
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp45_;
+#line 1371 "DocComment.c"
+ {
+ gboolean _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = TRUE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 1380 "DocComment.c"
+ gint _tmp48_;
+ gchar** _tmp49_;
+ gint _tmp49__length1;
+ void* _tmp50_;
+ const gchar* _tmp51_;
+ void* _tmp52_;
+ const gchar* _tmp53_ = NULL;
+ gchar** _tmp54_;
+ gint _tmp54__length1;
+ gint _tmp55_;
+ const gchar* _tmp56_;
+ void* _tmp60_;
+ void* _tmp61_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp46_) {
+#line 1396 "DocComment.c"
+ gint _tmp47_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp47_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp47_ + 1;
+#line 1402 "DocComment.c"
+ }
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp48_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49_ = str_array;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49__length1 = str_array_length1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!(_tmp48_ < _tmp49__length1)) {
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 1416 "DocComment.c"
+ }
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp50_ = ptr;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp51_ = separator;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp52_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp55_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp56_ = _tmp54_[_tmp55_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp56_ != NULL) {
+#line 1436 "DocComment.c"
+ gchar** _tmp57_;
+ gint _tmp57__length1;
+ gint _tmp58_;
+ const gchar* _tmp59_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp58_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp59_ = _tmp57_[_tmp58_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = (const gchar*) _tmp59_;
+#line 1451 "DocComment.c"
+ } else {
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = "";
+#line 1455 "DocComment.c"
+ }
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp60_ = ptr;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp61_;
+#line 1463 "DocComment.c"
+ }
+ }
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp62_ = res;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = NULL;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gchar*) _tmp62_;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1474 "DocComment.c"
+ } else {
+ gchar* _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp63_ = g_strdup ("");
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1483 "DocComment.c"
+ }
+}
+
+
+gchar* jsdoc_doc_comment_getTagAsString (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle) {
+ gchar* result = NULL;
+ gchar** ret = NULL;
+ gchar** _tmp0_;
+ gint ret_length1;
+ gint _ret_size_;
+ gchar** _tmp19_;
+ gint _tmp19__length1;
+ gchar* _tmp20_;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = g_new0 (gchar*, 0 + 1);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret = _tmp0_;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret_length1 = 0;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _ret_size_ = ret_length1;
+#line 1507 "DocComment.c"
+ {
+ GeeArrayList* _tag_list = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gint _tag_size = 0;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _tag_index = 0;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp1_ = self->tags;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_list = _tmp2_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp3_ = _tag_list;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp5_ = _tmp4_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_size = _tmp5_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_index = -1;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ while (TRUE) {
+#line 1535 "DocComment.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ JSDOCDocTag* tag = NULL;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCDocTag* _tmp12_;
+ JSDOCDocTagTitle _tmp13_;
+ JSDOCDocTagTitle _tmp14_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp6_ = _tag_index;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tag_index = _tmp6_ + 1;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp7_ = _tag_index;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp8_ = _tag_size;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ break;
+#line 1558 "DocComment.c"
+ }
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp9_ = _tag_list;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp10_ = _tag_index;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ tag = (JSDOCDocTag*) _tmp11_;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp12_ = tag;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp13_ = _tmp12_->title;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp14_ = tagTitle;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ if (_tmp13_ == _tmp14_) {
+#line 1576 "DocComment.c"
+ gchar** _tmp15_;
+ gint _tmp15__length1;
+ JSDOCDocTag* _tmp16_;
+ const gchar* _tmp17_;
+ gchar* _tmp18_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15_ = ret;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp15__length1 = ret_length1;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp16_ = tag;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp17_ = _tmp16_->desc;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp18_ = g_strdup (_tmp17_);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _vala_array_add9 (&ret, &ret_length1, &_ret_size_, _tmp18_);
+#line 1594 "DocComment.c"
+ }
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (tag);
+#line 1598 "DocComment.c"
+ }
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (_tag_list);
+#line 1602 "DocComment.c"
+ }
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp19_ = ret;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp19__length1 = ret_length1;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp20_ = _vala_g_strjoinv ("\n", _tmp19_, _tmp19__length1);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ result = _tmp20_;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ ret = (_vala_array_free (ret, ret_length1, (GDestroyNotify) g_free), NULL);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ return result;
+#line 1616 "DocComment.c"
+}
+
+
+static void jsdoc_doc_comment_class_init (JSDOCDocCommentClass * klass) {
+ gchar* _tmp0_;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_parent_class = g_type_class_peek_parent (klass);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_doc_comment_finalize;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = g_strdup ("");
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ jsdoc_doc_comment_shared = _tmp0_;
+#line 1630 "DocComment.c"
+}
+
+
+static void jsdoc_doc_comment_instance_init (JSDOCDocComment * self) {
+ gchar* _tmp0_;
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->isUserComment = TRUE;
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->hasTags = FALSE;
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _tmp0_ = g_strdup ("");
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self->src = _tmp0_;
+#line 1644 "DocComment.c"
+}
+
+
+static void jsdoc_doc_comment_finalize (GObject * obj) {
+ JSDOCDocComment * self;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment);
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_free0 (self->src);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ _g_object_unref0 (self->tags);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/DocComment.vala"
+ G_OBJECT_CLASS (jsdoc_doc_comment_parent_class)->finalize (obj);
+#line 1658 "DocComment.c"
+}
+
+
+GType jsdoc_doc_comment_get_type (void) {
+ static volatile gsize jsdoc_doc_comment_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_doc_comment_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCDocCommentClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_doc_comment_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCDocComment), 0, (GInstanceInitFunc) jsdoc_doc_comment_instance_init, NULL };
+ GType jsdoc_doc_comment_type_id;
+ jsdoc_doc_comment_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCDocComment", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_doc_comment_type_id__volatile, jsdoc_doc_comment_type_id);
+ }
+ return jsdoc_doc_comment_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+/**
+ * Create a new DocComment. This takes a raw documentation comment,
+ * and wraps it in useful accessors.
+ * @class Represents a documentation comment object.
+ *
+ */
+
+namespace JSDOC
+{
+ public class DocComment : Object
+ {
+
+ public bool isUserComment = true;
+ public bool hasTags = false;
+ public string src = "";
+ //string meta = "";
+ //Gee.ArrayList<string> tagTexts;
+ public Gee.ArrayList<DocTag> tags;
+
+ static GLib.Regex has_tag_regex;
+ static GLib.Regex tag_regex;
+ static GLib.Regex comment_line_start_regex;
+ static GLib.Regex comment_line_start_white_space_regex;
+ static GLib.Regex comment_needs_desc_regex;
+ /**
+ * Used to store the currently shared tag text.
+ * not sure where we use this yet..
+ * but i think it's related to merging multiple comments together...
+ */
+
+ public static string shared = "";
+
+ static bool done_init = false;
+
+ static void initRegex()
+ {
+ if (DocComment.done_init) {
+ return;
+ }
+ DocComment.has_tag_regex = new GLib.Regex("^\\s*@\\s*\\S+"); // multiline?
+
+ DocComment.tag_regex = new GLib.Regex("(^|[\\r\\n])\\s*@"); // empty line, then @ or starting with @?
+
+
+ DocComment.comment_line_start_regex = new GLib.Regex("(^\\/\\*\\*|\\*\\/$)");
+ DocComment.comment_line_start_white_space_regex = new GLib.Regex("\\s*\\* ?");
+ DocComment.comment_needs_desc_regex = new GLib.Regex("\\s*@(class|event|property)");
+
+ DocComment.done_init = true;
+ }
+
+ public DocComment (string comment = "")
+ {
+
+ DocComment.initRegex();
+
+ GLib.debug("parse comment : %s", comment);
+ this.tags = new Gee.ArrayList<DocTag>();
+
+
+
+ if (comment.strip() == "") {
+ comment = "/** @desc */";
+ this.isUserComment = false;
+ }
+
+ this.src = DocComment.unwrapComment(comment);
+
+ //println(this.src);
+
+ // looks like #+ support???
+ /*
+ this.meta = "";
+ if (this.src.indexOf("#") == 0) {
+ this.src.match(/#(.+[+-])([\s\S]*)$/);
+ if (RegExp.$1) this.meta = RegExp.$1;
+ if (RegExp.$2) this.src = RegExp.$2;
+ }
+ */
+ this.hasTags = /^\s*@\s*\S+/.match(this.src);
+
+ this.fixDesc();
+
+ //if (typeof JSDOC.PluginManager != "undefined") {
+ // JSDOC.PluginManager.run("onDocCommentSrc", this);
+ //}
+
+ this.src = DocComment.shared+"\n"+this.src;
+
+ //var tagTexts = new Gee.ArrayList<string>();
+
+
+ var bits = /(^|[\r\n])\s*@/.split(this.src);
+ for(int i=0; i<bits.length; i++) {
+ var sa = bits[i];
+ if (sa.strip().length >0) {
+ this.tags.add(new DocTag(sa));
+ // tagTexts.add(sa); // ?? strip again?
+ }
+ }
+
+
+
+ }
+
+
+
+ /**
+ * Remove slash-star comment wrapper from a raw comment string.
+ * @type String
+ */
+ public static string unwrapComment( string comment)
+ {
+ if (comment.length < 1) {
+ return "";
+ }
+
+ var ret = /^\/\*\*|\*\/$/.replace(
+ comment, comment.length, 0, "", 0 ); //GLib.RegexMatchFlags.NEWLINE_ANYCRLF );
+
+ ret = /(^|[\r\n])\s*\* ?/.replace(ret, ret.length, 0, "\n" ); //);
+
+ return ret.strip();
+ }
+ /**
+ If no @desc tag is provided, this function will add it.
+ */
+ void fixDesc()
+ {
+ //if (this.meta && this.meta != "@+") return;
+
+
+
+ // does not have any @ lines..
+ // -- skip comments without @!!
+ if (!this.hasTags) {
+ this.src = "@desc "+ this.src;
+ // TAGS that are not \n prefixed!! ...
+ // does not make sense....???
+ //this.src = this.src.replace(/@\s*type/g, '\n@type');
+
+ return;
+ }
+ // kdludge for stuff...
+ //this.src = this.src.replace(/@\s*type/g, '\n@type');
+
+ // only apply @desc fix to classes..
+ if (!DocComment.comment_needs_desc_regex.match(this.src,GLib.RegexMatchFlags.NEWLINE_ANYCRLF) ) {
+ return;
+ }
+ // if no desc - add it on the first line that is not a @
+ var lines = this.src.split("\n");
+ var nsrc = "";
+ var gotf = false;
+
+ for(var i =0; i < lines.length;i++) {
+ var line = lines[i];
+ if (gotf) {
+ nsrc += line + "\n";
+ continue;
+ }
+ if (DocComment.has_tag_regex.match(line)) { // line with @
+ nsrc += line + "\n";
+ continue;
+ }
+ gotf = true;
+ nsrc += "@desc " + line + "\n";
+
+ }
+
+ this.src = nsrc;
+
+
+
+ }
+
+
+ public Gee.ArrayList<DocTag> getTag ( DocTagTitle tagTitle) {
+ var ret = new Gee.ArrayList<DocTag>();
+ foreach(var tag in this.tags) {
+ if (tag.title == tagTitle) {
+ ret.add(tag);
+ }
+ }
+ return ret;
+ }
+ public string getTagAsString ( DocTagTitle tagTitle) {
+ string[] ret = {};
+ foreach(var tag in this.tags) {
+ if (tag.title == tagTitle) {
+ ret += tag.desc;
+ }
+ }
+ return string.joinv("\n", ret);
+ }
+ }
+}
+
--- /dev/null
+/* DocParser.c generated by valac 0.36.6, the Vala compiler
+ * generated from DocParser.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+
+
+#define JSDOC_TYPE_DOC_PARSER (jsdoc_doc_parser_get_type ())
+#define JSDOC_DOC_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_PARSER, JSDOCDocParser))
+#define JSDOC_DOC_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_PARSER, JSDOCDocParserClass))
+#define JSDOC_IS_DOC_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_PARSER))
+#define JSDOC_IS_DOC_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_PARSER))
+#define JSDOC_DOC_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_PARSER, JSDOCDocParserClass))
+
+typedef struct _JSDOCDocParser JSDOCDocParser;
+typedef struct _JSDOCDocParserClass JSDOCDocParserClass;
+typedef struct _JSDOCDocParserPrivate JSDOCDocParserPrivate;
+
+#define JSDOC_TYPE_WALKER (jsdoc_walker_get_type ())
+#define JSDOC_WALKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_WALKER, JSDOCWalker))
+#define JSDOC_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+#define JSDOC_IS_WALKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_WALKER))
+#define JSDOC_IS_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_WALKER))
+#define JSDOC_WALKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+
+typedef struct _JSDOCWalker JSDOCWalker;
+typedef struct _JSDOCWalkerClass JSDOCWalkerClass;
+
+#define JSDOC_TYPE_SYMBOL_SET (jsdoc_symbol_set_get_type ())
+#define JSDOC_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet))
+#define JSDOC_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+#define JSDOC_IS_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_IS_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_SYMBOL_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+
+typedef struct _JSDOCSymbolSet JSDOCSymbolSet;
+typedef struct _JSDOCSymbolSetClass JSDOCSymbolSetClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+typedef struct _JSDOCDocCommentPrivate JSDOCDocCommentPrivate;
+
+#define JSDOC_TYPE_PACKER_RUN (jsdoc_packer_run_get_type ())
+#define JSDOC_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun))
+#define JSDOC_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+#define JSDOC_IS_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_IS_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_PACKER_RUN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+
+typedef struct _JSDOCPackerRun JSDOCPackerRun;
+typedef struct _JSDOCPackerRunClass JSDOCPackerRunClass;
+typedef struct _JSDOCPackerRunPrivate JSDOCPackerRunPrivate;
+
+struct _JSDOCDocParser {
+ GObject parent_instance;
+ JSDOCDocParserPrivate * priv;
+};
+
+struct _JSDOCDocParserClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCSymbol {
+ GObject parent_instance;
+ JSDOCSymbolPrivate * priv;
+ GeeArrayList* augments;
+ GeeArrayList* methods;
+ GeeArrayList* properties;
+ GeeArrayList* returns;
+ GeeArrayList* childClasses;
+ GeeArrayList* inheritsFrom;
+ GeeHashMap* cfgs;
+ JSDOCDocComment* comment;
+ gchar* alias;
+ gchar* desc;
+ gchar* isa;
+ gboolean isEvent;
+ gboolean isConstant;
+ gboolean isIgnored;
+ gboolean isInner;
+ gboolean isNamespace;
+ gboolean isPrivate;
+ gboolean isStatic;
+ gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCDocComment {
+ GObject parent_instance;
+ JSDOCDocCommentPrivate * priv;
+ gboolean isUserComment;
+ gboolean hasTags;
+ gchar* src;
+ GeeArrayList* tags;
+};
+
+struct _JSDOCDocCommentClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCPackerRun {
+ GApplication parent_instance;
+ JSDOCPackerRunPrivate * priv;
+ gchar* opt_target;
+ gchar* opt_debug_target;
+ gchar* opt_real_basedir;
+ gchar* opt_doc_target;
+ gchar* opt_doc_template_dir;
+ gboolean opt_doc_include_private;
+ gboolean opt_debug;
+ gboolean opt_skip_scope;
+ gboolean opt_keep_whitespace;
+ gboolean opt_dump_tokens;
+ gboolean opt_clean_cache;
+ gchar* opt_doc_ext;
+};
+
+struct _JSDOCPackerRunClass {
+ GApplicationClass parent_class;
+};
+
+
+static gpointer jsdoc_doc_parser_parent_class = NULL;
+static gboolean jsdoc_doc_parser_ignoreAnonymous;
+static gboolean jsdoc_doc_parser_ignoreAnonymous = TRUE;
+static gboolean jsdoc_doc_parser_treatUnderscoredAsPrivate;
+static gboolean jsdoc_doc_parser_treatUnderscoredAsPrivate = TRUE;
+static gboolean jsdoc_doc_parser_explain;
+static gboolean jsdoc_doc_parser_explain = FALSE;
+static gboolean jsdoc_doc_parser_has_init;
+static gboolean jsdoc_doc_parser_has_init = FALSE;
+static JSDOCWalker* jsdoc_doc_parser_walker;
+static JSDOCWalker* jsdoc_doc_parser_walker = NULL;
+static JSDOCSymbolSet* jsdoc_doc_parser__symbols;
+static JSDOCSymbolSet* jsdoc_doc_parser__symbols = NULL;
+static GeeHashMap* jsdoc_doc_parser__filesSymbols;
+static GeeHashMap* jsdoc_doc_parser__filesSymbols = NULL;
+extern gchar* jsdoc_doc_parser_currentSourceFile;
+gchar* jsdoc_doc_parser_currentSourceFile = NULL;
+extern gchar* jsdoc_doc_comment_shared;
+
+GType jsdoc_doc_parser_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_DOC_PARSER_DUMMY_PROPERTY
+};
+GType jsdoc_walker_get_type (void) G_GNUC_CONST;
+GType jsdoc_symbol_set_get_type (void) G_GNUC_CONST;
+JSDOCSymbolSet* jsdoc_doc_parser_symbols (void);
+JSDOCSymbolSet* jsdoc_symbol_set_new (void);
+JSDOCSymbolSet* jsdoc_symbol_set_construct (GType object_type);
+static GeeHashMap* jsdoc_doc_parser_filesSymbols (void);
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+void jsdoc_doc_parser_parse (JSDOCTokenStream* ts, const gchar* srcFile);
+JSDOCWalker* jsdoc_walker_new (JSDOCTokenStream* ts);
+JSDOCWalker* jsdoc_walker_construct (GType object_type, JSDOCTokenStream* ts);
+void jsdoc_walker_buildSymbolTree (JSDOCWalker* self);
+GeeArrayList* jsdoc_symbol_set_keys (JSDOCSymbolSet* self);
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+JSDOCSymbol* jsdoc_symbol_set_getSymbol (JSDOCSymbolSet* self, const gchar* alias);
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+void jsdoc_symbol_set_deleteSymbol (JSDOCSymbolSet* self, const gchar* alias);
+gboolean jsdoc_symbol_is (JSDOCSymbol* self, const gchar* what);
+void jsdoc_doc_parser_addSymbol (JSDOCSymbol* symbol);
+gboolean jsdoc_symbol_set_hasSymbol (JSDOCSymbolSet* self, const gchar* alias);
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self);
+GType jsdoc_packer_run_get_type (void) G_GNUC_CONST;
+JSDOCPackerRun* jsdoc_packer_run_singleton (void);
+void jsdoc_symbol_set_addSymbol (JSDOCSymbolSet* self, JSDOCSymbol* symbol);
+JSDOCSymbol* jsdoc_doc_parser_addBuiltin (const gchar* name);
+JSDOCSymbol* jsdoc_symbol_new_new_builtin (const gchar* name);
+JSDOCSymbol* jsdoc_symbol_construct_new_builtin (GType object_type, const gchar* name);
+void jsdoc_doc_parser_finish (void);
+void jsdoc_symbol_set_relate (JSDOCSymbolSet* self);
+static JSDOCSymbolSet* jsdoc_doc_parser_symbolsToObject (JSDOCDocParser* self, const gchar* srcFile);
+JSDOCDocParser* jsdoc_doc_parser_new (void);
+JSDOCDocParser* jsdoc_doc_parser_construct (GType object_type);
+static void jsdoc_doc_parser_finalize (GObject * obj);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 233 "DocParser.c"
+}
+
+
+JSDOCSymbolSet* jsdoc_doc_parser_symbols (void) {
+ JSDOCSymbolSet* result = NULL;
+ JSDOCSymbolSet* _tmp0_;
+ JSDOCSymbolSet* _tmp2_;
+ JSDOCSymbolSet* _tmp3_;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = jsdoc_doc_parser__symbols;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp0_ == NULL) {
+#line 246 "DocParser.c"
+ JSDOCSymbolSet* _tmp1_;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_debug ("DocParser.vala:19: init symbols?");
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = jsdoc_symbol_set_new ();
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (jsdoc_doc_parser__symbols);
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser__symbols = _tmp1_;
+#line 256 "DocParser.c"
+ }
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp2_ = jsdoc_doc_parser__symbols;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ result = _tmp3_;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return result;
+#line 266 "DocParser.c"
+}
+
+
+static GeeHashMap* jsdoc_doc_parser_filesSymbols (void) {
+ GeeHashMap* result = NULL;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp2_;
+ GeeHashMap* _tmp3_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = jsdoc_doc_parser__filesSymbols;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp0_ == NULL) {
+#line 279 "DocParser.c"
+ GeeHashMap* _tmp1_;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_debug ("DocParser.vala:30: init _filesSymbols?");
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_SYMBOL_SET, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (jsdoc_doc_parser__filesSymbols);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser__filesSymbols = _tmp1_;
+#line 289 "DocParser.c"
+ }
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp2_ = jsdoc_doc_parser__filesSymbols;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ result = _tmp3_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return result;
+#line 299 "DocParser.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 322 "DocParser.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 330 "DocParser.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 342 "DocParser.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 366 "DocParser.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 372 "DocParser.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 376 "DocParser.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 380 "DocParser.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 392 "DocParser.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 402 "DocParser.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 408 "DocParser.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 422 "DocParser.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 432 "DocParser.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 438 "DocParser.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 447 "DocParser.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 467 "DocParser.c"
+}
+
+
+void jsdoc_doc_parser_parse (JSDOCTokenStream* ts, const gchar* srcFile) {
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ GeeHashMap* _tmp3_;
+ GeeHashMap* _tmp4_;
+ const gchar* _tmp5_;
+ JSDOCSymbolSet* _tmp6_;
+ JSDOCSymbolSet* _tmp7_;
+ JSDOCTokenStream* _tmp8_;
+ JSDOCWalker* _tmp9_;
+ JSDOCWalker* _tmp10_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_if_fail (ts != NULL);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_if_fail (srcFile != NULL);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = srcFile;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (jsdoc_doc_parser_currentSourceFile);
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser_currentSourceFile = _tmp1_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp2_ = g_strdup ("");
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (jsdoc_doc_comment_shared);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_comment_shared = _tmp2_;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp3_ = jsdoc_doc_parser_filesSymbols ();
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp4_ = _tmp3_;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp5_ = srcFile;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp6_ = jsdoc_symbol_set_new ();
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp7_ = _tmp6_;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp4_, _tmp5_, _tmp7_);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp7_);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp4_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp8_ = ts;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp9_ = jsdoc_walker_new (_tmp8_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (jsdoc_doc_parser_walker);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser_walker = _tmp9_;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp10_ = jsdoc_doc_parser_walker;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_walker_buildSymbolTree (_tmp10_);
+#line 529 "DocParser.c"
+ {
+ GeeArrayList* _p_list = NULL;
+ JSDOCSymbolSet* _tmp11_;
+ JSDOCSymbolSet* _tmp12_;
+ GeeArrayList* _tmp13_;
+ GeeArrayList* _tmp14_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp15_;
+ gint _tmp16_;
+ gint _tmp17_;
+ gint _p_index = 0;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp11_ = jsdoc_doc_parser_symbols ();
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp12_ = _tmp11_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp13_ = jsdoc_symbol_set_keys (_tmp12_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp14_ = _tmp13_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp12_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _p_list = _tmp14_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp15_ = _p_list;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp16_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp15_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp17_ = _tmp16_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _p_size = _tmp17_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _p_index = -1;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ while (TRUE) {
+#line 565 "DocParser.c"
+ gint _tmp18_;
+ gint _tmp19_;
+ gint _tmp20_;
+ gchar* p = NULL;
+ GeeArrayList* _tmp21_;
+ gint _tmp22_;
+ gpointer _tmp23_;
+ JSDOCSymbol* symbol = NULL;
+ JSDOCSymbolSet* _tmp24_;
+ JSDOCSymbolSet* _tmp25_;
+ const gchar* _tmp26_;
+ JSDOCSymbol* _tmp27_;
+ JSDOCSymbol* _tmp28_;
+ JSDOCSymbol* _tmp29_;
+ JSDOCSymbol* _tmp30_;
+ gboolean _tmp31_;
+ gboolean _tmp43_ = FALSE;
+ JSDOCSymbol* _tmp44_;
+ gboolean _tmp45_;
+ JSDOCSymbol* _tmp48_;
+ const gchar* _tmp49_;
+ JSDOCSymbol* _tmp50_;
+ const gchar* _tmp51_;
+ gint _tmp52_;
+ gint _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gboolean _tmp56_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp18_ = _p_index;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _p_index = _tmp18_ + 1;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp19_ = _p_index;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp20_ = _p_size;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (!(_tmp19_ < _tmp20_)) {
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ break;
+#line 606 "DocParser.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp21_ = _p_list;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp22_ = _p_index;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp23_ = gee_abstract_list_get ((GeeAbstractList*) _tmp21_, _tmp22_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ p = (gchar*) _tmp23_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp24_ = jsdoc_doc_parser_symbols ();
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp25_ = _tmp24_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp26_ = p;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp27_ = jsdoc_symbol_set_getSymbol (_tmp25_, _tmp26_);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp28_ = _tmp27_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp25_);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ symbol = _tmp28_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp29_ = symbol;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp29_ == NULL) {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (symbol);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (p);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ continue;
+#line 640 "DocParser.c"
+ }
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp30_ = symbol;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp31_ = _tmp30_->isPrivate;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp31_) {
+#line 648 "DocParser.c"
+ JSDOCSymbolSet* _tmp32_;
+ JSDOCSymbolSet* _tmp33_;
+ JSDOCSymbol* _tmp34_;
+ const gchar* _tmp35_;
+ GeeHashMap* _tmp36_;
+ GeeHashMap* _tmp37_;
+ const gchar* _tmp38_;
+ gpointer _tmp39_;
+ JSDOCSymbolSet* _tmp40_;
+ JSDOCSymbol* _tmp41_;
+ const gchar* _tmp42_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp32_ = jsdoc_doc_parser_symbols ();
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp33_ = _tmp32_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp34_ = symbol;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp35_ = _tmp34_->alias;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_deleteSymbol (_tmp33_, _tmp35_);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp33_);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp36_ = jsdoc_doc_parser_filesSymbols ();
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp37_ = _tmp36_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp38_ = srcFile;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp39_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp37_, _tmp38_);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp40_ = (JSDOCSymbolSet*) _tmp39_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp41_ = symbol;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp42_ = _tmp41_->alias;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_deleteSymbol (_tmp40_, _tmp42_);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp40_);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp37_);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (symbol);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (p);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ continue;
+#line 698 "DocParser.c"
+ }
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp44_ = symbol;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp45_ = jsdoc_symbol_is (_tmp44_, "FILE");
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp45_) {
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp43_ = TRUE;
+#line 708 "DocParser.c"
+ } else {
+ JSDOCSymbol* _tmp46_;
+ gboolean _tmp47_;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp46_ = symbol;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp47_ = jsdoc_symbol_is (_tmp46_, "GLOBAL");
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp43_ = _tmp47_;
+#line 718 "DocParser.c"
+ }
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp43_) {
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (symbol);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (p);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ continue;
+#line 728 "DocParser.c"
+ }
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp48_ = symbol;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp49_ = _tmp48_->alias;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp50_ = symbol;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp51_ = _tmp50_->alias;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp52_ = strlen (_tmp51_);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp53_ = _tmp52_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp54_ = string_substring (_tmp49_, (glong) (_tmp53_ - 1), (glong) -1);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp55_ = _tmp54_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp56_ = g_strcmp0 (_tmp55_, "#") == 0;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (_tmp55_);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp56_) {
+#line 752 "DocParser.c"
+ JSDOCSymbol* _tmp57_;
+ const gchar* _tmp58_;
+ gchar* _tmp59_;
+ gchar* _tmp60_;
+ JSDOCSymbolSet* _tmp61_;
+ JSDOCSymbolSet* _tmp62_;
+ JSDOCSymbol* _tmp63_;
+ const gchar* _tmp64_;
+ GeeHashMap* _tmp65_;
+ GeeHashMap* _tmp66_;
+ const gchar* _tmp67_;
+ gpointer _tmp68_;
+ JSDOCSymbolSet* _tmp69_;
+ JSDOCSymbol* _tmp70_;
+ const gchar* _tmp71_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp57_ = symbol;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp58_ = _tmp57_->alias;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp59_ = g_strconcat ("Deleting Symbols (alias ends in #): ", _tmp58_, NULL);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp60_ = _tmp59_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_print ("%s", _tmp60_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (_tmp60_);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp61_ = jsdoc_doc_parser_symbols ();
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp62_ = _tmp61_;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp63_ = symbol;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp64_ = _tmp63_->alias;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_deleteSymbol (_tmp62_, _tmp64_);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp62_);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp65_ = jsdoc_doc_parser_filesSymbols ();
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp66_ = _tmp65_;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp67_ = srcFile;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp68_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp66_, _tmp67_);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp69_ = (JSDOCSymbolSet*) _tmp68_;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp70_ = symbol;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp71_ = _tmp70_->alias;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_deleteSymbol (_tmp69_, _tmp71_);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp69_);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp66_);
+#line 812 "DocParser.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (symbol);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_free0 (p);
+#line 818 "DocParser.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_p_list);
+#line 822 "DocParser.c"
+ }
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return;
+#line 826 "DocParser.c"
+}
+
+
+static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) {
+ gint result = 0;
+ gchar* _result_ = NULL;
+ gint _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, 0);
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, 0);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = start_index;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = needle;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp2_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = _result_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 853 "DocParser.c"
+ gchar* _tmp4_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = _result_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gint) (_tmp4_ - ((gchar*) self));
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 861 "DocParser.c"
+ } else {
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = -1;
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 867 "DocParser.c"
+ }
+}
+
+
+void jsdoc_doc_parser_addSymbol (JSDOCSymbol* symbol) {
+ JSDOCSymbolSet* _tmp0_;
+ JSDOCSymbolSet* _tmp1_;
+ JSDOCSymbol* _tmp2_;
+ const gchar* _tmp3_;
+ gboolean _tmp4_;
+ gboolean _tmp5_;
+ gboolean _tmp24_ = FALSE;
+ gboolean _tmp25_;
+ gboolean _tmp30_ = FALSE;
+ gboolean _tmp31_ = FALSE;
+ JSDOCSymbol* _tmp32_;
+ gboolean _tmp33_;
+ JSDOCSymbol* _tmp39_;
+ gboolean _tmp40_;
+ const gchar* _tmp41_;
+ JSDOCSymbolSet* _tmp48_;
+ JSDOCSymbolSet* _tmp49_;
+ JSDOCSymbol* _tmp50_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_if_fail (symbol != NULL);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = jsdoc_doc_parser_symbols ();
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = _tmp0_;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp2_ = symbol;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp3_ = _tmp2_->alias;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp4_ = jsdoc_symbol_set_hasSymbol (_tmp1_, _tmp3_);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp5_ = _tmp4_;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp1_);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp5_) {
+#line 909 "DocParser.c"
+ JSDOCSymbol* oldSymbol = NULL;
+ JSDOCSymbolSet* _tmp6_;
+ JSDOCSymbolSet* _tmp7_;
+ JSDOCSymbol* _tmp8_;
+ const gchar* _tmp9_;
+ JSDOCSymbol* _tmp10_;
+ JSDOCSymbol* _tmp11_;
+ gboolean _tmp12_ = FALSE;
+ JSDOCSymbol* _tmp13_;
+ JSDOCDocComment* _tmp14_;
+ gboolean _tmp15_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp6_ = jsdoc_doc_parser_symbols ();
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp7_ = _tmp6_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp8_ = symbol;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp9_ = _tmp8_->alias;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp10_ = jsdoc_symbol_set_getSymbol (_tmp7_, _tmp9_);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp11_ = _tmp10_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp7_);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ oldSymbol = _tmp11_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp13_ = oldSymbol;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp14_ = _tmp13_->comment;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp15_ = _tmp14_->isUserComment;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp15_) {
+#line 945 "DocParser.c"
+ JSDOCSymbol* _tmp16_;
+ JSDOCDocComment* _tmp17_;
+ gboolean _tmp18_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp16_ = oldSymbol;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp17_ = _tmp16_->comment;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp18_ = _tmp17_->hasTags;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp12_ = !_tmp18_;
+#line 957 "DocParser.c"
+ } else {
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp12_ = FALSE;
+#line 961 "DocParser.c"
+ }
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp12_) {
+#line 965 "DocParser.c"
+ JSDOCSymbol* _tmp19_;
+ JSDOCDocComment* _tmp20_;
+ gboolean _tmp21_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp19_ = symbol;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp20_ = _tmp19_->comment;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp21_ = _tmp20_->isUserComment;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp21_) {
+#line 977 "DocParser.c"
+ JSDOCSymbol* _tmp22_;
+ const gchar* _tmp23_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp22_ = symbol;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp23_ = _tmp22_->alias;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_debug ("DocParser.vala:107: The symbol '%s' is documented more than once.", _tmp23_);
+#line 986 "DocParser.c"
+ } else {
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (oldSymbol);
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return;
+#line 992 "DocParser.c"
+ }
+ }
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (oldSymbol);
+#line 997 "DocParser.c"
+ }
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp25_ = jsdoc_doc_parser_ignoreAnonymous;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp25_) {
+#line 1003 "DocParser.c"
+ JSDOCSymbol* _tmp26_;
+ const gchar* _tmp27_;
+ const gchar* _tmp28_;
+ gint _tmp29_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp26_ = symbol;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp27_ = jsdoc_symbol_get_name (_tmp26_);
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp28_ = _tmp27_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp29_ = string_index_of (_tmp28_, "$anonymous\b", 0);
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp24_ = _tmp29_ > -1;
+#line 1018 "DocParser.c"
+ } else {
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp24_ = FALSE;
+#line 1022 "DocParser.c"
+ }
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp24_) {
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return;
+#line 1028 "DocParser.c"
+ }
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp32_ = symbol;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp33_ = _tmp32_->isInner;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp33_) {
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp31_ = TRUE;
+#line 1038 "DocParser.c"
+ } else {
+ JSDOCSymbol* _tmp34_;
+ gboolean _tmp35_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp34_ = symbol;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp35_ = _tmp34_->isPrivate;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp31_ = _tmp35_;
+#line 1048 "DocParser.c"
+ }
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp31_) {
+#line 1052 "DocParser.c"
+ JSDOCPackerRun* _tmp36_;
+ JSDOCPackerRun* _tmp37_;
+ gboolean _tmp38_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp36_ = jsdoc_packer_run_singleton ();
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp37_ = _tmp36_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp38_ = _tmp37_->opt_doc_include_private;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp30_ = !_tmp38_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp37_);
+#line 1066 "DocParser.c"
+ } else {
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp30_ = FALSE;
+#line 1070 "DocParser.c"
+ }
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp30_) {
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return;
+#line 1076 "DocParser.c"
+ }
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp39_ = symbol;
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp40_ = _tmp39_->isIgnored;
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp40_) {
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return;
+#line 1086 "DocParser.c"
+ }
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp41_ = jsdoc_doc_parser_currentSourceFile;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ if (_tmp41_ != NULL) {
+#line 1092 "DocParser.c"
+ GeeHashMap* _tmp42_;
+ GeeHashMap* _tmp43_;
+ const gchar* _tmp44_;
+ gpointer _tmp45_;
+ JSDOCSymbolSet* _tmp46_;
+ JSDOCSymbol* _tmp47_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp42_ = jsdoc_doc_parser_filesSymbols ();
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp43_ = _tmp42_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp44_ = jsdoc_doc_parser_currentSourceFile;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp45_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp43_, _tmp44_);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp46_ = (JSDOCSymbolSet*) _tmp45_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp47_ = symbol;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_addSymbol (_tmp46_, _tmp47_);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp46_);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp43_);
+#line 1117 "DocParser.c"
+ }
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp48_ = jsdoc_doc_parser_symbols ();
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp49_ = _tmp48_;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp50_ = symbol;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_addSymbol (_tmp49_, _tmp50_);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp49_);
+#line 1129 "DocParser.c"
+}
+
+
+JSDOCSymbol* jsdoc_doc_parser_addBuiltin (const gchar* name) {
+ JSDOCSymbol* result = NULL;
+ JSDOCSymbol* builtin = NULL;
+ const gchar* _tmp0_;
+ JSDOCSymbol* _tmp1_;
+#line 142 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = name;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = jsdoc_symbol_new_new_builtin (_tmp0_);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ builtin = _tmp1_;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser_addSymbol (builtin);
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ result = builtin;
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return result;
+#line 1152 "DocParser.c"
+}
+
+
+void jsdoc_doc_parser_finish (void) {
+ JSDOCSymbolSet* _tmp0_;
+ JSDOCSymbolSet* _tmp1_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = jsdoc_doc_parser_symbols ();
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = _tmp0_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_symbol_set_relate (_tmp1_);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp1_);
+#line 1167 "DocParser.c"
+}
+
+
+/**
+ * return symbols so they can be serialized.
+ */
+static JSDOCSymbolSet* jsdoc_doc_parser_symbolsToObject (JSDOCDocParser* self, const gchar* srcFile) {
+ JSDOCSymbolSet* result = NULL;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ const gchar* _tmp2_;
+ gpointer _tmp3_;
+ JSDOCSymbolSet* _tmp4_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ g_return_val_if_fail (srcFile != NULL, NULL);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp0_ = jsdoc_doc_parser_filesSymbols ();
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp1_ = _tmp0_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp2_ = srcFile;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp3_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp1_, _tmp2_);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _tmp4_ = (JSDOCSymbolSet*) _tmp3_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ _g_object_unref0 (_tmp1_);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ result = _tmp4_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return result;
+#line 1201 "DocParser.c"
+}
+
+
+JSDOCDocParser* jsdoc_doc_parser_construct (GType object_type) {
+ JSDOCDocParser * self = NULL;
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ self = (JSDOCDocParser*) g_object_new (object_type, NULL);
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return self;
+#line 1211 "DocParser.c"
+}
+
+
+JSDOCDocParser* jsdoc_doc_parser_new (void) {
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ return jsdoc_doc_parser_construct (JSDOC_TYPE_DOC_PARSER);
+#line 1218 "DocParser.c"
+}
+
+
+static void jsdoc_doc_parser_class_init (JSDOCDocParserClass * klass) {
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ jsdoc_doc_parser_parent_class = g_type_class_peek_parent (klass);
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_doc_parser_finalize;
+#line 1227 "DocParser.c"
+}
+
+
+static void jsdoc_doc_parser_instance_init (JSDOCDocParser * self) {
+}
+
+
+static void jsdoc_doc_parser_finalize (GObject * obj) {
+ JSDOCDocParser * self;
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_DOC_PARSER, JSDOCDocParser);
+#line 5 "/home/alan/gitlive/roojspacker/src/jsdoc/DocParser.vala"
+ G_OBJECT_CLASS (jsdoc_doc_parser_parent_class)->finalize (obj);
+#line 1241 "DocParser.c"
+}
+
+
+GType jsdoc_doc_parser_get_type (void) {
+ static volatile gsize jsdoc_doc_parser_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_doc_parser_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCDocParserClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_doc_parser_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCDocParser), 0, (GInstanceInitFunc) jsdoc_doc_parser_instance_init, NULL };
+ GType jsdoc_doc_parser_type_id;
+ jsdoc_doc_parser_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCDocParser", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_doc_parser_type_id__volatile, jsdoc_doc_parser_type_id);
+ }
+ return jsdoc_doc_parser_type_id__volatile;
+}
+
+
+
--- /dev/null
+
+namespace JSDOC
+{
+
+ public class DocParser : Object
+ {
+ // options - should they bee in PackerRun?
+ static bool ignoreAnonymous = true;
+ static bool treatUnderscoredAsPrivate = true;
+ static bool explain= false;
+
+
+ static bool has_init = false;
+ static Walker walker ;
+ private static SymbolSet? _symbols = null;
+
+ public static SymbolSet symbols() {
+ if (DocParser._symbols == null) {
+ GLib.debug("init symbols?");
+ DocParser._symbols = new SymbolSet();
+ //DocParser._symbols.ref(); // not sure why, by symbols keeps getting blanked.?
+ }
+ return DocParser._symbols;
+ }
+ static Gee.HashMap<string,SymbolSet>? _filesSymbols = null;
+
+ static Gee.HashMap<string,SymbolSet> filesSymbols()
+ {
+ if (DocParser._filesSymbols == null) {
+ GLib.debug("init _filesSymbols?");
+ DocParser._filesSymbols = new Gee.HashMap<string,SymbolSet>();
+ }
+ return DocParser._filesSymbols;
+
+ }
+
+ public static string currentSourceFile;
+
+
+
+
+
+
+ public static void parse(TokenStream ts, string srcFile)
+ {
+
+ DocParser.currentSourceFile = srcFile;
+ // not a nice way to set stuff...
+
+ DocComment.shared = ""; // shared comments don't cross file boundaries
+
+ DocParser.filesSymbols().set(srcFile, new SymbolSet());
+
+ //Options.LOG.inform("Parser - run walker");
+ walker = new Walker(ts);
+ walker.buildSymbolTree();
+
+
+
+ //this.walker.walk(ts); // adds to our symbols
+ // throw "done sym tree";
+ //Options.LOG.inform("Parser - checking symbols");
+ // filter symbols by option
+ foreach (var p in DocParser.symbols().keys()) {
+ var symbol = DocParser.symbols().getSymbol(p);
+
+ // print(JSON.stringify(symbol, null,4));
+
+ if (symbol == null) continue;
+
+ if (symbol.isPrivate) {
+ DocParser.symbols().deleteSymbol(symbol.alias);
+ DocParser.filesSymbols().get(srcFile).deleteSymbol(symbol.alias);
+ continue;
+ }
+
+ if (symbol.is("FILE") || symbol.is("GLOBAL")) {
+ continue;
+ }
+
+
+ if (symbol.alias.substring(symbol.alias.length-1) == "#") { // we don't document prototypes - this should not happen..
+
+ print("Deleting Symbols (alias ends in #): " + symbol.alias);
+
+ DocParser.symbols().deleteSymbol(symbol.alias);
+ DocParser.filesSymbols().get(srcFile).deleteSymbol(symbol.alias);
+
+ }
+ }
+ //print(prettyDump(toQDump(this.filesSymbols[Symbol.srcFile]._index,'{','}')));
+ //print("AfterParse: " + this.symbols.keys().toSource().split(",").join(",\n "));
+ return; //this.symbols.toArray();
+ }
+
+
+ public static void addSymbol(Symbol symbol)
+ {
+ //print("PARSER addSYMBOL : " + symbol.alias);
+
+ // if a symbol alias is documented more than once the last one with the user docs wins
+ if (DocParser.symbols().hasSymbol(symbol.alias)) {
+ var oldSymbol = DocParser.symbols().getSymbol(symbol.alias);
+
+ if (oldSymbol.comment.isUserComment && !oldSymbol.comment.hasTags) {
+ if (symbol.comment.isUserComment) { // old and new are both documented
+ GLib.debug("The symbol '%s' is documented more than once.",symbol.alias);
+ // we use the new one???
+ } else { // old is documented but new isn't
+ return;
+ }
+ }
+ }
+
+ // we don't document anonymous things
+ if (DocParser.ignoreAnonymous && symbol.name.index_of("$anonymous\b") > -1) {
+ return;
+ }
+
+ // uderscored things may be treated as if they were marked private, this cascades
+ //if (DocParser.treatUnderscoredAsPrivate && symbol.name.match(/[.#-]_[^.#-]+$/)) {
+ // symbol.isPrivate = true;
+ //}
+
+ // -p flag is required to document private things
+ if ((symbol.isInner || symbol.isPrivate) && !PackerRun.singleton().opt_doc_include_private) {
+ return;
+ }
+
+ // ignored things are not documented, this doesn't cascade
+ if (symbol.isIgnored) {
+ return;
+ }
+ // add it to the file's list... (for dumping later..)
+ if (DocParser.currentSourceFile != null) {
+ DocParser.filesSymbols().get(DocParser.currentSourceFile).addSymbol(symbol);
+ }
+
+ DocParser.symbols().addSymbol(symbol);
+ }
+
+ public static Symbol addBuiltin(string name)
+ {
+ var builtin = new Symbol.new_builtin(name);
+ DocParser.addSymbol(builtin);
+ return builtin;
+ }
+
+
+ public static void finish() {
+
+
+ DocParser.symbols().relate();
+
+ // make a litle report about what was found
+ /*
+ if (this.conf.explain) {
+ var symbols = this.symbols.toArray();
+ var srcFile = "";
+ for (var i = 0, l = symbols.length; i < l; i++) {
+ var symbol = symbols[i];
+ if (srcFile != symbol.srcFile) {
+ srcFile = symbol.srcFile;
+ print("\n"+srcFile+"\n-------------------");
+ }
+ print(i+":\n alias => "+symbol.alias + "\n name => "+symbol.name+ "\n isa => "+symbol.isa + "\n memberOf => " + symbol.memberOf + "\n isStatic => " + symbol.isStatic + ", isInner => " + symbol.isInner);
+ }
+ print("-------------------\n");
+ }
+ */
+ }
+ /**
+ * return symbols so they can be serialized.
+ */
+ SymbolSet symbolsToObject(string srcFile)
+ {
+
+ return DocParser.filesSymbols().get(srcFile);
+
+ }
+
+ }
+}
\ No newline at end of file
--- /dev/null
+/* DocTag.c generated by valac 0.36.6, the Vala compiler
+ * generated from DocTag.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+#include <json-glib/json-glib.h>
+
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+#define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL)))
+#define _g_type_class_unref0(var) ((var == NULL) ? NULL : (var = (g_type_class_unref (var), NULL)))
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
+
+typedef enum {
+ JSDOC_DOC_TAG_TITLE_NO_VALUE,
+ JSDOC_DOC_TAG_TITLE_PARAM,
+ JSDOC_DOC_TAG_TITLE_PROPERTY,
+ JSDOC_DOC_TAG_TITLE_CFG,
+ JSDOC_DOC_TAG_TITLE_EXAMPLE,
+ JSDOC_DOC_TAG_TITLE_SINGLETON,
+ JSDOC_DOC_TAG_TITLE_AUTHOR,
+ JSDOC_DOC_TAG_TITLE_METHOD,
+ JSDOC_DOC_TAG_TITLE_DESC,
+ JSDOC_DOC_TAG_TITLE_OVERVIEW,
+ JSDOC_DOC_TAG_TITLE_SINCE,
+ JSDOC_DOC_TAG_TITLE_CONSTANT,
+ JSDOC_DOC_TAG_TITLE_VERSION,
+ JSDOC_DOC_TAG_TITLE_DEPRECATED,
+ JSDOC_DOC_TAG_TITLE_SEE,
+ JSDOC_DOC_TAG_TITLE_CLASS,
+ JSDOC_DOC_TAG_TITLE_NAMESPACE,
+ JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+ JSDOC_DOC_TAG_TITLE_STATIC,
+ JSDOC_DOC_TAG_TITLE_INNER,
+ JSDOC_DOC_TAG_TITLE_FIELD,
+ JSDOC_DOC_TAG_TITLE_FUNCTION,
+ JSDOC_DOC_TAG_TITLE_EVENT,
+ JSDOC_DOC_TAG_TITLE_NAME,
+ JSDOC_DOC_TAG_TITLE_RETURN,
+ JSDOC_DOC_TAG_TITLE_THROWS,
+ JSDOC_DOC_TAG_TITLE_REQUIRES,
+ JSDOC_DOC_TAG_TITLE_TYPE,
+ JSDOC_DOC_TAG_TITLE_PRIVATE,
+ JSDOC_DOC_TAG_TITLE_IGNORE,
+ JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+ JSDOC_DOC_TAG_TITLE_EXTENDS,
+ JSDOC_DOC_TAG_TITLE_DEFAULT,
+ JSDOC_DOC_TAG_TITLE_MEMBEROF,
+ JSDOC_DOC_TAG_TITLE_PUBLIC,
+ JSDOC_DOC_TAG_TITLE_SCOPE,
+ JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+typedef enum {
+ JSDOC_DOC_TAG_EXCEPTION_NO_TITLE,
+ JSDOC_DOC_TAG_EXCEPTION_INVALID_TITLE,
+ JSDOC_DOC_TAG_EXCEPTION_INVALID_NAME,
+ JSDOC_DOC_TAG_EXCEPTION_INVALID_TYPE
+} JSDOCDocTagException;
+#define JSDOC_DOC_TAG_EXCEPTION jsdoc_doc_tag_exception_quark ()
+struct _JSDOCDocTag {
+ GObject parent_instance;
+ JSDOCDocTagPrivate * priv;
+ JSDOCDocTagTitle title;
+ gchar* type;
+ gchar* name;
+ gboolean isOptional;
+ gchar* defaultValue;
+ gchar* desc;
+ GeeArrayList* optvalues;
+ gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_doc_tag_parent_class = NULL;
+
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GQuark jsdoc_doc_tag_exception_quark (void);
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_DOC_TAG_DUMMY_PROPERTY
+};
+gchar* jsdoc_doc_tag_asString (JSDOCDocTag* self);
+const gchar* jsdoc_doc_tag_title_to_string (JSDOCDocTagTitle self);
+JSDOCDocTag* jsdoc_doc_tag_new (const gchar* in_src);
+JSDOCDocTag* jsdoc_doc_tag_construct (GType object_type, const gchar* in_src);
+static gchar* jsdoc_doc_tag_nibbleTitle (JSDOCDocTag* self, const gchar* src, GError** error);
+static gchar* jsdoc_doc_tag_nibbleType (JSDOCDocTag* self, const gchar* src);
+static gchar* jsdoc_doc_tag_nibbleName (JSDOCDocTag* self, const gchar* in_src, GError** error);
+static void jsdoc_doc_tag_balance (JSDOCDocTag* self, const gchar* str, gchar open, gchar close, gint* start, gint* stop);
+JsonArray* jsdoc_doc_tag_optvalue_as_json_array (JSDOCDocTag* self);
+static void jsdoc_doc_tag_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static GRegex* _tmp_regex_0 = NULL;
+static GRegex* _tmp_regex_1 = NULL;
+static GRegex* _tmp_regex_2 = NULL;
+static GRegex* _tmp_regex_3 = NULL;
+
+GType jsdoc_doc_tag_title_get_type (void) {
+ static volatile gsize jsdoc_doc_tag_title_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_doc_tag_title_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_DOC_TAG_TITLE_NO_VALUE, "JSDOC_DOC_TAG_TITLE_NO_VALUE", "no-value"}, {JSDOC_DOC_TAG_TITLE_PARAM, "JSDOC_DOC_TAG_TITLE_PARAM", "param"}, {JSDOC_DOC_TAG_TITLE_PROPERTY, "JSDOC_DOC_TAG_TITLE_PROPERTY", "property"}, {JSDOC_DOC_TAG_TITLE_CFG, "JSDOC_DOC_TAG_TITLE_CFG", "cfg"}, {JSDOC_DOC_TAG_TITLE_EXAMPLE, "JSDOC_DOC_TAG_TITLE_EXAMPLE", "example"}, {JSDOC_DOC_TAG_TITLE_SINGLETON, "JSDOC_DOC_TAG_TITLE_SINGLETON", "singleton"}, {JSDOC_DOC_TAG_TITLE_AUTHOR, "JSDOC_DOC_TAG_TITLE_AUTHOR", "author"}, {JSDOC_DOC_TAG_TITLE_METHOD, "JSDOC_DOC_TAG_TITLE_METHOD", "method"}, {JSDOC_DOC_TAG_TITLE_DESC, "JSDOC_DOC_TAG_TITLE_DESC", "desc"}, {JSDOC_DOC_TAG_TITLE_OVERVIEW, "JSDOC_DOC_TAG_TITLE_OVERVIEW", "overview"}, {JSDOC_DOC_TAG_TITLE_SINCE, "JSDOC_DOC_TAG_TITLE_SINCE", "since"}, {JSDOC_DOC_TAG_TITLE_CONSTANT, "JSDOC_DOC_TAG_TITLE_CONSTANT", "constant"}, {JSDOC_DOC_TAG_TITLE_VERSION, "JSDOC_DOC_TAG_TITLE_VERSION", "version"}, {JSDOC_DOC_TAG_TITLE_DEPRECATED, "JSDOC_DOC_TAG_TITLE_DEPRECATED", "deprecated"}, {JSDOC_DOC_TAG_TITLE_SEE, "JSDOC_DOC_TAG_TITLE_SEE", "see"}, {JSDOC_DOC_TAG_TITLE_CLASS, "JSDOC_DOC_TAG_TITLE_CLASS", "class"}, {JSDOC_DOC_TAG_TITLE_NAMESPACE, "JSDOC_DOC_TAG_TITLE_NAMESPACE", "namespace"}, {JSDOC_DOC_TAG_TITLE_CONSTRUCTOR, "JSDOC_DOC_TAG_TITLE_CONSTRUCTOR", "constructor"}, {JSDOC_DOC_TAG_TITLE_STATIC, "JSDOC_DOC_TAG_TITLE_STATIC", "static"}, {JSDOC_DOC_TAG_TITLE_INNER, "JSDOC_DOC_TAG_TITLE_INNER", "inner"}, {JSDOC_DOC_TAG_TITLE_FIELD, "JSDOC_DOC_TAG_TITLE_FIELD", "field"}, {JSDOC_DOC_TAG_TITLE_FUNCTION, "JSDOC_DOC_TAG_TITLE_FUNCTION", "function"}, {JSDOC_DOC_TAG_TITLE_EVENT, "JSDOC_DOC_TAG_TITLE_EVENT", "event"}, {JSDOC_DOC_TAG_TITLE_NAME, "JSDOC_DOC_TAG_TITLE_NAME", "name"}, {JSDOC_DOC_TAG_TITLE_RETURN, "JSDOC_DOC_TAG_TITLE_RETURN", "return"}, {JSDOC_DOC_TAG_TITLE_THROWS, "JSDOC_DOC_TAG_TITLE_THROWS", "throws"}, {JSDOC_DOC_TAG_TITLE_REQUIRES, "JSDOC_DOC_TAG_TITLE_REQUIRES", "requires"}, {JSDOC_DOC_TAG_TITLE_TYPE, "JSDOC_DOC_TAG_TITLE_TYPE", "type"}, {JSDOC_DOC_TAG_TITLE_PRIVATE, "JSDOC_DOC_TAG_TITLE_PRIVATE", "private"}, {JSDOC_DOC_TAG_TITLE_IGNORE, "JSDOC_DOC_TAG_TITLE_IGNORE", "ignore"}, {JSDOC_DOC_TAG_TITLE_ARGUMENTS, "JSDOC_DOC_TAG_TITLE_ARGUMENTS", "arguments"}, {JSDOC_DOC_TAG_TITLE_EXTENDS, "JSDOC_DOC_TAG_TITLE_EXTENDS", "extends"}, {JSDOC_DOC_TAG_TITLE_DEFAULT, "JSDOC_DOC_TAG_TITLE_DEFAULT", "default"}, {JSDOC_DOC_TAG_TITLE_MEMBEROF, "JSDOC_DOC_TAG_TITLE_MEMBEROF", "memberof"}, {JSDOC_DOC_TAG_TITLE_PUBLIC, "JSDOC_DOC_TAG_TITLE_PUBLIC", "public"}, {JSDOC_DOC_TAG_TITLE_SCOPE, "JSDOC_DOC_TAG_TITLE_SCOPE", "scope"}, {JSDOC_DOC_TAG_TITLE_SCOPEALIAS, "JSDOC_DOC_TAG_TITLE_SCOPEALIAS", "scopealias"}, {0, NULL, NULL}};
+ GType jsdoc_doc_tag_title_type_id;
+ jsdoc_doc_tag_title_type_id = g_enum_register_static ("JSDOCDocTagTitle", values);
+ g_once_init_leave (&jsdoc_doc_tag_title_type_id__volatile, jsdoc_doc_tag_title_type_id);
+ }
+ return jsdoc_doc_tag_title_type_id__volatile;
+}
+
+
+GQuark jsdoc_doc_tag_exception_quark (void) {
+ return g_quark_from_static_string ("jsdoc_doc_tag_exception-quark");
+}
+
+
+gchar* jsdoc_doc_tag_asString (JSDOCDocTag* self) {
+ gchar* result = NULL;
+ JSDOCDocTagTitle _tmp0_;
+ GEnumValue* _tmp1_;
+ const gchar* _tmp2_;
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+ gchar* _tmp5_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = self->title;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_DOC_TAG_TITLE), _tmp0_);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = self->name;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = self->type;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = self->desc;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = g_strdup_printf ("DocTag: title=%s name=%s type=%s desc=%s", (_tmp1_ != NULL) ? _tmp1_->value_name : NULL, _tmp2_, _tmp3_, _tmp4_);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp5_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 169 "DocTag.c"
+}
+
+
+static gchar* string_strip (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 1234 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_strstrip (_tmp1_);
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 192 "DocTag.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 203 "DocTag.c"
+ }
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return *re;
+#line 207 "DocTag.c"
+}
+
+
+static gboolean string_contains (const gchar* self, const gchar* needle) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+#line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, FALSE);
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = needle;
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_ != NULL;
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 227 "DocTag.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 250 "DocTag.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 258 "DocTag.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 270 "DocTag.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 294 "DocTag.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 300 "DocTag.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 304 "DocTag.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 308 "DocTag.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 320 "DocTag.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 330 "DocTag.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 336 "DocTag.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 350 "DocTag.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 360 "DocTag.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 366 "DocTag.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 375 "DocTag.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 395 "DocTag.c"
+}
+
+
+JSDOCDocTag* jsdoc_doc_tag_construct (GType object_type, const gchar* in_src) {
+ JSDOCDocTag * self = NULL;
+ const gchar* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gchar* src = NULL;
+ const gchar* _tmp2_;
+ gchar* _tmp3_;
+ const gchar* _tmp22_;
+ gchar* _tmp23_;
+ GMatchInfo* mi = NULL;
+ gboolean _tmp24_ = FALSE;
+ JSDOCDocTagTitle _tmp25_;
+ const gchar* _tmp57_;
+ gchar* _tmp58_;
+ JSDOCDocTagTitle _tmp59_;
+ GError * _inner_error_ = NULL;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (in_src != NULL, NULL);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self = (JSDOCDocTag*) g_object_new (object_type, NULL);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = in_src;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_debug ("DocTag.vala:87: Parsing Tag: %s", _tmp0_);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_object_unref0 (self->optvalues);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->optvalues = _tmp1_;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = in_src;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = g_strdup (_tmp2_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp3_;
+#line 435 "DocTag.c"
+ {
+ gchar* _tmp4_ = NULL;
+ const gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ const gchar* _tmp8_;
+ gchar* _tmp9_;
+ gboolean _tmp10_ = FALSE;
+ gboolean _tmp11_ = FALSE;
+ JSDOCDocTagTitle _tmp12_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = src;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp6_ = jsdoc_doc_tag_nibbleTitle (self, _tmp5_, &_inner_error_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = _tmp6_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 456 "DocTag.c"
+ goto __catch6_jsdoc_doc_tag_exception;
+ }
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 467 "DocTag.c"
+ }
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp7_ = _tmp4_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = NULL;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp7_;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = src;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = jsdoc_doc_tag_nibbleType (self, _tmp8_);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp9_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = self->title;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp12_ == JSDOC_DOC_TAG_TITLE_PARAM) {
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = TRUE;
+#line 491 "DocTag.c"
+ } else {
+ JSDOCDocTagTitle _tmp13_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = self->title;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = _tmp13_ == JSDOC_DOC_TAG_TITLE_PROPERTY;
+#line 498 "DocTag.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp11_) {
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = TRUE;
+#line 504 "DocTag.c"
+ } else {
+ JSDOCDocTagTitle _tmp14_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp14_ = self->title;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = _tmp14_ == JSDOC_DOC_TAG_TITLE_CFG;
+#line 511 "DocTag.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp10_) {
+#line 515 "DocTag.c"
+ gchar* _tmp15_ = NULL;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp16_ = src;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp17_ = jsdoc_doc_tag_nibbleName (self, _tmp16_, &_inner_error_);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = _tmp17_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp4_);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 532 "DocTag.c"
+ goto __catch6_jsdoc_doc_tag_exception;
+ }
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp4_);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 545 "DocTag.c"
+ }
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp18_ = _tmp15_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = NULL;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp18_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp15_);
+#line 557 "DocTag.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp4_);
+#line 561 "DocTag.c"
+ }
+ goto __finally6;
+ __catch6_jsdoc_doc_tag_exception:
+ {
+ GError* e = NULL;
+ const gchar* _tmp19_;
+ GError* _tmp20_;
+ const gchar* _tmp21_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ e = _inner_error_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _inner_error_ = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp19_ = in_src;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp20_ = e;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21_ = _tmp20_->message;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_debug ("DocTag.vala:111: Failed to parse tag: '%s' = error = %s", _tmp19_, _tmp21_);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_error_free0 (e);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return self;
+#line 588 "DocTag.c"
+ }
+ __finally6:
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 601 "DocTag.c"
+ }
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp22_ = src;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp23_ = string_strip (_tmp22_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp23_;
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ mi = NULL;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp25_ = self->title;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp25_ == JSDOC_DOC_TAG_TITLE_CFG) {
+#line 617 "DocTag.c"
+ const gchar* _tmp26_;
+ GMatchInfo* _tmp27_ = NULL;
+ gboolean _tmp28_;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp26_ = src;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp28_ = g_regex_match_all (_thread_safe_regex_init (&_tmp_regex_0, "^\\([^)]+\\)", 0), _tmp26_, 0, &_tmp27_);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ mi = _tmp27_;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24_ = _tmp28_;
+#line 631 "DocTag.c"
+ } else {
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24_ = FALSE;
+#line 635 "DocTag.c"
+ }
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp24_) {
+#line 639 "DocTag.c"
+ gchar* ms = NULL;
+ GMatchInfo* _tmp29_;
+ gchar* _tmp30_;
+ const gchar* _tmp31_;
+ gboolean _tmp32_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp29_ = mi;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp30_ = g_match_info_fetch (_tmp29_, 0);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ ms = _tmp30_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp31_ = ms;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp32_ = string_contains (_tmp31_, "|");
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp32_) {
+#line 657 "DocTag.c"
+ gchar** ar = NULL;
+ const gchar* _tmp33_;
+ gchar** _tmp34_;
+ gchar** _tmp35_;
+ gint ar_length1;
+ gint _ar_size_;
+ const gchar* _tmp46_;
+ const gchar* _tmp47_;
+ gint _tmp48_;
+ gint _tmp49_;
+ const gchar* _tmp50_;
+ gint _tmp51_;
+ gint _tmp52_;
+ const gchar* _tmp53_;
+ gint _tmp54_;
+ gint _tmp55_;
+ gchar* _tmp56_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp33_ = ms;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp35_ = _tmp34_ = g_strsplit (_tmp33_, "|", 0);
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ ar = _tmp35_;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ ar_length1 = _vala_array_length (_tmp34_);
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _ar_size_ = ar_length1;
+#line 685 "DocTag.c"
+ {
+ gint i = 0;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ i = 0;
+#line 690 "DocTag.c"
+ {
+ gboolean _tmp36_ = FALSE;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp36_ = TRUE;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ while (TRUE) {
+#line 697 "DocTag.c"
+ gint _tmp38_;
+ gchar** _tmp39_;
+ gint _tmp39__length1;
+ GeeArrayList* _tmp40_;
+ gchar** _tmp41_;
+ gint _tmp41__length1;
+ gint _tmp42_;
+ const gchar* _tmp43_;
+ gchar* _tmp44_;
+ gchar* _tmp45_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!_tmp36_) {
+#line 710 "DocTag.c"
+ gint _tmp37_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp37_ = i;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ i = _tmp37_ + 1;
+#line 716 "DocTag.c"
+ }
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp36_ = FALSE;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp38_ = i;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp39_ = ar;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp39__length1 = ar_length1;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!(_tmp38_ < _tmp39__length1)) {
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ break;
+#line 730 "DocTag.c"
+ }
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp40_ = self->optvalues;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp41_ = ar;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp41__length1 = ar_length1;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp42_ = i;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp43_ = _tmp41_[_tmp42_];
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp44_ = string_strip (_tmp43_);
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp45_ = _tmp44_;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp40_, _tmp45_);
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp45_);
+#line 750 "DocTag.c"
+ }
+ }
+ }
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp46_ = src;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp47_ = ms;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp48_ = strlen (_tmp47_);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp49_ = _tmp48_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp50_ = src;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp51_ = strlen (_tmp50_);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp52_ = _tmp51_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp53_ = ms;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp54_ = strlen (_tmp53_);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp55_ = _tmp54_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp56_ = string_substring (_tmp46_, (glong) _tmp49_, (glong) (_tmp52_ - _tmp55_));
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp56_;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ ar = (_vala_array_free (ar, ar_length1, (GDestroyNotify) g_free), NULL);
+#line 782 "DocTag.c"
+ }
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (ms);
+#line 786 "DocTag.c"
+ }
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp57_ = src;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp58_ = g_strdup (_tmp57_);
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->desc);
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->desc = _tmp58_;
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp59_ = self->title;
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp59_ != JSDOC_DOC_TAG_TITLE_EXAMPLE) {
+#line 800 "DocTag.c"
+ const gchar* _tmp60_;
+ gchar* _tmp61_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp60_ = self->desc;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp61_ = string_strip (_tmp60_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->desc);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->desc = _tmp61_;
+#line 811 "DocTag.c"
+ }
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return self;
+#line 819 "DocTag.c"
+}
+
+
+JSDOCDocTag* jsdoc_doc_tag_new (const gchar* in_src) {
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return jsdoc_doc_tag_construct (JSDOC_TYPE_DOC_TAG, in_src);
+#line 826 "DocTag.c"
+}
+
+
+/**
+ Find and shift off the title of a tag.
+ @param {string} src
+ @return src
+ */
+static gchar* jsdoc_doc_tag_nibbleTitle (JSDOCDocTag* self, const gchar* src, GError** error) {
+ gchar* result = NULL;
+ GMatchInfo* mi = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ const gchar* _tmp2_;
+ const gchar* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ GMatchInfo* _tmp6_ = NULL;
+ gboolean _tmp7_;
+ GEnumClass* enumc = NULL;
+ GTypeClass* _tmp13_;
+ GEnumValue* eval = NULL;
+ GEnumClass* _tmp14_;
+ GMatchInfo* _tmp15_;
+ gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ gchar* _tmp19_;
+ gchar* _tmp20_;
+ gchar* _tmp21_;
+ GEnumValue* _tmp22_;
+ GEnumValue* _tmp23_;
+ GEnumValue* _tmp24_;
+ GEnumValue* _tmp28_;
+ gint _tmp29_;
+ gchar* _tmp30_ = NULL;
+ GMatchInfo* _tmp31_;
+ gint _tmp32_;
+ GError * _inner_error_ = NULL;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (src != NULL, NULL);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = src;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = src;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = strlen (_tmp3_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = _tmp4_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp7_ = g_regex_match_full (_thread_safe_regex_init (&_tmp_regex_1, "^\\s*(\\S+)\\s*(?:\\s([\\s\\S]*))?$", 0), _tmp2_, (gssize) _tmp5_, 0, 0, &_tmp6_, &_inner_error_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ mi = _tmp6_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = _tmp7_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_propagate_error (error, _inner_error_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 896 "DocTag.c"
+ } else {
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 906 "DocTag.c"
+ }
+ }
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!_tmp1_) {
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = TRUE;
+#line 913 "DocTag.c"
+ } else {
+ GMatchInfo* _tmp8_;
+ gint _tmp9_;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = mi;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = g_match_info_get_match_count (_tmp8_);
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = _tmp9_ < 2;
+#line 923 "DocTag.c"
+ }
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp0_) {
+#line 927 "DocTag.c"
+ GError* _tmp10_;
+ const gchar* _tmp11_;
+ gchar* _tmp12_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = g_error_new_literal (JSDOC_DOC_TAG_EXCEPTION, JSDOC_DOC_TAG_EXCEPTION_NO_TITLE, "missing title");
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _inner_error_ = _tmp10_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_propagate_error (error, _inner_error_);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 943 "DocTag.c"
+ } else {
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 953 "DocTag.c"
+ }
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = src;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = g_strdup (_tmp11_);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp12_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 965 "DocTag.c"
+ }
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = g_type_class_ref (JSDOC_TYPE_DOC_TAG_TITLE);
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ enumc = (GEnumClass*) _tmp13_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp14_ = enumc;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = mi;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp16_ = g_match_info_fetch (_tmp15_, 1);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp17_ = _tmp16_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp18_ = g_utf8_strup (_tmp17_, (gssize) -1);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp19_ = _tmp18_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp20_ = g_strconcat ("JSDOC_DOC_TAG_TITLE_", _tmp19_, NULL);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21_ = _tmp20_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp22_ = g_enum_get_value_by_name (_tmp14_, _tmp21_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp23_ = _tmp22_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp21_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp19_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp17_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ eval = _tmp23_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24_ = eval;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp24_ == NULL) {
+#line 1003 "DocTag.c"
+ GError* _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp25_ = g_error_new_literal (JSDOC_DOC_TAG_EXCEPTION, JSDOC_DOC_TAG_EXCEPTION_INVALID_TITLE, "title not supported ??");
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _inner_error_ = _tmp25_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_propagate_error (error, _inner_error_);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_type_class_unref0 (enumc);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1021 "DocTag.c"
+ } else {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_type_class_unref0 (enumc);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1033 "DocTag.c"
+ }
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp26_ = src;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp27_ = g_strdup (_tmp26_);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp27_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_type_class_unref0 (enumc);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1047 "DocTag.c"
+ }
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp28_ = eval;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp29_ = (*_tmp28_).value;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->title = (JSDOCDocTagTitle) _tmp29_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp31_ = mi;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp32_ = g_match_info_get_match_count (_tmp31_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp32_ > 2) {
+#line 1061 "DocTag.c"
+ GMatchInfo* _tmp33_;
+ gchar* _tmp34_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp33_ = mi;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp34_ = g_match_info_fetch (_tmp33_, 2);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp30_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp30_ = _tmp34_;
+#line 1072 "DocTag.c"
+ } else {
+ gchar* _tmp35_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp35_ = g_strdup ("");
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp30_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp30_ = _tmp35_;
+#line 1081 "DocTag.c"
+ }
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp30_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_type_class_unref0 (enumc);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1091 "DocTag.c"
+}
+
+
+/**
+ Find and shift off the type of a tag.
+ @requires frame/String.js
+ @param {string} src
+ @return src
+ */
+static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (old != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (replacement != NULL, NULL);
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if ((*((gchar*) self)) == '\0') {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 1116 "DocTag.c"
+ } else {
+ const gchar* _tmp2_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = (*((gchar*) _tmp2_)) == '\0';
+#line 1123 "DocTag.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = TRUE;
+#line 1129 "DocTag.c"
+ } else {
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = replacement;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strcmp0 (_tmp3_, _tmp4_) == 0;
+#line 1139 "DocTag.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 1143 "DocTag.c"
+ gchar* _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = g_strdup (self);
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1151 "DocTag.c"
+ }
+ {
+ GRegex* regex = NULL;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ GRegex* _tmp9_;
+ GRegex* _tmp10_;
+ gchar* _tmp11_ = NULL;
+ GRegex* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = old;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = g_regex_escape_string (_tmp6_, -1);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = g_regex_new (_tmp8_, 0, 0, &_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = _tmp9_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp8_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ regex = _tmp10_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 1183 "DocTag.c"
+ goto __catch7_g_regex_error;
+ }
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1192 "DocTag.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = regex;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = replacement;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = g_regex_replace_literal (_tmp12_, self, (gssize) -1, 0, _tmp13_, 0, &_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp14_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 1208 "DocTag.c"
+ goto __catch7_g_regex_error;
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1219 "DocTag.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = _tmp11_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = NULL;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp15_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp11_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1233 "DocTag.c"
+ }
+ goto __finally7;
+ __catch7_g_regex_error:
+ {
+ GError* e = NULL;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ e = _inner_error_;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _inner_error_ = NULL;
+#line 1415 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_assert_not_reached ();
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_error_free0 (e);
+#line 1247 "DocTag.c"
+ }
+ __finally7:
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1258 "DocTag.c"
+ }
+}
+
+
+static gchar* jsdoc_doc_tag_nibbleType (JSDOCDocTag* self, const gchar* src) {
+ gchar* result = NULL;
+ GMatchInfo* mi = NULL;
+ const gchar* _tmp0_;
+ GMatchInfo* _tmp1_ = NULL;
+ gboolean _tmp2_;
+ gint start = 0;
+ gint stop = 0;
+ const gchar* _tmp5_;
+ gint _tmp6_ = 0;
+ gint _tmp7_ = 0;
+ gint _tmp8_;
+ const gchar* _tmp12_;
+ gint _tmp13_;
+ gint _tmp14_;
+ gchar* _tmp15_;
+ gchar* _tmp16_;
+ gchar* _tmp17_;
+ const gchar* _tmp18_;
+ gchar* _tmp19_;
+ const gchar* _tmp20_;
+ gint _tmp21_;
+ gchar* _tmp22_;
+ GError * _inner_error_ = NULL;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (src != NULL, NULL);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = src;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = g_regex_match_all (_thread_safe_regex_init (&_tmp_regex_2, "^\\s*\\{", 0), _tmp0_, 0, &_tmp1_);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ mi = _tmp1_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!_tmp2_) {
+#line 1301 "DocTag.c"
+ const gchar* _tmp3_;
+ gchar* _tmp4_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = src;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = g_strdup (_tmp3_);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp4_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1314 "DocTag.c"
+ }
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = src;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ jsdoc_doc_tag_balance (self, _tmp5_, '{', '}', &_tmp6_, &_tmp7_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ start = _tmp6_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ stop = _tmp7_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = stop;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp8_ == -1) {
+#line 1328 "DocTag.c"
+ GError* _tmp9_;
+ const gchar* _tmp10_;
+ gchar* _tmp11_;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = g_error_new_literal (JSDOC_DOC_TAG_EXCEPTION, JSDOC_DOC_TAG_EXCEPTION_INVALID_TYPE, "Malformed comment tag ignored. Tag type requires an opening { and a cl" \
+"osing }: ");
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _inner_error_ = _tmp9_;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = src;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = g_strdup (_tmp10_);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp11_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1354 "DocTag.c"
+ }
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = src;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = start;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp14_ = stop;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = string_substring (_tmp12_, (glong) (_tmp13_ + 1), (glong) (_tmp14_ - 1));
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp16_ = _tmp15_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp17_ = string_strip (_tmp16_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->type);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->type = _tmp17_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp16_);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp18_ = self->type;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp19_ = string_replace (_tmp18_, ",", "|");
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->type);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->type = _tmp19_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp20_ = src;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21_ = stop;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp22_ = string_substring (_tmp20_, (glong) (_tmp21_ + 1), (glong) -1);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp22_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1394 "DocTag.c"
+}
+
+
+/**
+ Find and shift off the name of a tag.
+ @requires frame/String.js
+ @param {string} src
+ @return src
+ */
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1418 "DocTag.c"
+}
+
+
+static gchar* jsdoc_doc_tag_nibbleName (JSDOCDocTag* self, const gchar* in_src, GError** error) {
+ gchar* result = NULL;
+ gchar* src = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp2_;
+ gchar _tmp3_;
+ GMatchInfo* mi = NULL;
+ gboolean _tmp48_ = FALSE;
+ const gchar* _tmp49_;
+ const gchar* _tmp50_;
+ gint _tmp51_;
+ gint _tmp52_;
+ GMatchInfo* _tmp53_ = NULL;
+ gboolean _tmp54_;
+ GError * _inner_error_ = NULL;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (in_src != NULL, NULL);
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = in_src;
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = string_strip (_tmp0_);
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp1_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = src;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = string_get (_tmp2_, (glong) 0);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp3_ == '[') {
+#line 1454 "DocTag.c"
+ gint start = 0;
+ gint stop = 0;
+ const gchar* _tmp4_;
+ gint _tmp5_ = 0;
+ gint _tmp6_ = 0;
+ gint _tmp7_;
+ const gchar* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ const gchar* _tmp15_;
+ gint _tmp16_;
+ gchar* _tmp17_;
+ gchar** nameAndValue = NULL;
+ const gchar* _tmp18_;
+ gchar** _tmp19_;
+ gchar** _tmp20_;
+ gint nameAndValue_length1;
+ gint _nameAndValue_size_;
+ gchar** _tmp21_;
+ gint _tmp21__length1;
+ const gchar* _tmp40_;
+ const gchar* _tmp41_;
+ gint _tmp42_;
+ gint _tmp43_;
+ const gchar* _tmp44_;
+ gint _tmp45_;
+ gint _tmp46_;
+ gchar* _tmp47_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = src;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ jsdoc_doc_tag_balance (self, _tmp4_, '[', ']', &_tmp5_, &_tmp6_);
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ start = _tmp5_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ stop = _tmp6_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp7_ = stop;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp7_ == -1) {
+#line 1498 "DocTag.c"
+ GError* _tmp8_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = g_error_new_literal (JSDOC_DOC_TAG_EXCEPTION, JSDOC_DOC_TAG_EXCEPTION_INVALID_NAME, "Malformed comment tag ignored. Tag optional name requires an opening [" \
+" and a closing ]: ");
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _inner_error_ = _tmp8_;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_propagate_error (error, _inner_error_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1512 "DocTag.c"
+ } else {
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1522 "DocTag.c"
+ }
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = src;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1528 "DocTag.c"
+ }
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = src;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = start;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = stop;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = string_substring (_tmp9_, (glong) (_tmp10_ + 1), (glong) _tmp11_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = _tmp12_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp14_ = string_strip (_tmp13_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->name);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->name = _tmp14_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp13_);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->isOptional = TRUE;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = src;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp16_ = stop;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp17_ = string_substring (_tmp15_, (glong) (_tmp16_ + 1), (glong) -1);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ src = _tmp17_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp18_ = self->name;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp20_ = _tmp19_ = g_strsplit (_tmp18_, "=", 0);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ nameAndValue = _tmp20_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ nameAndValue_length1 = _vala_array_length (_tmp19_);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _nameAndValue_size_ = nameAndValue_length1;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21_ = nameAndValue;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21__length1 = nameAndValue_length1;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp21__length1 > 1) {
+#line 1576 "DocTag.c"
+ gchar* oname = NULL;
+ const gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar** _tmp24_;
+ gint _tmp24__length1;
+ const gchar* _tmp25_;
+ gchar* _tmp26_;
+ const gchar* _tmp27_;
+ gchar** _tmp28_;
+ gint _tmp28__length1;
+ const gchar* _tmp29_;
+ gint _tmp30_;
+ gint _tmp31_;
+ gchar** _tmp32_;
+ gint _tmp32__length1;
+ const gchar* _tmp33_;
+ gint _tmp34_;
+ gint _tmp35_;
+ const gchar* _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+ gchar* _tmp39_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp22_ = self->name;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp23_ = g_strdup (_tmp22_);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ oname = _tmp23_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24_ = nameAndValue;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24__length1 = nameAndValue_length1;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp25_ = _tmp24_[0];
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp26_ = string_strip (_tmp25_);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->name);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->name = _tmp26_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp27_ = oname;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp28_ = nameAndValue;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp28__length1 = nameAndValue_length1;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp29_ = _tmp28_[0];
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp30_ = strlen (_tmp29_);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp31_ = _tmp30_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp32_ = nameAndValue;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp32__length1 = nameAndValue_length1;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp33_ = _tmp32_[0];
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp34_ = strlen (_tmp33_);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp35_ = _tmp34_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp36_ = oname;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp37_ = strlen (_tmp36_);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp38_ = _tmp37_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp39_ = string_substring (_tmp27_, (glong) (_tmp31_ + 1), (glong) ((_tmp35_ + 1) - _tmp38_));
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->defaultValue);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->defaultValue = _tmp39_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (oname);
+#line 1653 "DocTag.c"
+ }
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp40_ = self->name;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_debug ("DocTag.vala:246: got name %s", _tmp40_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp41_ = src;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp42_ = stop;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp43_ = stop;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp44_ = src;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp45_ = strlen (_tmp44_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp46_ = _tmp45_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp47_ = string_substring (_tmp41_, (glong) (_tmp42_ + 1), (glong) ((_tmp43_ + 1) - _tmp46_));
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp47_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ nameAndValue = (_vala_array_free (nameAndValue, nameAndValue_length1, (GDestroyNotify) g_free), NULL);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1681 "DocTag.c"
+ }
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp49_ = src;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp50_ = src;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp51_ = strlen (_tmp50_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp52_ = _tmp51_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp54_ = g_regex_match_full (_thread_safe_regex_init (&_tmp_regex_3, "^(\\S+)(?:\\s([\\s\\S]*))?$", 0), _tmp49_, (gssize) _tmp52_, 0, 0, &_tmp53_, &_inner_error_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ mi = _tmp53_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp48_ = _tmp54_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_inner_error_->domain == JSDOC_DOC_TAG_EXCEPTION) {
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_propagate_error (error, _inner_error_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1711 "DocTag.c"
+ } else {
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_clear_error (&_inner_error_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return NULL;
+#line 1723 "DocTag.c"
+ }
+ }
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp48_) {
+#line 1728 "DocTag.c"
+ GMatchInfo* _tmp55_;
+ gchar* _tmp56_;
+ const gchar* _tmp57_;
+ gchar* _tmp58_ = NULL;
+ GMatchInfo* _tmp59_;
+ gint _tmp60_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp55_ = mi;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp56_ = g_match_info_fetch (_tmp55_, 1);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->name);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->name = _tmp56_;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp57_ = self->name;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_debug ("DocTag.vala:255: got name %s", _tmp57_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp59_ = mi;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp60_ = g_match_info_get_match_count (_tmp59_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp60_ > 2) {
+#line 1753 "DocTag.c"
+ GMatchInfo* _tmp61_;
+ gchar* _tmp62_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp61_ = mi;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp62_ = g_match_info_fetch (_tmp61_, 2);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp58_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp58_ = _tmp62_;
+#line 1764 "DocTag.c"
+ } else {
+ gchar* _tmp63_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp63_ = g_strdup ("");
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (_tmp58_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp58_ = _tmp63_;
+#line 1773 "DocTag.c"
+ }
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = _tmp58_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (src);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1783 "DocTag.c"
+ }
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = src;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_match_info_unref0 (mi);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 1791 "DocTag.c"
+}
+
+
+static void jsdoc_doc_tag_balance (JSDOCDocTag* self, const gchar* str, gchar open, gchar close, gint* start, gint* stop) {
+ gint _vala_start = 0;
+ gint _vala_stop = 0;
+ gint _tmp9_;
+ gint balance = 0;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_if_fail (self != NULL);
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_if_fail (str != NULL);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_start = 0;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_stop = -1;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ while (TRUE) {
+#line 1810 "DocTag.c"
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gchar _tmp2_;
+ gchar _tmp3_;
+ gint _tmp4_;
+ const gchar* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = str;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = _vala_start;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = string_get (_tmp0_, (glong) _tmp1_);
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = open;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!(_tmp2_ != _tmp3_)) {
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ break;
+#line 1832 "DocTag.c"
+ }
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = _vala_start;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = str;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp6_ = strlen (_tmp5_);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp7_ = _tmp6_;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp4_ == _tmp7_) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (start) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *start = _vala_start;
+#line 1848 "DocTag.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (stop) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *stop = _vala_stop;
+#line 1854 "DocTag.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return;
+#line 1858 "DocTag.c"
+ }
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = _vala_start;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_start = _tmp8_ + 1;
+#line 1864 "DocTag.c"
+ }
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = _vala_start;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_stop = _tmp9_ + 1;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ balance = 1;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ while (TRUE) {
+#line 1874 "DocTag.c"
+ gint _tmp10_;
+ const gchar* _tmp11_;
+ gint _tmp12_;
+ gint _tmp13_;
+ const gchar* _tmp14_;
+ gint _tmp15_;
+ gchar _tmp16_;
+ gchar _tmp17_;
+ const gchar* _tmp19_;
+ gint _tmp20_;
+ gchar _tmp21_;
+ gchar _tmp22_;
+ gint _tmp24_;
+ gint _tmp25_;
+ gint _tmp26_;
+ const gchar* _tmp27_;
+ gint _tmp28_;
+ gint _tmp29_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = _vala_stop;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = str;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = strlen (_tmp11_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = _tmp12_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!(_tmp10_ < _tmp13_)) {
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ break;
+#line 1905 "DocTag.c"
+ }
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp14_ = str;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp15_ = _vala_stop;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp16_ = string_get (_tmp14_, (glong) _tmp15_);
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp17_ = open;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp16_ == _tmp17_) {
+#line 1917 "DocTag.c"
+ gint _tmp18_;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp18_ = balance;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ balance = _tmp18_ + 1;
+#line 1923 "DocTag.c"
+ }
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp19_ = str;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp20_ = _vala_stop;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp21_ = string_get (_tmp19_, (glong) _tmp20_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp22_ = close;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp21_ == _tmp22_) {
+#line 1935 "DocTag.c"
+ gint _tmp23_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp23_ = balance;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ balance = _tmp23_ - 1;
+#line 1941 "DocTag.c"
+ }
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp24_ = balance;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp24_ == 0) {
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ break;
+#line 1949 "DocTag.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp25_ = _vala_stop;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_stop = _tmp25_ + 1;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp26_ = _vala_stop;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp27_ = str;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp28_ = strlen (_tmp27_);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp29_ = _tmp28_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (_tmp26_ == _tmp29_) {
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _vala_stop = -1;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (start) {
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *start = _vala_start;
+#line 1971 "DocTag.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (stop) {
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *stop = _vala_stop;
+#line 1977 "DocTag.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return;
+#line 1981 "DocTag.c"
+ }
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (start) {
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *start = _vala_start;
+#line 1988 "DocTag.c"
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (stop) {
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ *stop = _vala_stop;
+#line 1994 "DocTag.c"
+ }
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 2002 "DocTag.c"
+}
+
+
+JsonArray* jsdoc_doc_tag_optvalue_as_json_array (JSDOCDocTag* self) {
+ JsonArray* result = NULL;
+ JsonArray* ret = NULL;
+ JsonArray* _tmp0_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = json_array_new ();
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ ret = _tmp0_;
+#line 2016 "DocTag.c"
+ {
+ GeeArrayList* _str_list = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gint _str_size = 0;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _str_index = 0;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = self->optvalues;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _str_list = _tmp2_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = _str_list;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp5_ = _tmp4_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _str_size = _tmp5_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _str_index = -1;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ while (TRUE) {
+#line 2044 "DocTag.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ gchar* str = NULL;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JsonArray* _tmp12_;
+ const gchar* _tmp13_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp6_ = _str_index;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _str_index = _tmp6_ + 1;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp7_ = _str_index;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp8_ = _str_size;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ break;
+#line 2066 "DocTag.c"
+ }
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp9_ = _str_list;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp10_ = _str_index;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ str = (gchar*) _tmp11_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp12_ = ret;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp13_ = str;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ json_array_add_string_element (_tmp12_, _tmp13_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (str);
+#line 2084 "DocTag.c"
+ }
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_object_unref0 (_str_list);
+#line 2088 "DocTag.c"
+ }
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ result = ret;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ return result;
+#line 2094 "DocTag.c"
+}
+
+
+static void jsdoc_doc_tag_class_init (JSDOCDocTagClass * klass) {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ jsdoc_doc_tag_parent_class = g_type_class_peek_parent (klass);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_doc_tag_finalize;
+#line 2103 "DocTag.c"
+}
+
+
+static void jsdoc_doc_tag_instance_init (JSDOCDocTag * self) {
+ gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->title = JSDOC_DOC_TAG_TITLE_NO_VALUE;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp0_ = g_strdup ("");
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->type = _tmp0_;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp1_ = g_strdup ("");
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->name = _tmp1_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->isOptional = FALSE;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp2_ = g_strdup ("");
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->defaultValue = _tmp2_;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp3_ = g_strdup ("");
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->desc = _tmp3_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _tmp4_ = g_strdup ("");
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self->memberOf = _tmp4_;
+#line 2137 "DocTag.c"
+}
+
+
+static void jsdoc_doc_tag_finalize (GObject * obj) {
+ JSDOCDocTag * self;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_DOC_TAG, JSDOCDocTag);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->type);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->name);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->defaultValue);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->desc);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_object_unref0 (self->optvalues);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ _g_free0 (self->memberOf);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/DocTag.vala"
+ G_OBJECT_CLASS (jsdoc_doc_tag_parent_class)->finalize (obj);
+#line 2159 "DocTag.c"
+}
+
+
+GType jsdoc_doc_tag_get_type (void) {
+ static volatile gsize jsdoc_doc_tag_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_doc_tag_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCDocTagClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_doc_tag_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCDocTag), 0, (GInstanceInitFunc) jsdoc_doc_tag_instance_init, NULL };
+ GType jsdoc_doc_tag_type_id;
+ jsdoc_doc_tag_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCDocTag", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_doc_tag_type_id__volatile, jsdoc_doc_tag_type_id);
+ }
+ return jsdoc_doc_tag_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+
+namespace JSDOC
+{
+ public enum DocTagTitle
+ {
+ NO_VALUE,
+ PARAM,
+ PROPERTY,
+ CFG,
+ EXAMPLE,
+ SINGLETON,
+ AUTHOR,
+ METHOD,
+ DESC,
+ OVERVIEW,
+ SINCE,
+ CONSTANT,
+ VERSION,
+ DEPRECATED,
+
+ SEE,
+ CLASS,
+ NAMESPACE,
+ CONSTRUCTOR,
+ STATIC,
+
+
+ INNER,
+ FIELD,
+ FUNCTION,
+ EVENT,
+ NAME,
+ RETURN,
+ THROWS,
+ REQUIRES,
+ TYPE,
+ PRIVATE,
+ IGNORE,
+ ARGUMENTS,
+ EXTENDS,
+ DEFAULT,
+ MEMBEROF,
+ PUBLIC,
+ SCOPE,
+ SCOPEALIAS
+
+ }
+
+ errordomain DocTagException {
+ NO_TITLE,
+ INVALID_TITLE,
+ INVALID_NAME,
+ INVALID_TYPE
+ }
+
+
+ public class DocTag : Object
+ {
+
+ public DocTagTitle title = DocTagTitle.NO_VALUE;
+ public string type = ""; // eg.. boolean / string etc..., may be xxxx|bbbb - eg. optional types
+ public string name = ""; // eg. "title" << a property name etc...
+ public bool isOptional = false;
+ public string defaultValue = "";
+ public string desc = "";
+ public Gee.ArrayList<string> optvalues;
+ public string memberOf = ""; // set by add addMember..
+
+ public string asString()
+ {
+ return "DocTag: title=%s name=%s type=%s desc=%s".printf(
+ this.title.to_string(),
+ this.name,
+ this.type,
+ this.desc
+ );
+ }
+
+
+
+
+
+ public DocTag (string in_src)
+ {
+
+ GLib.debug("Parsing Tag: %s", in_src);
+
+
+
+
+ this.optvalues = new Gee.ArrayList<string>();
+
+ var src = in_src;
+
+ try {
+ src = this.nibbleTitle(src);
+
+ src = this.nibbleType(src);
+
+
+ // only some tags are allowed to have names.
+ if (
+ this.title == DocTagTitle.PARAM ||
+ this.title == DocTagTitle.PROPERTY ||
+ this.title == DocTagTitle.CFG) { // @config is deprecated
+ src = this.nibbleName(src);
+ }
+ }
+ catch(DocTagException e) {
+ GLib.debug("Failed to parse tag: '%s' = error = %s", in_src, e.message);
+ // only throw if in 'strict'??
+ //throw e;
+ return;
+ }
+
+ // if type == @cfg, and matches (|....|...)
+
+ src = src.strip();
+
+ MatchInfo mi = null;
+
+ if (this.title == DocTagTitle.CFG && /^\([^)]+\)/.match_all(src, 0, out mi )) {
+ var ms = mi.fetch(0);
+ if (ms.contains("|")) {
+ var ar = ms.split("|");
+ for (var i =0 ; i < ar.length;i++) {
+ optvalues.add(ar[i].strip());
+ }
+ src = src.substring(ms.length, src.length - ms.length);
+
+ }
+
+ }
+
+
+ this.desc = src; // whatever is left
+
+ // example tags need to have whitespace preserved
+ if (this.title != DocTagTitle.EXAMPLE) {
+ this.desc = this.desc.strip();
+ }
+
+
+
+
+
+ }
+
+
+ /**
+ Find and shift off the title of a tag.
+ @param {string} src
+ @return src
+ */
+ private string nibbleTitle (string src) throws DocTagException
+ {
+ //GLib.debug("nibbleTitle: %s", src);
+ MatchInfo mi;
+
+ if(! /^\s*(\S+)\s*(?:\s([\s\S]*))?$/.match_full(src, src.length, 0, 0, out mi) ||
+ mi.get_match_count() < 2) {
+ throw new DocTagException.NO_TITLE("missing title");
+ return src;
+ }
+
+ //GLib.debug("nibbleTitle: regexmatches %d : %s",
+ // mi.get_match_count(),
+ // mi.fetch(1).up());
+
+ EnumClass enumc = (EnumClass) typeof (DocTagTitle).class_ref ();
+
+ unowned EnumValue? eval = enumc.get_value_by_name ( "JSDOC_DOC_TAG_TITLE_"+ mi.fetch(1).up());
+ if (eval == null) {
+ throw new DocTagException.INVALID_TITLE("title not supported ??");
+ return src;
+ }
+ this.title = (DocTagTitle) eval.value;
+ return mi.get_match_count() > 2 ? mi.fetch(2) : "";
+
+ }
+
+ /**
+ Find and shift off the type of a tag.
+ @requires frame/String.js
+ @param {string} src
+ @return src
+ */
+ private string nibbleType(string src)
+ {
+ MatchInfo mi;
+ if(! /^\s*\{/.match_all(src, 0, out mi)) {
+ return src;
+ }
+ int start;
+ int stop;
+
+ this.balance(src,'{', '}', out start, out stop);
+ //GLib.debug("nibble type: %s %d, %d", src, start,stop);
+ if (stop == -1) {
+ throw new DocTagException.INVALID_TYPE("Malformed comment tag ignored. Tag type requires an opening { and a closing }: ") ;
+ return src;
+ }
+ this.type = src.substring(start+1,stop-1).strip();
+ this.type = this.type.replace(",", "|"); // multiples can be separated by , or |
+ return src.substring(stop+1, -1);
+
+ }
+
+
+
+ /**
+ Find and shift off the name of a tag.
+ @requires frame/String.js
+ @param {string} src
+ @return src
+ */
+ private string nibbleName( string in_src) throws DocTagException
+ {
+
+
+ var src = in_src.strip();
+ //GLib.debug("nibbleName: %s", in_src);
+
+ // is optional?
+ if (src.get(0) == '[') {
+ int start, stop;
+ this.balance(src,'[', ']', out start, out stop);
+ if (stop == -1) {
+ throw new DocTagException.INVALID_NAME("Malformed comment tag ignored. Tag optional name requires an opening [ and a closing ]: ");
+ return src;
+ }
+ this.name = src.substring(start+1, stop).strip();
+ this.isOptional = true;
+
+ src = src.substring(stop+1);
+
+ // has default value?
+ var nameAndValue = this.name.split("=");
+ if (nameAndValue.length > 1) {
+ var oname = this.name;
+ this.name = nameAndValue[0].strip();
+
+ this.defaultValue = oname.substring( nameAndValue[0].length + 1 , nameAndValue[0].length + 1 - oname.length); /// what about
+ }
+ GLib.debug("got name %s", this.name);
+ return src.substring(stop+1, stop+1-src.length);
+ }
+ // not encased with [ ]
+
+ MatchInfo mi;
+
+ if (/^(\S+)(?:\s([\s\S]*))?$/.match_full(src, src.length, 0, 0, out mi)) {
+ this.name = mi.fetch(1);
+ GLib.debug("got name %s", this.name);
+ return mi.get_match_count() > 2 ? mi.fetch(2) : "";
+ }
+
+
+ return src;
+ }
+
+
+ private void balance(string str, char open, char close, out int start, out int stop) {
+ start = 0;
+ stop =-1;
+ while (str.get(start) != open) {
+ if (start == str.length) {
+ return;
+ }
+ start++;
+ }
+
+ stop = start +1;
+ var balance = 1;
+ while (stop < str.length) {
+ if (str.get(stop) == open) balance++;
+ if (str.get(stop) == close) balance--;
+ if (balance == 0) break;
+ stop++;
+ if (stop == str.length) {
+ stop = -1;
+ return;
+ }
+ }
+
+
+ }
+
+ public Json.Array optvalue_as_json_array()
+ {
+ var ret = new Json.Array();
+ foreach (var str in this.optvalues ) {
+ ret.add_string_element(str);
+ }
+ return ret;
+
+
+ }
+
+ }
+}
+
+
\ No newline at end of file
--- /dev/null
+/* Identifier.c generated by valac 0.36.6, the Vala compiler
+ * generated from Identifier.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+typedef struct _JSDOCIdentifierPrivate JSDOCIdentifierPrivate;
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+struct _JSDOCIdentifier {
+ GObject parent_instance;
+ JSDOCIdentifierPrivate * priv;
+ gchar* name;
+ gint refcount;
+ gchar* mungedValue;
+ JSDOCScope* scope;
+ gboolean toMunge;
+};
+
+struct _JSDOCIdentifierClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_identifier_parent_class = NULL;
+
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_IDENTIFIER_DUMMY_PROPERTY
+};
+JSDOCIdentifier* jsdoc_identifier_new (const gchar* name, JSDOCScope* scope);
+JSDOCIdentifier* jsdoc_identifier_construct (GType object_type, const gchar* name, JSDOCScope* scope);
+static void jsdoc_identifier_finalize (GObject * obj);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 65 "Identifier.c"
+}
+
+
+JSDOCIdentifier* jsdoc_identifier_construct (GType object_type, const gchar* name, JSDOCScope* scope) {
+ JSDOCIdentifier * self = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCScope* _tmp2_;
+ JSDOCScope* _tmp3_;
+ gchar* _tmp4_;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ g_return_val_if_fail (scope != NULL, NULL);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self = (JSDOCIdentifier*) g_object_new (object_type, NULL);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _tmp0_ = name;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_free0 (self->name);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self->name = _tmp1_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _tmp2_ = scope;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_object_unref0 (self->scope);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self->scope = _tmp3_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _tmp4_ = g_strdup ("");
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_free0 (self->mungedValue);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self->mungedValue = _tmp4_;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ return self;
+#line 106 "Identifier.c"
+}
+
+
+JSDOCIdentifier* jsdoc_identifier_new (const gchar* name, JSDOCScope* scope) {
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ return jsdoc_identifier_construct (JSDOC_TYPE_IDENTIFIER, name, scope);
+#line 113 "Identifier.c"
+}
+
+
+static void jsdoc_identifier_class_init (JSDOCIdentifierClass * klass) {
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ jsdoc_identifier_parent_class = g_type_class_peek_parent (klass);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_identifier_finalize;
+#line 122 "Identifier.c"
+}
+
+
+static void jsdoc_identifier_instance_init (JSDOCIdentifier * self) {
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self->refcount = 1;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self->toMunge = TRUE;
+#line 131 "Identifier.c"
+}
+
+
+static void jsdoc_identifier_finalize (GObject * obj) {
+ JSDOCIdentifier * self;
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier);
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_free0 (self->name);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_free0 (self->mungedValue);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ _g_object_unref0 (self->scope);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/Identifier.vala"
+ G_OBJECT_CLASS (jsdoc_identifier_parent_class)->finalize (obj);
+#line 147 "Identifier.c"
+}
+
+
+GType jsdoc_identifier_get_type (void) {
+ static volatile gsize jsdoc_identifier_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_identifier_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCIdentifierClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_identifier_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCIdentifier), 0, (GInstanceInitFunc) jsdoc_identifier_instance_init, NULL };
+ GType jsdoc_identifier_type_id;
+ jsdoc_identifier_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCIdentifier", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_identifier_type_id__volatile, jsdoc_identifier_type_id);
+ }
+ return jsdoc_identifier_type_id__volatile;
+}
+
+
+
--- /dev/null
+
+
+/**
+ * @class Identifier
+ * holds details about identifiers and their replacement values
+ * used by the packer..
+ *
+ */
+
+namespace JSDOC
+{
+ public class Identifier : Object
+ {
+
+ public string name;
+ public int refcount = 1; // used?
+ public string mungedValue; // should be at least 1?!?!
+ public Scope scope ; // script of fn scope..
+ public bool toMunge = true;
+
+
+
+ public Identifier(string name, Scope scope) {
+ // print("NEW IDENT: " + name);
+ this.name = name;
+ this.scope = scope;
+ this.mungedValue = "";
+ // this.identifiers = {}; <<< used where?
+
+ }
+ }
+
+}
+
+
--- /dev/null
+/* Lang.c generated by valac 0.36.6, the Vala compiler
+ * generated from Lang.vala, do not modify */
+
+/*<script type="text/javscript">*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+
+
+#define JSDOC_TYPE_LANGCLASS (jsdoc_langclass_get_type ())
+#define JSDOC_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_Class))
+#define JSDOC_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+#define JSDOC_IS_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_IS_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_LANGCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+
+typedef struct _JSDOCLang_Class JSDOCLang_Class;
+typedef struct _JSDOCLang_ClassClass JSDOCLang_ClassClass;
+typedef struct _JSDOCLang_ClassPrivate JSDOCLang_ClassPrivate;
+#define __g_list_free__g_free0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_free0_ (var), NULL)))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+typedef enum {
+ JSDOC_LANG_ERROR_ArgumentError
+} JSDOCLangError;
+#define JSDOC_LANG_ERROR jsdoc_lang_error_quark ()
+struct _JSDOCLang_Class {
+ GObject parent_instance;
+ JSDOCLang_ClassPrivate * priv;
+};
+
+struct _JSDOCLang_ClassClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCLang_ClassPrivate {
+ GList* coreObjects;
+ GeeHashMap* whitespaceNames;
+ GeeHashMap* newlineNames;
+};
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+
+extern JSDOCLang_Class* jsdoc_Lang;
+JSDOCLang_Class* jsdoc_Lang = NULL;
+static gpointer jsdoc_langclass_parent_class = NULL;
+
+GQuark jsdoc_lang_error_quark (void);
+GType jsdoc_langclass_get_type (void) G_GNUC_CONST;
+#define JSDOC_LANGCLASS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassPrivate))
+enum {
+ JSDOC_LANGCLASS_DUMMY_PROPERTY
+};
+static void _g_free0_ (gpointer var);
+static void _g_list_free__g_free0_ (GList* self);
+JSDOCLang_Class* jsdoc_langclass_new (void);
+JSDOCLang_Class* jsdoc_langclass_construct (GType object_type);
+static void jsdoc_langclass_init (JSDOCLang_Class* self);
+gboolean jsdoc_langclass_isBuiltin (JSDOCLang_Class* self, const gchar* name);
+gchar* jsdoc_langclass_whitespace (JSDOCLang_Class* self, const gchar* ch);
+gchar* jsdoc_langclass_newline (JSDOCLang_Class* self, const gchar* ch);
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+JSDOCTokenName jsdoc_langclass_keyword (JSDOCLang_Class* self, const gchar* word, GError** error);
+JSDOCTokenName* jsdoc_langclass_matching (JSDOCLang_Class* self, JSDOCTokenName name, GError** error);
+static JSDOCTokenName* _jsdoc_token_name_dup (JSDOCTokenName* self);
+const gchar* jsdoc_token_name_to_string (JSDOCTokenName self);
+gboolean jsdoc_langclass_isKeyword (JSDOCLang_Class* self, const gchar* word);
+JSDOCTokenName jsdoc_langclass_puncFirstString (JSDOCLang_Class* self, gchar ch);
+JSDOCTokenName jsdoc_langclass_puncString (JSDOCLang_Class* self, const gchar* ch);
+gboolean jsdoc_langclass_isNumber (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isHexDec (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isWordString (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isWordChar (JSDOCLang_Class* self, gchar c);
+gboolean jsdoc_langclass_isSpace (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isSpaceC (JSDOCLang_Class* self, gchar str);
+gboolean jsdoc_langclass_isNewline (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isNewlineC (JSDOCLang_Class* self, gchar str);
+gboolean jsdoc_langclass_isBoolean (JSDOCLang_Class* self, const gchar* str);
+static void jsdoc_langclass_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+
+GQuark jsdoc_lang_error_quark (void) {
+ return g_quark_from_static_string ("jsdoc_lang_error-quark");
+}
+
+
+static void _g_free0_ (gpointer var) {
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ var = (g_free (var), NULL);
+#line 186 "Lang.c"
+}
+
+
+static void _g_list_free__g_free0_ (GList* self) {
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_list_foreach (self, (GFunc) _g_free0_, NULL);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_list_free (self);
+#line 195 "Lang.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 202 "Lang.c"
+}
+
+
+JSDOCLang_Class* jsdoc_langclass_construct (GType object_type) {
+ JSDOCLang_Class * self = NULL;
+ JSDOCLang_Class* _tmp0_;
+ JSDOCLang_Class* _tmp1_;
+ JSDOCLang_Class* _tmp2_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self = (JSDOCLang_Class*) g_object_new (object_type, NULL);
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = jsdoc_Lang;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp0_ != NULL) {
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return self;
+#line 219 "Lang.c"
+ }
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ jsdoc_langclass_init (self);
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = _g_object_ref0 (self);
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_object_unref0 (jsdoc_Lang);
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ jsdoc_Lang = _tmp1_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = jsdoc_Lang;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_object_ref ((GObject*) _tmp2_);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return self;
+#line 235 "Lang.c"
+}
+
+
+JSDOCLang_Class* jsdoc_langclass_new (void) {
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return jsdoc_langclass_construct (JSDOC_TYPE_LANGCLASS);
+#line 242 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isBuiltin (JSDOCLang_Class* self, const gchar* name) {
+ gboolean result = FALSE;
+ GList* _tmp0_;
+ const gchar* _tmp1_;
+ gint _tmp2_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (name != NULL, FALSE);
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = self->priv->coreObjects;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = name;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = g_list_index (_tmp0_, _tmp1_);
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp2_ > -1;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 265 "Lang.c"
+}
+
+
+gchar* jsdoc_langclass_whitespace (JSDOCLang_Class* self, const gchar* ch) {
+ gchar* result = NULL;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gpointer _tmp2_;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (ch != NULL, NULL);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = self->priv->whitespaceNames;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = ch;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = (gchar*) _tmp2_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 288 "Lang.c"
+}
+
+
+gchar* jsdoc_langclass_newline (JSDOCLang_Class* self, const gchar* ch) {
+ gchar* result = NULL;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gpointer _tmp2_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (ch != NULL, NULL);
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = self->priv->newlineNames;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = ch;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = (gchar*) _tmp2_;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 311 "Lang.c"
+}
+
+
+JSDOCTokenName jsdoc_langclass_keyword (JSDOCLang_Class* self, const gchar* word, GError** error) {
+ JSDOCTokenName result = 0;
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+ GQuark _tmp3_ = 0U;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label0 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label1 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label2 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label3 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label4 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label5 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label6 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label7 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label8 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label9 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label10 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label11 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label12 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label13 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label14 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label15 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label16 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label17 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label18 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label19 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label20 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label21 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label22 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label23 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label24 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label25 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label26 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label27 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label28 = 0;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label29 = 0;
+#line 380 "Lang.c"
+ GError * _inner_error_ = NULL;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (word != NULL, 0);
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = word;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = _tmp0_;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("break")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 396 "Lang.c"
+ default:
+ {
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_BREAK;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 403 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("case")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 409 "Lang.c"
+ default:
+ {
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_CASE;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 416 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("catch")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 422 "Lang.c"
+ default:
+ {
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_CATCH;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 429 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("const")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 435 "Lang.c"
+ default:
+ {
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_VAR;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 442 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("continue")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 448 "Lang.c"
+ default:
+ {
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_CONTINUE;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 455 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label5) ? _tmp2_label5 : (_tmp2_label5 = g_quark_from_static_string ("default")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 461 "Lang.c"
+ default:
+ {
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DEFAULT;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 468 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label6) ? _tmp2_label6 : (_tmp2_label6 = g_quark_from_static_string ("delete")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 474 "Lang.c"
+ default:
+ {
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DELETE;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 481 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label7) ? _tmp2_label7 : (_tmp2_label7 = g_quark_from_static_string ("do")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 487 "Lang.c"
+ default:
+ {
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DO;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 494 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label8) ? _tmp2_label8 : (_tmp2_label8 = g_quark_from_static_string ("else")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 500 "Lang.c"
+ default:
+ {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_ELSE;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 507 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label9) ? _tmp2_label9 : (_tmp2_label9 = g_quark_from_static_string ("eval")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 513 "Lang.c"
+ default:
+ {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_EVAL;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 520 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label10) ? _tmp2_label10 : (_tmp2_label10 = g_quark_from_static_string ("false")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 526 "Lang.c"
+ default:
+ {
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_FALSE;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 533 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label11) ? _tmp2_label11 : (_tmp2_label11 = g_quark_from_static_string ("finally")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 539 "Lang.c"
+ default:
+ {
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_FINALLY;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 546 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label12) ? _tmp2_label12 : (_tmp2_label12 = g_quark_from_static_string ("for")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 552 "Lang.c"
+ default:
+ {
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_FOR;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 559 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label13) ? _tmp2_label13 : (_tmp2_label13 = g_quark_from_static_string ("function")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 565 "Lang.c"
+ default:
+ {
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_FUNCTION;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 572 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label14) ? _tmp2_label14 : (_tmp2_label14 = g_quark_from_static_string ("if")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 578 "Lang.c"
+ default:
+ {
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_IF;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 585 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label15) ? _tmp2_label15 : (_tmp2_label15 = g_quark_from_static_string ("in")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 591 "Lang.c"
+ default:
+ {
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_IN;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 598 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label16) ? _tmp2_label16 : (_tmp2_label16 = g_quark_from_static_string ("instanceof")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 604 "Lang.c"
+ default:
+ {
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_INSTANCEOF;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 611 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label17) ? _tmp2_label17 : (_tmp2_label17 = g_quark_from_static_string ("new")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 617 "Lang.c"
+ default:
+ {
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_NEW;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 624 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label18) ? _tmp2_label18 : (_tmp2_label18 = g_quark_from_static_string ("null")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 630 "Lang.c"
+ default:
+ {
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_NULL;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 637 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label19) ? _tmp2_label19 : (_tmp2_label19 = g_quark_from_static_string ("return")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 643 "Lang.c"
+ default:
+ {
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_RETURN;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 650 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label20) ? _tmp2_label20 : (_tmp2_label20 = g_quark_from_static_string ("switch")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 656 "Lang.c"
+ default:
+ {
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_SWITCH;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 663 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label21) ? _tmp2_label21 : (_tmp2_label21 = g_quark_from_static_string ("this")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 669 "Lang.c"
+ default:
+ {
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_THIS;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 676 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label22) ? _tmp2_label22 : (_tmp2_label22 = g_quark_from_static_string ("throw")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 682 "Lang.c"
+ default:
+ {
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_THROW;
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 689 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label23) ? _tmp2_label23 : (_tmp2_label23 = g_quark_from_static_string ("true")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 695 "Lang.c"
+ default:
+ {
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_TRUE;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 702 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label24) ? _tmp2_label24 : (_tmp2_label24 = g_quark_from_static_string ("try")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 708 "Lang.c"
+ default:
+ {
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_TRY;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 715 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label25) ? _tmp2_label25 : (_tmp2_label25 = g_quark_from_static_string ("typeof")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 721 "Lang.c"
+ default:
+ {
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_TYPEOF;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 728 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label26) ? _tmp2_label26 : (_tmp2_label26 = g_quark_from_static_string ("void")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 734 "Lang.c"
+ default:
+ {
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_VOID;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 741 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label27) ? _tmp2_label27 : (_tmp2_label27 = g_quark_from_static_string ("while")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 747 "Lang.c"
+ default:
+ {
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_WHILE;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 754 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label28) ? _tmp2_label28 : (_tmp2_label28 = g_quark_from_static_string ("with")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 760 "Lang.c"
+ default:
+ {
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_WITH;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 767 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label29) ? _tmp2_label29 : (_tmp2_label29 = g_quark_from_static_string ("var")))) {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 773 "Lang.c"
+ default:
+ {
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_VAR;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 780 "Lang.c"
+ }
+ }
+ } else {
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 786 "Lang.c"
+ default:
+ {
+ const gchar* _tmp4_;
+ GError* _tmp5_;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = word;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = g_error_new (JSDOC_LANG_ERROR, JSDOC_LANG_ERROR_ArgumentError, "invalid keyword : %s", _tmp4_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _inner_error_ = _tmp5_;
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_inner_error_->domain == JSDOC_LANG_ERROR) {
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_propagate_error (error, _inner_error_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return 0;
+#line 803 "Lang.c"
+ } else {
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_clear_error (&_inner_error_);
+#line 94 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return 0;
+#line 811 "Lang.c"
+ }
+ }
+ }
+ }
+}
+
+
+static JSDOCTokenName* _jsdoc_token_name_dup (JSDOCTokenName* self) {
+ JSDOCTokenName* dup;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ dup = g_new0 (JSDOCTokenName, 1);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ memcpy (dup, self, sizeof (JSDOCTokenName));
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return dup;
+#line 827 "Lang.c"
+}
+
+
+static gpointer __jsdoc_token_name_dup0 (gpointer self) {
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return self ? _jsdoc_token_name_dup (self) : NULL;
+#line 834 "Lang.c"
+}
+
+
+JSDOCTokenName* jsdoc_langclass_matching (JSDOCLang_Class* self, JSDOCTokenName name, GError** error) {
+ JSDOCTokenName* result = NULL;
+ JSDOCTokenName _tmp0_;
+ GError * _inner_error_ = NULL;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = name;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (_tmp0_) {
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_LEFT_PAREN:
+#line 850 "Lang.c"
+ {
+ JSDOCTokenName _tmp1_;
+ JSDOCTokenName* _tmp2_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = JSDOC_TOKEN_NAME_RIGHT_PAREN;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = __jsdoc_token_name_dup0 (&_tmp1_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp2_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 862 "Lang.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_RIGHT_PAREN:
+#line 866 "Lang.c"
+ {
+ JSDOCTokenName _tmp3_;
+ JSDOCTokenName* _tmp4_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = JSDOC_TOKEN_NAME_LEFT_PAREN;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = __jsdoc_token_name_dup0 (&_tmp3_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp4_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 878 "Lang.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_LEFT_CURLY:
+#line 882 "Lang.c"
+ {
+ JSDOCTokenName _tmp5_;
+ JSDOCTokenName* _tmp6_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = JSDOC_TOKEN_NAME_RIGHT_CURLY;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp6_ = __jsdoc_token_name_dup0 (&_tmp5_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp6_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 894 "Lang.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_RIGHT_CURLY:
+#line 898 "Lang.c"
+ {
+ JSDOCTokenName _tmp7_;
+ JSDOCTokenName* _tmp8_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp7_ = JSDOC_TOKEN_NAME_LEFT_CURLY;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp8_ = __jsdoc_token_name_dup0 (&_tmp7_);
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp8_;
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 910 "Lang.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_LEFT_BRACE:
+#line 914 "Lang.c"
+ {
+ JSDOCTokenName _tmp9_;
+ JSDOCTokenName* _tmp10_;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp9_ = JSDOC_TOKEN_NAME_RIGHT_BRACE;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp10_ = __jsdoc_token_name_dup0 (&_tmp9_);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp10_;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 926 "Lang.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case JSDOC_TOKEN_NAME_RIGHT_BRACE:
+#line 930 "Lang.c"
+ {
+ JSDOCTokenName _tmp11_;
+ JSDOCTokenName* _tmp12_;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp11_ = JSDOC_TOKEN_NAME_LEFT_BRACE;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp12_ = __jsdoc_token_name_dup0 (&_tmp11_);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp12_;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 942 "Lang.c"
+ }
+ default:
+ {
+ JSDOCTokenName _tmp13_;
+ GEnumValue* _tmp14_;
+ GError* _tmp15_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_ = name;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp14_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp13_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp15_ = g_error_new (JSDOC_LANG_ERROR, JSDOC_LANG_ERROR_ArgumentError, "invalid matching character : %s", (_tmp14_ != NULL) ? _tmp14_->value_name : NULL);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _inner_error_ = _tmp15_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_inner_error_->domain == JSDOC_LANG_ERROR) {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_propagate_error (error, _inner_error_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return NULL;
+#line 963 "Lang.c"
+ } else {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_clear_error (&_inner_error_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return NULL;
+#line 971 "Lang.c"
+ }
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = NULL;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 977 "Lang.c"
+ }
+ }
+}
+
+
+gboolean jsdoc_langclass_isKeyword (JSDOCLang_Class* self, const gchar* word) {
+ gboolean result = FALSE;
+ gboolean _tmp3_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (word != NULL, FALSE);
+#line 991 "Lang.c"
+ {
+ JSDOCTokenName x = 0;
+ const gchar* _tmp0_;
+ JSDOCTokenName _tmp1_;
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = word;
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = jsdoc_langclass_keyword (self, _tmp0_, &_inner_error_);
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x = _tmp1_;
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1004 "Lang.c"
+ gboolean _tmp2_ = FALSE;
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_inner_error_->domain == JSDOC_LANG_ERROR) {
+#line 1008 "Lang.c"
+ goto __catch0_jsdoc_lang_error;
+ }
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_clear_error (&_inner_error_);
+#line 121 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return _tmp2_;
+#line 1017 "Lang.c"
+ }
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = TRUE;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1023 "Lang.c"
+ }
+ goto __finally0;
+ __catch0_jsdoc_lang_error:
+ {
+ GError* e = NULL;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ e = _inner_error_;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _inner_error_ = NULL;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = FALSE;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_error_free0 (e);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1039 "Lang.c"
+ }
+ __finally0:
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_clear_error (&_inner_error_);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return _tmp3_;
+#line 1048 "Lang.c"
+}
+
+
+JSDOCTokenName jsdoc_langclass_puncFirstString (JSDOCLang_Class* self, gchar ch) {
+ JSDOCTokenName result = 0;
+ gchar _tmp0_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = ch;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (_tmp0_) {
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case ';':
+#line 1063 "Lang.c"
+ {
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_SEMICOLON;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1069 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case ',':
+#line 1073 "Lang.c"
+ {
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_COMMA;
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1079 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '?':
+#line 1083 "Lang.c"
+ {
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_HOOK;
+#line 147 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1089 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case ':':
+#line 1093 "Lang.c"
+ {
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_COLON;
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1099 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '|':
+#line 1103 "Lang.c"
+ {
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_BITWISE_OR;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1109 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '^':
+#line 1113 "Lang.c"
+ {
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_BITWISE_XOR;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1119 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '&':
+#line 1123 "Lang.c"
+ {
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_BITWISE_AND;
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1129 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '=':
+#line 1133 "Lang.c"
+ {
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_ASSIGN;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1139 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '<':
+#line 1143 "Lang.c"
+ {
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LT;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1149 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '>':
+#line 1153 "Lang.c"
+ {
+#line 154 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_GT;
+#line 154 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1159 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '+':
+#line 1163 "Lang.c"
+ {
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_PLUS;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1169 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '-':
+#line 1173 "Lang.c"
+ {
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_MINUS;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1179 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '*':
+#line 1183 "Lang.c"
+ {
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_MUL;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1189 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '/':
+#line 1193 "Lang.c"
+ {
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DIV;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1199 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '%':
+#line 1203 "Lang.c"
+ {
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_MOD;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1209 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '!':
+#line 1213 "Lang.c"
+ {
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_NOT;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1219 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '~':
+#line 1223 "Lang.c"
+ {
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_BITWISE_NOT;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1229 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '0':
+#line 1233 "Lang.c"
+ {
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DOT;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1239 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '[':
+#line 1243 "Lang.c"
+ {
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LEFT_BRACE;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1249 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case ']':
+#line 1253 "Lang.c"
+ {
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_RIGHT_BRACE;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1259 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '{':
+#line 1263 "Lang.c"
+ {
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LEFT_CURLY;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1269 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '}':
+#line 1273 "Lang.c"
+ {
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_RIGHT_CURLY;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1279 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case '(':
+#line 1283 "Lang.c"
+ {
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LEFT_PAREN;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1289 "Lang.c"
+ }
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ case ')':
+#line 1293 "Lang.c"
+ {
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_RIGHT_PAREN;
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1299 "Lang.c"
+ }
+ default:
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ break;
+#line 1304 "Lang.c"
+ }
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_UNKNOWN;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1310 "Lang.c"
+}
+
+
+JSDOCTokenName jsdoc_langclass_puncString (JSDOCLang_Class* self, const gchar* ch) {
+ JSDOCTokenName result = 0;
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+ GQuark _tmp3_ = 0U;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label0 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label1 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label2 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label3 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label4 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label5 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label6 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label7 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label8 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label9 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label10 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label11 = 0;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ static GQuark _tmp2_label12 = 0;
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (ch != NULL, 0);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = ch;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = _tmp0_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = (NULL == _tmp1_) ? 0 : g_quark_from_string (_tmp1_);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp3_ == ((0 != _tmp2_label0) ? _tmp2_label0 : (_tmp2_label0 = g_quark_from_static_string ("||")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1359 "Lang.c"
+ default:
+ {
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_OR;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1366 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label1) ? _tmp2_label1 : (_tmp2_label1 = g_quark_from_static_string ("&&")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1372 "Lang.c"
+ default:
+ {
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_AND;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1379 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label2) ? _tmp2_label2 : (_tmp2_label2 = g_quark_from_static_string ("==")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1385 "Lang.c"
+ default:
+ {
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_EQ;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1392 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label3) ? _tmp2_label3 : (_tmp2_label3 = g_quark_from_static_string ("!=")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1398 "Lang.c"
+ default:
+ {
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_NE;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1405 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label4) ? _tmp2_label4 : (_tmp2_label4 = g_quark_from_static_string ("<<")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1411 "Lang.c"
+ default:
+ {
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LSH;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1418 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label5) ? _tmp2_label5 : (_tmp2_label5 = g_quark_from_static_string ("<=")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1424 "Lang.c"
+ default:
+ {
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_LE;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1431 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label6) ? _tmp2_label6 : (_tmp2_label6 = g_quark_from_static_string (">>")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1437 "Lang.c"
+ default:
+ {
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_RSH;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1444 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label7) ? _tmp2_label7 : (_tmp2_label7 = g_quark_from_static_string (">=")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1450 "Lang.c"
+ default:
+ {
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_GE;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1457 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label8) ? _tmp2_label8 : (_tmp2_label8 = g_quark_from_static_string ("++")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1463 "Lang.c"
+ default:
+ {
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_INCREMENT;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1470 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label9) ? _tmp2_label9 : (_tmp2_label9 = g_quark_from_static_string ("--")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1476 "Lang.c"
+ default:
+ {
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_DECREMENT;
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1483 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label10) ? _tmp2_label10 : (_tmp2_label10 = g_quark_from_static_string ("===")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1489 "Lang.c"
+ default:
+ {
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_STRICT_EQ;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1496 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label11) ? _tmp2_label11 : (_tmp2_label11 = g_quark_from_static_string ("!==")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1502 "Lang.c"
+ default:
+ {
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_STRICT_NE;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1509 "Lang.c"
+ }
+ }
+ } else if (_tmp3_ == ((0 != _tmp2_label12) ? _tmp2_label12 : (_tmp2_label12 = g_quark_from_static_string (">>>")))) {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1515 "Lang.c"
+ default:
+ {
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_URSH;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1522 "Lang.c"
+ }
+ }
+ } else {
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ switch (0) {
+#line 1528 "Lang.c"
+ default:
+ {
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = JSDOC_TOKEN_NAME_UNKNOWN;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1535 "Lang.c"
+ }
+ }
+ }
+}
+
+
+gboolean jsdoc_langclass_isNumber (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_regex_match_simple ("^(\\.[0-9]|[0-9]+\\.|[0-9])[0-9]*([eE][+-]?[0-9]+)?$", _tmp0_, 0, 0);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp1_;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1558 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isHexDec (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_regex_match_simple ("^0x[0-9A-Fa-f]+$", _tmp0_, 0, 0);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp1_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1578 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isWordString (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_regex_match_simple ("^[a-zA-Z0-9$_.]+$", _tmp0_, 0, 0);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp1_;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1598 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isWordChar (JSDOCLang_Class* self, gchar c) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ gboolean _tmp5_ = FALSE;
+ gchar _tmp6_;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp6_ = c;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp6_ >= 'a') {
+#line 1617 "Lang.c"
+ gchar _tmp7_;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp7_ = c;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = _tmp7_ <= 'z';
+#line 1623 "Lang.c"
+ } else {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = FALSE;
+#line 1627 "Lang.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp5_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = TRUE;
+#line 1633 "Lang.c"
+ } else {
+ gboolean _tmp8_ = FALSE;
+ gchar _tmp9_;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp9_ = c;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp9_ >= 'A') {
+#line 1641 "Lang.c"
+ gchar _tmp10_;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp10_ = c;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp8_ = _tmp10_ <= 'Z';
+#line 1647 "Lang.c"
+ } else {
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp8_ = FALSE;
+#line 1651 "Lang.c"
+ }
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = _tmp8_;
+#line 1655 "Lang.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp4_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = TRUE;
+#line 1661 "Lang.c"
+ } else {
+ gboolean _tmp11_ = FALSE;
+ gchar _tmp12_;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp12_ = c;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp12_ >= '0') {
+#line 1669 "Lang.c"
+ gchar _tmp13_;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_ = c;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp11_ = _tmp13_ <= '9';
+#line 1675 "Lang.c"
+ } else {
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp11_ = FALSE;
+#line 1679 "Lang.c"
+ }
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = _tmp11_;
+#line 1683 "Lang.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp3_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = TRUE;
+#line 1689 "Lang.c"
+ } else {
+ gchar _tmp14_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp14_ = c;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = _tmp14_ == '$';
+#line 1696 "Lang.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp2_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = TRUE;
+#line 1702 "Lang.c"
+ } else {
+ gchar _tmp15_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp15_ = c;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = _tmp15_ == '.';
+#line 1709 "Lang.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (_tmp1_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = TRUE;
+#line 1715 "Lang.c"
+ } else {
+ gchar _tmp16_;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp16_ = c;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = _tmp16_ == '_';
+#line 1722 "Lang.c"
+ }
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp0_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1728 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isSpace (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gpointer _tmp2_;
+ gchar* _tmp3_;
+ gboolean _tmp4_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = self->priv->whitespaceNames;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = str;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = (gchar*) _tmp2_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = _tmp3_ != NULL;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (_tmp3_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp4_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1759 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isSpaceC (JSDOCLang_Class* self, gchar str) {
+ gboolean result = FALSE;
+ gchar* s = NULL;
+ gchar _tmp0_;
+ gchar* _tmp1_;
+ GeeHashMap* _tmp2_;
+ gpointer _tmp3_;
+ gchar* _tmp4_;
+ gboolean _tmp5_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_strdup_printf ("%c", _tmp0_);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ s = _tmp1_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = self->priv->whitespaceNames;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp2_, s);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = (gchar*) _tmp3_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = _tmp4_ != NULL;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (_tmp4_);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp5_;
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (s);
+#line 231 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1796 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isNewline (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gpointer _tmp2_;
+ gchar* _tmp3_;
+ gboolean _tmp4_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = self->priv->newlineNames;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = str;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = (gchar*) _tmp2_;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = _tmp3_ != NULL;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (_tmp3_);
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp4_;
+#line 235 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1827 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isNewlineC (JSDOCLang_Class* self, gchar str) {
+ gboolean result = FALSE;
+ gchar* s = NULL;
+ gchar _tmp0_;
+ gchar* _tmp1_;
+ GeeHashMap* _tmp2_;
+ gpointer _tmp3_;
+ gchar* _tmp4_;
+ gboolean _tmp5_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_strdup_printf ("%c", _tmp0_);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ s = _tmp1_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = self->priv->newlineNames;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp2_, s);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = (gchar*) _tmp3_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = _tmp4_ != NULL;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (_tmp4_);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp5_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (s);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1864 "Lang.c"
+}
+
+
+gboolean jsdoc_langclass_isBoolean (JSDOCLang_Class* self, const gchar* str) {
+ gboolean result = FALSE;
+ gchar* ss = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ gboolean _tmp2_ = FALSE;
+ const gchar* _tmp3_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_val_if_fail (str != NULL, FALSE);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = str;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = g_utf8_strdown (_tmp0_, (gssize) -1);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ss = _tmp1_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = ss;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (g_strcmp0 (_tmp3_, "false") == 0) {
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = TRUE;
+#line 1891 "Lang.c"
+ } else {
+ const gchar* _tmp4_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = ss;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = g_strcmp0 (_tmp4_, "true") == 0;
+#line 1898 "Lang.c"
+ }
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ result = _tmp2_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_free0 (ss);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ return result;
+#line 1906 "Lang.c"
+}
+
+
+static void jsdoc_langclass_init (JSDOCLang_Class* self) {
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ gchar** co = NULL;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar** _tmp13_;
+ gint co_length1;
+ gint _co_size_;
+ gchar** ws = NULL;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ gchar** _tmp25_;
+ gint ws_length1;
+ gint _ws_size_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar** _tmp42_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_return_if_fail (self != NULL);
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ __g_list_free__g_free0_0 (self->priv->coreObjects);
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self->priv->coreObjects = NULL;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_object_unref0 (self->priv->whitespaceNames);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self->priv->whitespaceNames = _tmp0_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_object_unref0 (self->priv->newlineNames);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self->priv->newlineNames = _tmp1_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp2_ = g_strdup ("_global_");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp3_ = g_strdup ("Array");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp4_ = g_strdup ("Boolean");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp5_ = g_strdup ("Date");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp6_ = g_strdup ("Error");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp7_ = g_strdup ("Function");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp8_ = g_strdup ("Math");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp9_ = g_strdup ("Number");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp10_ = g_strdup ("Object");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp11_ = g_strdup ("RegExp");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp12_ = g_strdup ("String");
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_ = g_new0 (gchar*, 11 + 1);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[0] = _tmp2_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[1] = _tmp3_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[2] = _tmp4_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[3] = _tmp5_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[4] = _tmp6_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[5] = _tmp7_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[6] = _tmp8_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[7] = _tmp9_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[8] = _tmp10_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[9] = _tmp11_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp13_[10] = _tmp12_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ co = _tmp13_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ co_length1 = 11;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _co_size_ = co_length1;
+#line 2008 "Lang.c"
+ {
+ gint i = 0;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = 0;
+#line 2013 "Lang.c"
+ {
+ gboolean _tmp14_ = FALSE;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp14_ = TRUE;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ while (TRUE) {
+#line 2020 "Lang.c"
+ gint _tmp16_;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ gint _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!_tmp14_) {
+#line 2031 "Lang.c"
+ gint _tmp15_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp15_ = i;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = _tmp15_ + 1;
+#line 2037 "Lang.c"
+ }
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp14_ = FALSE;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp16_ = i;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp17_ = co;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp17__length1 = co_length1;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!(_tmp16_ < _tmp17__length1)) {
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ break;
+#line 2051 "Lang.c"
+ }
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp18_ = co;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp18__length1 = co_length1;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp19_ = i;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp20_ = _tmp18_[_tmp19_];
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp21_ = g_strdup (_tmp20_);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self->priv->coreObjects = g_list_append (self->priv->coreObjects, _tmp21_);
+#line 2065 "Lang.c"
+ }
+ }
+ }
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp22_ = g_strdup (" :SPACE");
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp23_ = g_strdup ("\f:FORMFEED");
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp24_ = g_strdup ("\t:TAB");
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp25_ = g_new0 (gchar*, 3 + 1);
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp25_[0] = _tmp22_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp25_[1] = _tmp23_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp25_[2] = _tmp24_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws = _tmp25_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws_length1 = 3;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _ws_size_ = ws_length1;
+#line 2089 "Lang.c"
+ {
+ gint i = 0;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = 0;
+#line 2094 "Lang.c"
+ {
+ gboolean _tmp26_ = FALSE;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp26_ = TRUE;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ while (TRUE) {
+#line 2101 "Lang.c"
+ gint _tmp28_;
+ gchar** _tmp29_;
+ gint _tmp29__length1;
+ gchar** x = NULL;
+ gchar** _tmp30_;
+ gint _tmp30__length1;
+ gint _tmp31_;
+ const gchar* _tmp32_;
+ gchar** _tmp33_;
+ gchar** _tmp34_;
+ gint x_length1;
+ gint _x_size_;
+ GeeHashMap* _tmp35_;
+ gchar** _tmp36_;
+ gint _tmp36__length1;
+ const gchar* _tmp37_;
+ gchar** _tmp38_;
+ gint _tmp38__length1;
+ const gchar* _tmp39_;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!_tmp26_) {
+#line 2123 "Lang.c"
+ gint _tmp27_;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp27_ = i;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = _tmp27_ + 1;
+#line 2129 "Lang.c"
+ }
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp26_ = FALSE;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp28_ = i;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp29_ = ws;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp29__length1 = ws_length1;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!(_tmp28_ < _tmp29__length1)) {
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ break;
+#line 2143 "Lang.c"
+ }
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp30_ = ws;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp30__length1 = ws_length1;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp31_ = i;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp32_ = _tmp30_[_tmp31_];
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp34_ = _tmp33_ = g_strsplit (_tmp32_, ":", 0);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x = _tmp34_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x_length1 = _vala_array_length (_tmp33_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _x_size_ = x_length1;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp35_ = self->priv->whitespaceNames;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp36_ = x;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp36__length1 = x_length1;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp37_ = _tmp36_[0];
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp38_ = x;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp38__length1 = x_length1;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp39_ = _tmp38_[1];
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp35_, _tmp37_, _tmp39_);
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x = (_vala_array_free (x, x_length1, (GDestroyNotify) g_free), NULL);
+#line 2179 "Lang.c"
+ }
+ }
+ }
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp40_ = g_strdup ("\n:NEWLINE");
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp41_ = g_strdup ("\r:RETURN");
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp42_ = g_new0 (gchar*, 2 + 1);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp42_[0] = _tmp40_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp42_[1] = _tmp41_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws = (_vala_array_free (ws, ws_length1, (GDestroyNotify) g_free), NULL);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws = _tmp42_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws_length1 = 2;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _ws_size_ = ws_length1;
+#line 2201 "Lang.c"
+ {
+ gint i = 0;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = 0;
+#line 2206 "Lang.c"
+ {
+ gboolean _tmp43_ = FALSE;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp43_ = TRUE;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ while (TRUE) {
+#line 2213 "Lang.c"
+ gint _tmp45_;
+ gchar** _tmp46_;
+ gint _tmp46__length1;
+ gchar** x = NULL;
+ gchar** _tmp47_;
+ gint _tmp47__length1;
+ gint _tmp48_;
+ const gchar* _tmp49_;
+ gchar** _tmp50_;
+ gchar** _tmp51_;
+ gint x_length1;
+ gint _x_size_;
+ GeeHashMap* _tmp52_;
+ gchar** _tmp53_;
+ gint _tmp53__length1;
+ const gchar* _tmp54_;
+ gchar** _tmp55_;
+ gint _tmp55__length1;
+ const gchar* _tmp56_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!_tmp43_) {
+#line 2235 "Lang.c"
+ gint _tmp44_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp44_ = i;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ i = _tmp44_ + 1;
+#line 2241 "Lang.c"
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp43_ = FALSE;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp45_ = i;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp46_ = ws;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp46__length1 = ws_length1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ if (!(_tmp45_ < _tmp46__length1)) {
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ break;
+#line 2255 "Lang.c"
+ }
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp47_ = ws;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp47__length1 = ws_length1;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp48_ = i;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp49_ = _tmp47_[_tmp48_];
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp51_ = _tmp50_ = g_strsplit (_tmp49_, ":", 0);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x = _tmp51_;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x_length1 = _vala_array_length (_tmp50_);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _x_size_ = x_length1;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp52_ = self->priv->newlineNames;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp53_ = x;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp53__length1 = x_length1;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp54_ = _tmp53_[0];
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp55_ = x;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp55__length1 = x_length1;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _tmp56_ = _tmp55_[1];
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp52_, _tmp54_, _tmp56_);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ x = (_vala_array_free (x, x_length1, (GDestroyNotify) g_free), NULL);
+#line 2291 "Lang.c"
+ }
+ }
+ }
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ ws = (_vala_array_free (ws, ws_length1, (GDestroyNotify) g_free), NULL);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ co = (_vala_array_free (co, co_length1, (GDestroyNotify) g_free), NULL);
+#line 2299 "Lang.c"
+}
+
+
+static void jsdoc_langclass_class_init (JSDOCLang_ClassClass * klass) {
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ jsdoc_langclass_parent_class = g_type_class_peek_parent (klass);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCLang_ClassPrivate));
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_langclass_finalize;
+#line 2310 "Lang.c"
+}
+
+
+static void jsdoc_langclass_instance_init (JSDOCLang_Class * self) {
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self->priv = JSDOC_LANGCLASS_GET_PRIVATE (self);
+#line 2317 "Lang.c"
+}
+
+
+static void jsdoc_langclass_finalize (GObject * obj) {
+ JSDOCLang_Class * self;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_LANGCLASS, JSDOCLang_Class);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ __g_list_free__g_free0_0 (self->priv->coreObjects);
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_object_unref0 (self->priv->whitespaceNames);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ _g_object_unref0 (self->priv->newlineNames);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Lang.vala"
+ G_OBJECT_CLASS (jsdoc_langclass_parent_class)->finalize (obj);
+#line 2333 "Lang.c"
+}
+
+
+GType jsdoc_langclass_get_type (void) {
+ static volatile gsize jsdoc_langclass_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_langclass_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCLang_ClassClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_langclass_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCLang_Class), 0, (GInstanceInitFunc) jsdoc_langclass_instance_init, NULL };
+ GType jsdoc_langclass_type_id;
+ jsdoc_langclass_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCLang_Class", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_langclass_type_id__volatile, jsdoc_langclass_type_id);
+ }
+ return jsdoc_langclass_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+//<script type="text/javscript">
+
+/**
+ @namespace
+*/
+// test
+// valac gitlive/app.Builder.js/JsRender/Lang.vala --pkg gee-1.0 -o /tmp/Lang ;/tmp/Lang
+
+/*
+void main () {
+ new JsRender.Lang_Class();
+ print(JsRender.Lang.keyword("delete") + "\n");
+}
+*/
+
+
+namespace JSDOC {
+
+ public errordomain LangError {
+ ArgumentError
+ }
+
+ public Lang_Class Lang = null;
+
+ public class Lang_Class : Object {
+
+ GLib.List<string> coreObjects;
+ Gee.HashMap<string,string> whitespaceNames;
+ Gee.HashMap<string,string> newlineNames;
+
+
+
+ public Lang_Class ()
+ {
+ if (Lang != null) {
+ //print("lang not null\n");
+ return;
+ }
+ //print("init\n");
+ this.init();
+ //print("init Lang");
+ Lang = this;
+ Lang.ref();
+
+ }
+
+
+ public bool isBuiltin(string name) {
+ return (this.coreObjects.index(name) > -1);
+ }
+
+ public string whitespace (string ch) {
+ return this.whitespaceNames.get(ch);
+ }
+ public string newline (string ch) {
+ return this.newlineNames.get(ch);
+ }
+ public TokenName keyword(string word) throws LangError {
+
+ switch(word) {
+ case "break": return TokenName.BREAK;
+ case "case": return TokenName.CASE;
+ case "catch": return TokenName.CATCH;
+ case "const": return TokenName.VAR;
+ case "continue": return TokenName.CONTINUE;
+ case "default": return TokenName.DEFAULT;
+ case "delete": return TokenName.DELETE;
+ case "do": return TokenName.DO;
+ case "else": return TokenName.ELSE;
+ case "eval": return TokenName.EVAL;
+ case "false": return TokenName.FALSE;
+ case "finally": return TokenName.FINALLY;
+ case "for": return TokenName.FOR;
+ case "function": return TokenName.FUNCTION;
+ case "if": return TokenName.IF;
+ case "in": return TokenName.IN;
+ case "instanceof": return TokenName.INSTANCEOF;
+ case "new": return TokenName.NEW;
+ case "null": return TokenName.NULL;
+ case "return": return TokenName.RETURN;
+ case "switch": return TokenName.SWITCH;
+ case "this": return TokenName.THIS;
+ case "throw": return TokenName.THROW;
+ case "true": return TokenName.TRUE;
+ case "try": return TokenName.TRY;
+ case "typeof": return TokenName.TYPEOF;
+ case "void": return TokenName.VOID;
+ case "while": return TokenName.WHILE;
+ case "with": return TokenName.WITH;
+ case "var": return TokenName.VAR;
+
+
+ default:
+ throw new LangError.ArgumentError("invalid keyword : %s", word);
+ }
+
+ }
+
+ public TokenName? matching(TokenName name) throws LangError
+ {
+
+
+ switch(name) {
+ case TokenName.LEFT_PAREN: return TokenName.RIGHT_PAREN;
+ case TokenName.RIGHT_PAREN: return TokenName.LEFT_PAREN;
+ case TokenName.LEFT_CURLY: return TokenName.RIGHT_CURLY;
+ case TokenName.RIGHT_CURLY: return TokenName.LEFT_CURLY;
+ case TokenName.LEFT_BRACE: return TokenName.RIGHT_BRACE;
+ case TokenName.RIGHT_BRACE: return TokenName.LEFT_BRACE;
+ default:
+ throw new LangError.ArgumentError("invalid matching character : %s", name.to_string());
+
+ return null;
+ };
+
+ //return this.matchingNames.get(name);
+ }
+
+ public bool isKeyword(string word) {
+ try {
+ var x = this.keyword(word);
+ return true;
+ } catch (LangError e) {
+ return false;
+ }
+ }
+ /*
+ public TokenName punc (string ch) throws LangError
+ {
+ var x = this.puncNull(ch);
+ if (x == null) {
+ throw new LangError.ArgumentError("invalid punctuation character : %s",ch);
+ }
+ return x;
+
+ }
+ public bool isPunc(string ch) {
+ return this.puncNull(ch) != null;
+ }
+ */
+ public TokenName puncFirstString (char ch)
+ {
+
+ switch(ch) {
+ case ';': return TokenName.SEMICOLON;
+ case ',': return TokenName.COMMA;
+ case '?': return TokenName.HOOK;
+ case ':': return TokenName.COLON;
+ case '|': return TokenName.BITWISE_OR;
+ case '^': return TokenName.BITWISE_XOR;
+ case '&': return TokenName.BITWISE_AND;
+ case '=': return TokenName.ASSIGN;
+ case '<': return TokenName.LT;
+ case '>': return TokenName.GT;
+ case '+': return TokenName.PLUS;
+ case '-': return TokenName.MINUS;
+ case '*': return TokenName.MUL;
+ case '/': return TokenName.DIV;
+ case '%': return TokenName.MOD;
+ case '!': return TokenName.NOT;
+ case '~': return TokenName.BITWISE_NOT;
+ case '0': return TokenName.DOT;
+ case '[': return TokenName.LEFT_BRACE;
+ case ']': return TokenName.RIGHT_BRACE;
+ case '{': return TokenName.LEFT_CURLY;
+ case '}': return TokenName.RIGHT_CURLY;
+ case '(': return TokenName.LEFT_PAREN;
+ case ')': return TokenName.RIGHT_PAREN;
+ }
+ return TokenName.UNKNOWN;
+ }
+ public TokenName puncString (string ch)
+ {
+
+ switch(ch) {
+
+ case "||": return TokenName.OR;
+ case "&&": return TokenName.AND;
+ case "==": return TokenName.EQ;
+ case "!=": return TokenName.NE;
+ case "<<": return TokenName.LSH;
+ case "<=": return TokenName.LE;
+ case ">>": return TokenName.RSH;
+ case ">=": return TokenName.GE;
+ case "++": return TokenName.INCREMENT;
+ case "--": return TokenName.DECREMENT;
+
+
+ case "===": return TokenName.STRICT_EQ;
+ case "!==": return TokenName.STRICT_NE;
+ case ">>>": return TokenName.URSH;
+
+
+ default:
+ return TokenName.UNKNOWN;
+
+
+ }
+
+ }
+
+
+
+ public bool isNumber (string str) {
+ return Regex.match_simple("^(\\.[0-9]|[0-9]+\\.|[0-9])[0-9]*([eE][+-]?[0-9]+)?$",str);
+ }
+
+ public bool isHexDec (string str) {
+ return Regex.match_simple("^0x[0-9A-Fa-f]+$",str);
+ }
+
+ public bool isWordString (string str) {
+ return Regex.match_simple("^[a-zA-Z0-9$_.]+$", str);
+ }
+ public bool isWordChar (char c) {
+ return
+ (c >= 'a' && c <= 'z')
+ ||
+ (c >= 'A' && c <= 'Z')
+ ||
+ (c >= '0' && c <= '9')
+ ||
+ c == '$' || c == '.' || c == '_' ;
+ }
+
+ public bool isSpace (string str) {
+ return this.whitespaceNames.get(str) != null;
+ }
+ public bool isSpaceC (char str) {
+ var s = str.to_string();
+ return this.whitespaceNames.get(s) != null;
+ }
+
+ public bool isNewline (string str) {
+ return this.newlineNames.get(str) != null;
+ }
+ public bool isNewlineC (char str) {
+ var s =str.to_string();
+ return this.newlineNames.get(s) != null;
+ }
+ public bool isBoolean (string str) {
+ var ss = str.down();
+ return ss == "false" || ss == "true";
+ }
+
+
+
+ void init() {
+
+ this.coreObjects = new GLib.List<string>();
+
+ this.whitespaceNames = new Gee.HashMap<string,string>();
+ this.newlineNames = new Gee.HashMap<string,string>();
+
+
+
+
+
+
+ string[] co = { "_global_", "Array", "Boolean", "Date", "Error",
+ "Function", "Math", "Number", "Object", "RegExp", "String" };
+ for(var i =0; i< co.length;i++ ) {
+ this.coreObjects.append(co[i]);
+ //this.match_strings.add(co[i]);
+ }
+ string[] ws = {
+ " :SPACE",
+ "\f:FORMFEED",
+ "\t:TAB" //,
+ // "\u0009:UNICODE_TAB",
+ // "\u000A:UNICODE_NBR",
+ // "\u0008:VERTICAL_TAB"
+ };
+ for(var i =0; i< ws.length;i++ ) {
+ var x = ws[i].split(":");
+ this.whitespaceNames.set(x[0],x[1]);
+ }
+
+ ws = {
+ "\n:NEWLINE",
+ "\r:RETURN" //,
+ // "\u000A:UNICODE_LF",
+ // "\u000D:UNICODE_CR",
+ // "\u2029:UNICODE_PS",
+ // "\u2028:UNICODE_LS"
+ };
+ for(var i =0; i< ws.length;i++ ) {
+ var x = ws[i].split(":");
+ this.newlineNames.set(x[0],x[1]);
+ }
+
+
+ // << was keywords here...
+ //this.match_strings.add(x[0].substring(1));
+
+
+
+
+
+
+
+
+
+ }
+
+
+ }
+}
\ No newline at end of file
--- /dev/null
+/* Packer.c generated by valac 0.36.6, the Vala compiler
+ * generated from Packer.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gio/gio.h>
+#include <json-glib/json-glib.h>
+#include <glib/gstdio.h>
+
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+typedef struct _JSDOCPackerPrivate JSDOCPackerPrivate;
+
+#define JSDOC_TYPE_PACKER_RUN (jsdoc_packer_run_get_type ())
+#define JSDOC_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun))
+#define JSDOC_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+#define JSDOC_IS_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_IS_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_PACKER_RUN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+
+typedef struct _JSDOCPackerRun JSDOCPackerRun;
+typedef struct _JSDOCPackerRunClass JSDOCPackerRunClass;
+
+#define JSDOC_PACKER_TYPE_RESULT_TYPE (jsdoc_packer_result_type_get_type ())
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_LANGCLASS (jsdoc_langclass_get_type ())
+#define JSDOC_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_Class))
+#define JSDOC_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+#define JSDOC_IS_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_IS_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_LANGCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+
+typedef struct _JSDOCLang_Class JSDOCLang_Class;
+typedef struct _JSDOCLang_ClassClass JSDOCLang_ClassClass;
+#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
+typedef struct _Block1Data Block1Data;
+typedef struct _Block2Data Block2Data;
+typedef struct _Block3Data Block3Data;
+typedef struct _JSDOCPackerRunPrivate JSDOCPackerRunPrivate;
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_READER (jsdoc_token_reader_get_type ())
+#define JSDOC_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader))
+#define JSDOC_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+#define JSDOC_IS_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_IS_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_TOKEN_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+
+typedef struct _JSDOCTokenReader JSDOCTokenReader;
+typedef struct _JSDOCTokenReaderClass JSDOCTokenReaderClass;
+typedef struct _JSDOCTokenReaderPrivate JSDOCTokenReaderPrivate;
+
+#define JSDOC_TYPE_TOKEN_ARRAY (jsdoc_token_array_get_type ())
+#define JSDOC_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray))
+#define JSDOC_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+#define JSDOC_IS_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_IS_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_TOKEN_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+
+typedef struct _JSDOCTokenArray JSDOCTokenArray;
+typedef struct _JSDOCTokenArrayClass JSDOCTokenArrayClass;
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+
+#define JSDOC_TYPE_COLLAPSE (jsdoc_collapse_get_type ())
+#define JSDOC_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapse))
+#define JSDOC_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+#define JSDOC_IS_COLLAPSE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_IS_COLLAPSE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_COLLAPSE))
+#define JSDOC_COLLAPSE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_COLLAPSE, JSDOCCollapseClass))
+
+typedef struct _JSDOCCollapse JSDOCCollapse;
+typedef struct _JSDOCCollapseClass JSDOCCollapseClass;
+typedef struct _JSDOCTokenArrayPrivate JSDOCTokenArrayPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+
+#define JSDOC_TYPE_SCOPE_PARSER (jsdoc_scope_parser_get_type ())
+#define JSDOC_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParser))
+#define JSDOC_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+#define JSDOC_IS_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_IS_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_SCOPE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+
+typedef struct _JSDOCScopeParser JSDOCScopeParser;
+typedef struct _JSDOCScopeParserClass JSDOCScopeParserClass;
+
+typedef enum {
+ JSDOC_PACKER_ERROR_ArgumentError
+} JSDOCPackerError;
+#define JSDOC_PACKER_ERROR jsdoc_packer_error_quark ()
+struct _JSDOCPacker {
+ GObject parent_instance;
+ JSDOCPackerPrivate * priv;
+ GeeArrayList* files;
+ gchar* activeFile;
+ gchar* outstr;
+ JSDOCPackerRun* config;
+ JsonObject* result;
+};
+
+struct _JSDOCPackerClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCPackerPrivate {
+ gchar* target;
+ GFileOutputStream* targetStream;
+ gchar* targetDebug;
+ GFileOutputStream* targetDebugStream;
+};
+
+typedef enum {
+ JSDOC_PACKER_RESULT_TYPE_err,
+ JSDOC_PACKER_RESULT_TYPE_warn
+} JSDOCPackerResultType;
+
+struct _Block1Data {
+ int _ref_count_;
+ JSDOCPacker* self;
+ JSDOCPackerResultType type;
+};
+
+struct _Block2Data {
+ int _ref_count_;
+ Block1Data * _data1_;
+ gchar* filename;
+};
+
+struct _Block3Data {
+ int _ref_count_;
+ Block2Data * _data2_;
+ gchar* linestr;
+};
+
+struct _JSDOCPackerRun {
+ GApplication parent_instance;
+ JSDOCPackerRunPrivate * priv;
+ gchar* opt_target;
+ gchar* opt_debug_target;
+ gchar* opt_real_basedir;
+ gchar* opt_doc_target;
+ gchar* opt_doc_template_dir;
+ gboolean opt_doc_include_private;
+ gboolean opt_debug;
+ gboolean opt_skip_scope;
+ gboolean opt_keep_whitespace;
+ gboolean opt_dump_tokens;
+ gboolean opt_clean_cache;
+ gchar* opt_doc_ext;
+};
+
+struct _JSDOCPackerRunClass {
+ GApplicationClass parent_class;
+};
+
+struct _JSDOCTokenReader {
+ GObject parent_instance;
+ JSDOCTokenReaderPrivate * priv;
+ gboolean collapseWhite;
+ gboolean keepDocs;
+ gboolean keepWhite;
+ gboolean keepComments;
+ gboolean sepIdents;
+ gchar* filename;
+ gboolean ignoreBadGrammer;
+};
+
+struct _JSDOCTokenReaderClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenArray {
+ GObject parent_instance;
+ JSDOCTokenArrayPrivate * priv;
+ GeeArrayList* tokens;
+};
+
+struct _JSDOCTokenArrayClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_packer_parent_class = NULL;
+
+GQuark jsdoc_packer_error_quark (void);
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_run_get_type (void) G_GNUC_CONST;
+#define JSDOC_PACKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_PACKER, JSDOCPackerPrivate))
+enum {
+ JSDOC_PACKER_DUMMY_PROPERTY
+};
+GType jsdoc_packer_result_type_get_type (void) G_GNUC_CONST;
+gchar* jsdoc_packer_result_type_to_string (JSDOCPackerResultType self);
+JSDOCPacker* jsdoc_packer_new (JSDOCPackerRun* config);
+JSDOCPacker* jsdoc_packer_construct (GType object_type, JSDOCPackerRun* config);
+JSDOCLang_Class* jsdoc_langclass_new (void);
+JSDOCLang_Class* jsdoc_langclass_construct (GType object_type);
+GType jsdoc_langclass_get_type (void) G_GNUC_CONST;
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message);
+gboolean jsdoc_packer_hasErrors (JSDOCPacker* self, const gchar* fn);
+void jsdoc_packer_dumpErrors (JSDOCPacker* self, JSDOCPackerResultType type);
+static Block1Data* block1_data_ref (Block1Data* _data1_);
+static void block1_data_unref (void * _userdata_);
+static void __lambda5_ (Block1Data* _data1_, JsonObject* obj, const gchar* filename, JsonNode* node);
+static Block2Data* block2_data_ref (Block2Data* _data2_);
+static void block2_data_unref (void * _userdata_);
+static void __lambda6_ (Block2Data* _data2_, JsonObject* linelistobj, const gchar* linestr, JsonNode* nodear);
+static Block3Data* block3_data_ref (Block3Data* _data3_);
+static void block3_data_unref (void * _userdata_);
+static void __lambda7_ (Block3Data* _data3_, JsonArray* errorar, guint ignore, JsonNode* nodestr);
+static void ___lambda7__json_array_foreach (JsonArray* array, guint index_, JsonNode* element_node, gpointer self);
+static void ___lambda6__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self);
+static void ___lambda5__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self);
+void jsdoc_packer_loadSourceIndexes (JSDOCPacker* self, GeeArrayList* indexes);
+void jsdoc_packer_loadSourceIndex (JSDOCPacker* self, const gchar* in_srcfile);
+void jsdoc_packer_loadFiles (JSDOCPacker* self, gchar** fs, int fs_length1);
+void jsdoc_packer_loadFile (JSDOCPacker* self, const gchar* f);
+gchar* jsdoc_packer_pack (JSDOCPacker* self, const gchar* target, const gchar* targetDebug, GError** error);
+static gchar* jsdoc_packer_packAll (JSDOCPacker* self);
+gchar* jsdoc_packer_packFile (JSDOCPacker* self, const gchar* str, const gchar* fn, const gchar* minfile);
+GType jsdoc_token_reader_get_type (void) G_GNUC_CONST;
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer);
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer);
+GType jsdoc_token_array_get_type (void) G_GNUC_CONST;
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream);
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text);
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text);
+void jsdoc_token_array_dump (JSDOCTokenArray* self);
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_collapse_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+JSDOCCollapse* jsdoc_collapse_new (GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+JSDOCCollapse* jsdoc_collapse_construct (GType object_type, GeeArrayList* tokens, JSDOCPacker* pk, const gchar* filename);
+GType jsdoc_scope_parser_get_type (void) G_GNUC_CONST;
+JSDOCScopeParser* jsdoc_scope_parser_new (JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+JSDOCScopeParser* jsdoc_scope_parser_construct (GType object_type, JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+void jsdoc_scope_parser_buildSymbolTree (JSDOCScopeParser* self);
+void jsdoc_scope_parser_mungeSymboltree (JSDOCScopeParser* self);
+void jsdoc_scope_parser_printWarnings (JSDOCScopeParser* self);
+gchar* jsdoc_CompressWhite (JSDOCTokenStream* ts, JSDOCPacker* packer, gboolean keepWhite);
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+gchar* jsdoc_packer_md5 (JSDOCPacker* self, const gchar* str);
+static void jsdoc_packer_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+
+GQuark jsdoc_packer_error_quark (void) {
+ return g_quark_from_static_string ("jsdoc_packer_error-quark");
+}
+
+
+gchar* jsdoc_packer_result_type_to_string (JSDOCPackerResultType self) {
+ gchar* result = NULL;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ switch (self) {
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ case JSDOC_PACKER_RESULT_TYPE_err:
+#line 306 "Packer.c"
+ {
+ gchar* _tmp0_;
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = g_strdup ("ERR");
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp0_;
+#line 131 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 315 "Packer.c"
+ }
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ case JSDOC_PACKER_RESULT_TYPE_warn:
+#line 319 "Packer.c"
+ {
+ gchar* _tmp1_;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup ("WARN");
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp1_;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 328 "Packer.c"
+ }
+ default:
+ {
+#line 133 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_assert_not_reached ();
+#line 334 "Packer.c"
+ }
+ }
+}
+
+
+GType jsdoc_packer_result_type_get_type (void) {
+ static volatile gsize jsdoc_packer_result_type_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_packer_result_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_PACKER_RESULT_TYPE_err, "JSDOC_PACKER_RESULT_TYPE_err", "err"}, {JSDOC_PACKER_RESULT_TYPE_warn, "JSDOC_PACKER_RESULT_TYPE_warn", "warn"}, {0, NULL, NULL}};
+ GType jsdoc_packer_result_type_type_id;
+ jsdoc_packer_result_type_type_id = g_enum_register_static ("JSDOCPackerResultType", values);
+ g_once_init_leave (&jsdoc_packer_result_type_type_id__volatile, jsdoc_packer_result_type_type_id);
+ }
+ return jsdoc_packer_result_type_type_id__volatile;
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 355 "Packer.c"
+}
+
+
+JSDOCPacker* jsdoc_packer_construct (GType object_type, JSDOCPackerRun* config) {
+ JSDOCPacker * self = NULL;
+ JSDOCPackerRun* _tmp0_;
+ JSDOCPackerRun* _tmp1_;
+ JsonObject* _tmp2_;
+ GeeArrayList* _tmp3_;
+ JSDOCLang_Class* _tmp4_;
+ JSDOCLang_Class* _tmp5_;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (config != NULL, NULL);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = (JSDOCPacker*) g_object_new (object_type, NULL);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = config;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->config);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->config = _tmp1_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = json_object_new ();
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (self->result);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->result = _tmp2_;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->files);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->files = _tmp3_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = jsdoc_langclass_new ();
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _tmp4_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp5_);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return self;
+#line 399 "Packer.c"
+}
+
+
+JSDOCPacker* jsdoc_packer_new (JSDOCPackerRun* config) {
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return jsdoc_packer_construct (JSDOC_TYPE_PACKER, config);
+#line 406 "Packer.c"
+}
+
+
+static gpointer _json_object_ref0 (gpointer self) {
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return self ? json_object_ref (self) : NULL;
+#line 413 "Packer.c"
+}
+
+
+static gpointer _json_array_ref0 (gpointer self) {
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return self ? json_array_ref (self) : NULL;
+#line 420 "Packer.c"
+}
+
+
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message) {
+ JsonObject* _tmp0_;
+ JSDOCPackerResultType _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gboolean _tmp6_;
+ gboolean _tmp7_;
+ JsonObject* _tmp27_;
+ JSDOCPackerResultType _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gboolean _tmp31_;
+ gboolean _tmp32_;
+ JsonObject* t = NULL;
+ JsonObject* _tmp38_;
+ JSDOCPackerResultType _tmp39_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ JsonObject* _tmp42_;
+ JsonObject* _tmp43_;
+ JsonObject* _tmp44_;
+ JsonObject* _tmp45_;
+ const gchar* _tmp46_;
+ gboolean _tmp47_;
+ JsonObject* tt = NULL;
+ JsonObject* _tmp51_;
+ const gchar* _tmp52_;
+ JsonObject* _tmp53_;
+ JsonObject* _tmp54_;
+ JsonObject* _tmp55_;
+ gint _tmp56_;
+ gchar* _tmp57_;
+ gchar* _tmp58_;
+ gboolean _tmp59_;
+ gboolean _tmp60_;
+ JsonArray* tl = NULL;
+ JsonObject* _tmp66_;
+ gint _tmp67_;
+ gchar* _tmp68_;
+ gchar* _tmp69_;
+ JsonArray* _tmp70_;
+ JsonArray* _tmp71_;
+ JsonArray* _tmp72_;
+ const gchar* _tmp73_;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (filename != NULL);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (message != NULL);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = self->result;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = type;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = jsdoc_packer_result_type_to_string (_tmp1_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = _tmp2_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = g_strconcat (_tmp3_, "-TOTAL", NULL);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _tmp4_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = json_object_has_member (_tmp0_, _tmp5_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = !_tmp6_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp5_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp3_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp7_) {
+#line 498 "Packer.c"
+ JsonObject* _tmp8_;
+ JSDOCPackerResultType _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = self->result;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = type;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = jsdoc_packer_result_type_to_string (_tmp9_);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = _tmp10_;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = g_strconcat (_tmp11_, "-TOTAL", NULL);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = _tmp12_;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_set_int_member (_tmp8_, _tmp13_, (gint64) 1);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp13_);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp11_);
+#line 523 "Packer.c"
+ } else {
+ JsonObject* _tmp14_;
+ JSDOCPackerResultType _tmp15_;
+ gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ gchar* _tmp19_;
+ JsonObject* _tmp20_;
+ JSDOCPackerResultType _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ gchar* _tmp25_;
+ gint64 _tmp26_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = self->result;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = type;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = jsdoc_packer_result_type_to_string (_tmp15_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17_ = _tmp16_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp18_ = g_strconcat (_tmp17_, "-TOTAL", NULL);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp19_ = _tmp18_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp20_ = self->result;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = type;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = jsdoc_packer_result_type_to_string (_tmp21_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = _tmp22_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp24_ = g_strconcat (_tmp23_, "-TOTAL", NULL);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp25_ = _tmp24_;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp26_ = json_object_get_int_member (_tmp20_, _tmp25_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_set_int_member (_tmp14_, _tmp19_, _tmp26_ + 1);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp25_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp23_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp19_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp17_);
+#line 574 "Packer.c"
+ }
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp27_ = self->result;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp28_ = type;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp29_ = jsdoc_packer_result_type_to_string (_tmp28_);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp30_ = _tmp29_;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp31_ = json_object_has_member (_tmp27_, _tmp30_);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp32_ = !_tmp31_;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp30_);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp32_) {
+#line 592 "Packer.c"
+ JsonObject* _tmp33_;
+ JSDOCPackerResultType _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ JsonObject* _tmp37_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp33_ = self->result;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp34_ = type;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp35_ = jsdoc_packer_result_type_to_string (_tmp34_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp36_ = _tmp35_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp37_ = json_object_new ();
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_set_object_member (_tmp33_, _tmp36_, _tmp37_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp36_);
+#line 612 "Packer.c"
+ }
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp38_ = self->result;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp39_ = type;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp40_ = jsdoc_packer_result_type_to_string (_tmp39_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp41_ = _tmp40_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp42_ = json_object_get_object_member (_tmp38_, _tmp41_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp43_ = _json_object_ref0 (_tmp42_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp44_ = _tmp43_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp41_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ t = _tmp44_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp45_ = t;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp46_ = filename;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp47_ = json_object_has_member (_tmp45_, _tmp46_);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp47_) {
+#line 640 "Packer.c"
+ JsonObject* _tmp48_;
+ const gchar* _tmp49_;
+ JsonObject* _tmp50_;
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp48_ = t;
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp49_ = filename;
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp50_ = json_object_new ();
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_set_object_member (_tmp48_, _tmp49_, _tmp50_);
+#line 652 "Packer.c"
+ }
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp51_ = t;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp52_ = filename;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp53_ = json_object_get_object_member (_tmp51_, _tmp52_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp54_ = _json_object_ref0 (_tmp53_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ tt = _tmp54_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp55_ = tt;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp56_ = line;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp57_ = g_strdup_printf ("%i", _tmp56_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp58_ = _tmp57_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp59_ = json_object_has_member (_tmp55_, _tmp58_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp60_ = !_tmp59_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp58_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp60_) {
+#line 680 "Packer.c"
+ JsonObject* _tmp61_;
+ gint _tmp62_;
+ gchar* _tmp63_;
+ gchar* _tmp64_;
+ JsonArray* _tmp65_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp61_ = tt;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp62_ = line;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp63_ = g_strdup_printf ("%i", _tmp62_);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp64_ = _tmp63_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp65_ = json_array_new ();
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_set_array_member (_tmp61_, _tmp64_, _tmp65_);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp64_);
+#line 700 "Packer.c"
+ }
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp66_ = tt;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp67_ = line;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp68_ = g_strdup_printf ("%i", _tmp67_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp69_ = _tmp68_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp70_ = json_object_get_array_member (_tmp66_, _tmp69_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp71_ = _json_array_ref0 (_tmp70_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp72_ = _tmp71_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp69_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ tl = _tmp72_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp73_ = message;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_array_add_string_element (tl, _tmp73_);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_array_unref0 (tl);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (tt);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (t);
+#line 730 "Packer.c"
+}
+
+
+gboolean jsdoc_packer_hasErrors (JSDOCPacker* self, const gchar* fn) {
+ gboolean result = FALSE;
+ JsonObject* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gboolean _tmp3_;
+ gboolean _tmp4_;
+ const gchar* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ JsonObject* t = NULL;
+ JsonObject* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ JsonObject* _tmp11_;
+ JsonObject* _tmp12_;
+ JsonObject* _tmp13_;
+ JsonObject* _tmp14_;
+ const gchar* _tmp15_;
+ gboolean _tmp16_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (fn != NULL, FALSE);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = self->result;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = jsdoc_packer_result_type_to_string (JSDOC_PACKER_RESULT_TYPE_err);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = _tmp1_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = json_object_has_member (_tmp0_, _tmp2_);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = !_tmp3_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp2_);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp4_) {
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = FALSE;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 776 "Packer.c"
+ }
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = fn;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = strlen (_tmp5_);
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = _tmp6_;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp7_ < 1) {
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = TRUE;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 790 "Packer.c"
+ }
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = self->result;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = jsdoc_packer_result_type_to_string (JSDOC_PACKER_RESULT_TYPE_err);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = _tmp9_;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = json_object_get_object_member (_tmp8_, _tmp10_);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = _json_object_ref0 (_tmp11_);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = _tmp12_;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp10_);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ t = _tmp13_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = t;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = fn;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = json_object_has_member (_tmp14_, _tmp15_);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp16_) {
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = TRUE;
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (t);
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 822 "Packer.c"
+ }
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = FALSE;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (t);
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 830 "Packer.c"
+}
+
+
+static Block1Data* block1_data_ref (Block1Data* _data1_) {
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_atomic_int_inc (&_data1_->_ref_count_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return _data1_;
+#line 839 "Packer.c"
+}
+
+
+static void block1_data_unref (void * _userdata_) {
+ Block1Data* _data1_;
+ _data1_ = (Block1Data*) _userdata_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (g_atomic_int_dec_and_test (&_data1_->_ref_count_)) {
+#line 848 "Packer.c"
+ JSDOCPacker* self;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data1_->self;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_slice_free (Block1Data, _data1_);
+#line 856 "Packer.c"
+ }
+}
+
+
+static Block2Data* block2_data_ref (Block2Data* _data2_) {
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_atomic_int_inc (&_data2_->_ref_count_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return _data2_;
+#line 866 "Packer.c"
+}
+
+
+static void block2_data_unref (void * _userdata_) {
+ Block2Data* _data2_;
+ _data2_ = (Block2Data*) _userdata_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (g_atomic_int_dec_and_test (&_data2_->_ref_count_)) {
+#line 875 "Packer.c"
+ JSDOCPacker* self;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data2_->_data1_->self;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_data2_->filename);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block1_data_unref (_data2_->_data1_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_->_data1_ = NULL;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_slice_free (Block2Data, _data2_);
+#line 887 "Packer.c"
+ }
+}
+
+
+static Block3Data* block3_data_ref (Block3Data* _data3_) {
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_atomic_int_inc (&_data3_->_ref_count_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return _data3_;
+#line 897 "Packer.c"
+}
+
+
+static void block3_data_unref (void * _userdata_) {
+ Block3Data* _data3_;
+ _data3_ = (Block3Data*) _userdata_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) {
+#line 906 "Packer.c"
+ JSDOCPacker* self;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data3_->_data2_->_data1_->self;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_data3_->linestr);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block2_data_unref (_data3_->_data2_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_->_data2_ = NULL;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_slice_free (Block3Data, _data3_);
+#line 918 "Packer.c"
+ }
+}
+
+
+static void __lambda7_ (Block3Data* _data3_, JsonArray* errorar, guint ignore, JsonNode* nodestr) {
+ Block2Data* _data2_;
+ Block1Data* _data1_;
+ JSDOCPacker* self;
+ JSDOCPackerResultType _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+ JsonNode* _tmp5_;
+ const gchar* _tmp6_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_ = _data3_->_data2_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_ = _data2_->_data1_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data1_->self;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (errorar != NULL);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (nodestr != NULL);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = _data1_->type;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = jsdoc_packer_result_type_to_string (_tmp0_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = _tmp1_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = _data2_->filename;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = _data3_->linestr;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = nodestr;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = json_node_get_string (_tmp5_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("%s: %s:%s %s\n", _tmp2_, _tmp3_, _tmp4_, _tmp6_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp2_);
+#line 962 "Packer.c"
+}
+
+
+static void ___lambda7__json_array_foreach (JsonArray* array, guint index_, JsonNode* element_node, gpointer self) {
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ __lambda7_ (self, array, index_, element_node);
+#line 969 "Packer.c"
+}
+
+
+static void __lambda6_ (Block2Data* _data2_, JsonObject* linelistobj, const gchar* linestr, JsonNode* nodear) {
+ Block1Data* _data1_;
+ JSDOCPacker* self;
+ Block3Data* _data3_;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JsonArray* errors = NULL;
+ JsonNode* _tmp2_;
+ JsonArray* _tmp3_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_ = _data2_->_data1_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data1_->self;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (linelistobj != NULL);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (linestr != NULL);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (nodear != NULL);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_ = g_slice_new0 (Block3Data);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_->_ref_count_ = 1;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_->_data2_ = block2_data_ref (_data2_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = linestr;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_data3_->linestr);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_->linestr = _tmp1_;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = nodear;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = json_node_dup_array (_tmp2_);
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ errors = _tmp3_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_array_foreach_element (errors, ___lambda7__json_array_foreach, _data3_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_array_unref0 (errors);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block3_data_unref (_data3_);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data3_ = NULL;
+#line 1020 "Packer.c"
+}
+
+
+static void ___lambda6__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self) {
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ __lambda6_ (self, object, member_name, member_node);
+#line 1027 "Packer.c"
+}
+
+
+static void __lambda5_ (Block1Data* _data1_, JsonObject* obj, const gchar* filename, JsonNode* node) {
+ JSDOCPacker* self;
+ Block2Data* _data2_;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JsonObject* linelist = NULL;
+ JsonNode* _tmp2_;
+ JsonObject* _tmp3_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = _data1_->self;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (obj != NULL);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (filename != NULL);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (node != NULL);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_ = g_slice_new0 (Block2Data);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_->_ref_count_ = 1;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_->_data1_ = block1_data_ref (_data1_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = filename;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_data2_->filename);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_->filename = _tmp1_;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = node;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = json_node_dup_object (_tmp2_);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ linelist = _tmp3_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_foreach_member (linelist, ___lambda6__json_object_foreach, _data2_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (linelist);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block2_data_unref (_data2_);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data2_ = NULL;
+#line 1075 "Packer.c"
+}
+
+
+static void ___lambda5__json_object_foreach (JsonObject* object, const gchar* member_name, JsonNode* member_node, gpointer self) {
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ __lambda5_ (self, object, member_name, member_node);
+#line 1082 "Packer.c"
+}
+
+
+void jsdoc_packer_dumpErrors (JSDOCPacker* self, JSDOCPackerResultType type) {
+ Block1Data* _data1_;
+ JSDOCPackerResultType _tmp0_;
+ JsonObject* _tmp1_;
+ JSDOCPackerResultType _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gboolean _tmp5_;
+ gboolean _tmp6_;
+ JsonObject* t = NULL;
+ JsonObject* _tmp7_;
+ JSDOCPackerResultType _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ JsonObject* _tmp11_;
+ JsonObject* _tmp12_;
+ JsonObject* _tmp13_;
+ JsonObject* _tmp14_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_ = g_slice_new0 (Block1Data);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_->_ref_count_ = 1;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_->self = g_object_ref (self);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = type;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_->type = _tmp0_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = self->result;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = _data1_->type;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = jsdoc_packer_result_type_to_string (_tmp2_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = _tmp3_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = json_object_has_member (_tmp1_, _tmp4_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = !_tmp5_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp4_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp6_) {
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block1_data_unref (_data1_);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_ = NULL;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return;
+#line 1138 "Packer.c"
+ }
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = self->result;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = _data1_->type;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = jsdoc_packer_result_type_to_string (_tmp8_);
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = _tmp9_;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = json_object_get_object_member (_tmp7_, _tmp10_);
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = _json_object_ref0 (_tmp11_);
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = _tmp12_;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp10_);
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ t = _tmp13_;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = t;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ json_object_foreach_member (_tmp14_, ___lambda5__json_object_foreach, _data1_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (t);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ block1_data_unref (_data1_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _data1_ = NULL;
+#line 1168 "Packer.c"
+}
+
+
+void jsdoc_packer_loadSourceIndexes (JSDOCPacker* self, GeeArrayList* indexes) {
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (indexes != NULL);
+#line 1177 "Packer.c"
+ {
+ GeeArrayList* _f_list = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _f_size = 0;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _f_index = 0;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = indexes;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _f_list = _tmp1_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = _f_list;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = _tmp3_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _f_size = _tmp4_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _f_index = -1;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ while (TRUE) {
+#line 1205 "Packer.c"
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ gchar* f = NULL;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gpointer _tmp10_;
+ const gchar* _tmp11_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _f_index;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _f_index = _tmp5_ + 1;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = _f_index;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = _f_size;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ break;
+#line 1226 "Packer.c"
+ }
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = _f_list;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = _f_index;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ f = (gchar*) _tmp10_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = f;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_packer_loadSourceIndex (self, _tmp11_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 1242 "Packer.c"
+ }
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_f_list);
+#line 1246 "Packer.c"
+ }
+}
+
+
+void jsdoc_packer_loadFiles (JSDOCPacker* self, gchar** fs, int fs_length1) {
+ gchar** _tmp0_;
+ gint _tmp0__length1;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = fs;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0__length1 = fs_length1;
+#line 1260 "Packer.c"
+ {
+ gchar** f_collection = NULL;
+ gint f_collection_length1 = 0;
+ gint _f_collection_size_ = 0;
+ gint f_it = 0;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ f_collection = _tmp0_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ f_collection_length1 = _tmp0__length1;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ for (f_it = 0; f_it < _tmp0__length1; f_it = f_it + 1) {
+#line 1272 "Packer.c"
+ gchar* _tmp1_;
+ gchar* f = NULL;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup (f_collection[f_it]);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ f = _tmp1_;
+#line 1279 "Packer.c"
+ {
+ const gchar* _tmp2_;
+ GeeArrayList* _tmp3_;
+ const gchar* _tmp4_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = f;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_debug ("Packer.vala:303: add File: %s", _tmp2_);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = self->files;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = f;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp3_, _tmp4_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 1296 "Packer.c"
+ }
+ }
+ }
+}
+
+
+void jsdoc_packer_loadFile (JSDOCPacker* self, const gchar* f) {
+ const gchar* _tmp0_;
+ GeeArrayList* _tmp1_;
+ const gchar* _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (f != NULL);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = f;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_debug ("Packer.vala:310: add File: %s", _tmp0_);
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = self->files;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = f;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, _tmp2_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = self->files;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _tmp4_;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_debug ("Packer.vala:312: FILE LEN: %d", _tmp5_);
+#line 1332 "Packer.c"
+}
+
+
+gchar* jsdoc_packer_pack (JSDOCPacker* self, const gchar* target, const gchar* targetDebug, GError** error) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp2_;
+ gchar* _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ const gchar* _tmp8_;
+ gint _tmp9_;
+ gint _tmp10_;
+ const gchar* _tmp18_;
+ gint _tmp19_;
+ gint _tmp20_;
+ gchar* _tmp28_;
+ GError * _inner_error_ = NULL;
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (target != NULL, NULL);
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (targetDebug != NULL, NULL);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = target;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->priv->target);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->target = _tmp1_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = targetDebug;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = g_strdup (_tmp2_);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->priv->targetDebug);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetDebug = _tmp3_;
+#line 321 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = self->files;
+#line 321 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 321 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = _tmp5_;
+#line 321 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp6_ < 1) {
+#line 1383 "Packer.c"
+ GError* _tmp7_;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = g_error_new_literal (JSDOC_PACKER_ERROR, JSDOC_PACKER_ERROR_ArgumentError, "No Files loaded before pack() called");
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _inner_error_ = _tmp7_;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_inner_error_->domain == JSDOC_PACKER_ERROR) {
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_propagate_error (error, _inner_error_);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1395 "Packer.c"
+ } else {
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1403 "Packer.c"
+ }
+ }
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = self->priv->target;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = strlen (_tmp8_);
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = _tmp9_;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp10_ > 0) {
+#line 1414 "Packer.c"
+ GFileOutputStream* _tmp11_ = NULL;
+ const gchar* _tmp12_;
+ GFile* _tmp13_;
+ GFile* _tmp14_;
+ GFileOutputStream* _tmp15_;
+ GFileOutputStream* _tmp16_;
+ GFileOutputStream* _tmp17_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = self->priv->target;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = g_file_new_for_path (_tmp12_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = _tmp13_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = g_file_replace (_tmp14_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = _tmp15_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp14_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = _tmp16_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_inner_error_->domain == JSDOC_PACKER_ERROR) {
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_propagate_error (error, _inner_error_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1444 "Packer.c"
+ } else {
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1452 "Packer.c"
+ }
+ }
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17_ = _tmp11_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = NULL;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->priv->targetStream);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetStream = _tmp17_;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp11_);
+#line 1465 "Packer.c"
+ }
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp18_ = self->priv->targetDebug;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp19_ = strlen (_tmp18_);
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp20_ = _tmp19_;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp20_ > 0) {
+#line 1475 "Packer.c"
+ GFileOutputStream* _tmp21_ = NULL;
+ const gchar* _tmp22_;
+ GFile* _tmp23_;
+ GFile* _tmp24_;
+ GFileOutputStream* _tmp25_;
+ GFileOutputStream* _tmp26_;
+ GFileOutputStream* _tmp27_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = self->priv->targetDebug;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = g_file_new_for_path (_tmp22_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp24_ = _tmp23_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp25_ = g_file_replace (_tmp24_, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &_inner_error_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp26_ = _tmp25_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp24_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = _tmp26_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_inner_error_->domain == JSDOC_PACKER_ERROR) {
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_propagate_error (error, _inner_error_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1505 "Packer.c"
+ } else {
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 1513 "Packer.c"
+ }
+ }
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp27_ = _tmp21_;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = NULL;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->priv->targetDebugStream);
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetDebugStream = _tmp27_;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp21_);
+#line 1526 "Packer.c"
+ }
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp28_ = jsdoc_packer_packAll (self);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp28_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 1534 "Packer.c"
+}
+
+
+/**
+ * load a dependancy list -f option
+ * @param {String} srcfile sourcefile to parse
+ *
+ */
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1557 "Packer.c"
+}
+
+
+static gchar* string_strip (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 1234 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_strstrip (_tmp1_);
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1580 "Packer.c"
+}
+
+
+static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (old != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (replacement != NULL, NULL);
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if ((*((gchar*) self)) == '\0') {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 1599 "Packer.c"
+ } else {
+ const gchar* _tmp2_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = (*((gchar*) _tmp2_)) == '\0';
+#line 1606 "Packer.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = TRUE;
+#line 1612 "Packer.c"
+ } else {
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = replacement;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strcmp0 (_tmp3_, _tmp4_) == 0;
+#line 1622 "Packer.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 1626 "Packer.c"
+ gchar* _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = g_strdup (self);
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1634 "Packer.c"
+ }
+ {
+ GRegex* regex = NULL;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ GRegex* _tmp9_;
+ GRegex* _tmp10_;
+ gchar* _tmp11_ = NULL;
+ GRegex* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = old;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = g_regex_escape_string (_tmp6_, -1);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = g_regex_new (_tmp8_, 0, 0, &_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = _tmp9_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp8_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ regex = _tmp10_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 1666 "Packer.c"
+ goto __catch1_g_regex_error;
+ }
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1675 "Packer.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = regex;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = replacement;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = g_regex_replace_literal (_tmp12_, self, (gssize) -1, 0, _tmp13_, 0, &_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp14_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 1691 "Packer.c"
+ goto __catch1_g_regex_error;
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1702 "Packer.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = _tmp11_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = NULL;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp15_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp11_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1716 "Packer.c"
+ }
+ goto __finally1;
+ __catch1_g_regex_error:
+ {
+ GError* e = NULL;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ e = _inner_error_;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _inner_error_ = NULL;
+#line 1415 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_assert_not_reached ();
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_error_free0 (e);
+#line 1730 "Packer.c"
+ }
+ __finally1:
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 1741 "Packer.c"
+ }
+}
+
+
+void jsdoc_packer_loadSourceIndex (JSDOCPacker* self, const gchar* in_srcfile) {
+ gchar* srcfile = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp2_;
+ gchar _tmp3_;
+ gchar* str = NULL;
+ const gchar* _tmp8_;
+ gchar* _tmp9_ = NULL;
+ gchar** lines = NULL;
+ const gchar* _tmp10_;
+ gchar** _tmp11_;
+ gchar** _tmp12_;
+ gint lines_length1;
+ gint _lines_size_;
+ GError * _inner_error_ = NULL;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (self != NULL);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_if_fail (in_srcfile != NULL);
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = in_srcfile;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ srcfile = _tmp1_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = srcfile;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = string_get (_tmp2_, (glong) 0);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp3_ != '/') {
+#line 1778 "Packer.c"
+ JSDOCPackerRun* _tmp4_;
+ const gchar* _tmp5_;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = self->config;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _tmp4_->opt_real_basedir;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = in_srcfile;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = g_strconcat (_tmp5_, _tmp6_, NULL);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (srcfile);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ srcfile = _tmp7_;
+#line 1795 "Packer.c"
+ }
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = srcfile;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_get_contents (_tmp8_, &_tmp9_, NULL, &_inner_error_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ str = _tmp9_;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (srcfile);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return;
+#line 1817 "Packer.c"
+ }
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = str;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = _tmp11_ = g_strsplit (_tmp10_, "\n", 0);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ lines = _tmp12_;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ lines_length1 = _vala_array_length (_tmp11_);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _lines_size_ = lines_length1;
+#line 1829 "Packer.c"
+ {
+ gint i = 0;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ i = 0;
+#line 1834 "Packer.c"
+ {
+ gboolean _tmp13_ = FALSE;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = TRUE;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ while (TRUE) {
+#line 1841 "Packer.c"
+ gint _tmp15_;
+ gchar** _tmp16_;
+ gint _tmp16__length1;
+ gchar* f = NULL;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+ gint _tmp18_;
+ const gchar* _tmp19_;
+ gchar* _tmp20_;
+ gboolean _tmp21_ = FALSE;
+ gboolean _tmp22_ = FALSE;
+ const gchar* _tmp23_;
+ gint _tmp24_;
+ gint _tmp25_;
+ const gchar* _tmp30_;
+ gboolean _tmp31_;
+ gchar* add = NULL;
+ const gchar* _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ gchar* _tmp37_;
+ gchar* _tmp38_;
+ const gchar* _tmp39_;
+ gchar _tmp40_;
+ GeeArrayList* _tmp45_;
+ const gchar* _tmp46_;
+ gboolean _tmp47_;
+ GeeArrayList* _tmp48_;
+ const gchar* _tmp49_;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp13_) {
+#line 1873 "Packer.c"
+ gint _tmp14_;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = i;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ i = _tmp14_ + 1;
+#line 1879 "Packer.c"
+ }
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = FALSE;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = i;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = lines;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16__length1 = lines_length1;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!(_tmp15_ < _tmp16__length1)) {
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ break;
+#line 1893 "Packer.c"
+ }
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17_ = lines;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17__length1 = lines_length1;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp18_ = i;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp19_ = _tmp17_[_tmp18_];
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp20_ = string_strip (_tmp19_);
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ f = _tmp20_;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = f;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp24_ = strlen (_tmp23_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp25_ = _tmp24_;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp25_ < 1) {
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = TRUE;
+#line 1917 "Packer.c"
+ } else {
+ const gchar* _tmp26_;
+ gboolean _tmp27_;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp26_ = f;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp27_ = g_regex_match_simple ("^/", _tmp26_, 0, 0);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = _tmp27_;
+#line 1927 "Packer.c"
+ }
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp22_) {
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = TRUE;
+#line 1933 "Packer.c"
+ } else {
+ const gchar* _tmp28_;
+ gboolean _tmp29_;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp28_ = f;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp29_ = g_regex_match_simple ("[a-zA-Z]+", _tmp28_, 0, 0);
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = !_tmp29_;
+#line 1943 "Packer.c"
+ }
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp21_) {
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 1951 "Packer.c"
+ }
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp30_ = f;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp31_ = g_regex_match_simple ("\\.js$", _tmp30_, 0, 0);
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp31_) {
+#line 1959 "Packer.c"
+ GeeArrayList* _tmp32_;
+ const gchar* _tmp33_;
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp32_ = self->files;
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp33_ = f;
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp32_, _tmp33_);
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 1972 "Packer.c"
+ }
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp34_ = f;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp35_ = string_replace (_tmp34_, ".", "/");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp36_ = _tmp35_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp37_ = g_strconcat (_tmp36_, ".js", NULL);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp38_ = _tmp37_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp36_);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ add = _tmp38_;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp39_ = add;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp40_ = string_get (_tmp39_, (glong) 0);
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp40_ != '/') {
+#line 1994 "Packer.c"
+ JSDOCPackerRun* _tmp41_;
+ const gchar* _tmp42_;
+ const gchar* _tmp43_;
+ gchar* _tmp44_;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp41_ = self->config;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp42_ = _tmp41_->opt_real_basedir;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp43_ = add;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp44_ = g_strconcat (_tmp42_, _tmp43_, NULL);
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (add);
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ add = _tmp44_;
+#line 2011 "Packer.c"
+ }
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp45_ = self->files;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp46_ = add;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp47_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp45_, _tmp46_);
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp47_) {
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (add);
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 2027 "Packer.c"
+ }
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp48_ = self->files;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp49_ = add;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp48_, _tmp49_);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (add);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (f);
+#line 2039 "Packer.c"
+ }
+ }
+ }
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ lines = (_vala_array_free (lines, lines_length1, (GDestroyNotify) g_free), NULL);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (srcfile);
+#line 2049 "Packer.c"
+}
+
+
+static guint8* string_get_data (const gchar* self, int* result_length1) {
+ guint8* result;
+ guint8* res = NULL;
+ gint res_length1;
+ gint _res_size_;
+ gint _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ guint8* _tmp3_;
+ gint _tmp3__length1;
+ guint8* _tmp4_;
+ gint _tmp4__length1;
+#line 1428 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1429 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = (guint8*) self;
+#line 1429 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res_length1 = -1;
+#line 1429 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _res_size_ = res_length1;
+#line 1430 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = strlen (self);
+#line 1430 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _tmp0_;
+#line 1430 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res_length1 = (gint) _tmp1_;
+#line 1430 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = res_length1;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = res;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3__length1 = res_length1;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = _tmp3_;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4__length1 = _tmp3__length1;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (result_length1) {
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ *result_length1 = _tmp4__length1;
+#line 2093 "Packer.c"
+ }
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1431 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2099 "Packer.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 2122 "Packer.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2130 "Packer.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2142 "Packer.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 2166 "Packer.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 2172 "Packer.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 2176 "Packer.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 2180 "Packer.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 2192 "Packer.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 2202 "Packer.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 2208 "Packer.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 2222 "Packer.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 2232 "Packer.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 2238 "Packer.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 2247 "Packer.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2267 "Packer.c"
+}
+
+
+static gchar* jsdoc_packer_packAll (JSDOCPacker* self) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ GFileOutputStream* _tmp6_;
+ gchar* tmpDir = NULL;
+ gchar* _tmp10_;
+ gboolean _tmp80_ = FALSE;
+ JSDOCPackerRun* _tmp81_;
+ gboolean _tmp82_;
+ JSDOCPackerRun* _tmp177_;
+ gboolean _tmp178_;
+ const gchar* _tmp180_;
+ gint _tmp181_;
+ gint _tmp182_;
+ const gchar* _tmp186_;
+ gint _tmp187_;
+ gint _tmp188_;
+ const gchar* _tmp190_;
+ gint _tmp191_;
+ gint _tmp192_;
+ gchar* _tmp195_;
+ GError * _inner_error_ = NULL;
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = self->priv->target;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = strlen (_tmp0_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = _tmp1_;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp2_ > 0) {
+#line 2305 "Packer.c"
+ GFileOutputStream* _tmp3_;
+ guint8* _tmp4_;
+ gint _tmp4__length1;
+ guint8* _tmp5_;
+ gint _tmp5__length1;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = self->priv->targetStream;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = string_get_data ("", &_tmp4__length1);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = _tmp4_;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5__length1 = _tmp4__length1;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_output_stream_write ((GOutputStream*) _tmp3_, _tmp5_, (gsize) _tmp5__length1, NULL, &_inner_error_);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2329 "Packer.c"
+ }
+ }
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = self->priv->targetDebugStream;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp6_ != NULL) {
+#line 2336 "Packer.c"
+ GFileOutputStream* _tmp7_;
+ guint8* _tmp8_;
+ gint _tmp8__length1;
+ guint8* _tmp9_;
+ gint _tmp9__length1;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = self->priv->targetDebugStream;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = string_get_data ("", &_tmp8__length1);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = _tmp8_;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9__length1 = _tmp8__length1;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_output_stream_write ((GOutputStream*) _tmp7_, _tmp9_, (gsize) _tmp9__length1, NULL, &_inner_error_);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2360 "Packer.c"
+ }
+ }
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = g_dir_make_tmp ("roojspacker_XXXXXX", &_inner_error_);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ tmpDir = _tmp10_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2375 "Packer.c"
+ }
+ {
+ GeeArrayList* _file_list = NULL;
+ GeeArrayList* _tmp11_;
+ GeeArrayList* _tmp12_;
+ gint _file_size = 0;
+ GeeArrayList* _tmp13_;
+ gint _tmp14_;
+ gint _tmp15_;
+ gint _file_index = 0;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = self->files;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = _g_object_ref0 (_tmp11_);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _file_list = _tmp12_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = _file_list;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp13_);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = _tmp14_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _file_size = _tmp15_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _file_index = -1;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ while (TRUE) {
+#line 2404 "Packer.c"
+ gint _tmp16_;
+ gint _tmp17_;
+ gint _tmp18_;
+ gchar* file = NULL;
+ GeeArrayList* _tmp19_;
+ gint _tmp20_;
+ gpointer _tmp21_;
+ const gchar* _tmp22_;
+ gboolean _tmp23_ = FALSE;
+ const gchar* _tmp24_;
+ gboolean _tmp25_;
+ gboolean loaded_string = FALSE;
+ gchar* file_contents = NULL;
+ gchar* _tmp29_;
+ GFileOutputStream* _tmp30_;
+ gchar* minfile = NULL;
+ const gchar* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ const gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar* _tmp42_;
+ gchar* _tmp43_;
+ gchar* _tmp44_;
+ const gchar* _tmp45_;
+ gboolean _tmp46_;
+ const gchar* _tmp65_;
+ gboolean _tmp66_ = FALSE;
+ JSDOCPackerRun* _tmp67_;
+ gboolean _tmp68_;
+ gboolean _tmp72_;
+ const gchar* _tmp75_;
+ const gchar* _tmp76_;
+ const gchar* _tmp77_;
+ gchar* _tmp78_;
+ gchar* _tmp79_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = _file_index;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _file_index = _tmp16_ + 1;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17_ = _file_index;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp18_ = _file_size;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!(_tmp17_ < _tmp18_)) {
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ break;
+#line 2453 "Packer.c"
+ }
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp19_ = _file_list;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp20_ = _file_index;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, _tmp20_);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ file = (gchar*) _tmp21_;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = file;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("reading %s\n", _tmp22_);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp24_ = file;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp25_ = g_file_test (_tmp24_, G_FILE_TEST_EXISTS);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp25_) {
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = TRUE;
+#line 2475 "Packer.c"
+ } else {
+ const gchar* _tmp26_;
+ gboolean _tmp27_;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp26_ = file;
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp27_ = g_file_test (_tmp26_, G_FILE_TEST_IS_DIR);
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = _tmp27_;
+#line 2485 "Packer.c"
+ }
+#line 411 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp23_) {
+#line 2489 "Packer.c"
+ const gchar* _tmp28_;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp28_ = file;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("SKIP (is not a file) %s\n ", _tmp28_);
+#line 413 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 413 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 2499 "Packer.c"
+ }
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ loaded_string = FALSE;
+#line 417 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp29_ = g_strdup ("");
+#line 417 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ file_contents = _tmp29_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp30_ = self->priv->targetDebugStream;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp30_ != NULL) {
+#line 2511 "Packer.c"
+ const gchar* _tmp31_;
+ gchar* _tmp32_ = NULL;
+ GFileOutputStream* _tmp33_;
+ const gchar* _tmp34_;
+ guint8* _tmp35_;
+ gint _tmp35__length1;
+ guint8* _tmp36_;
+ gint _tmp36__length1;
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp31_ = file;
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_get_contents (_tmp31_, &_tmp32_, NULL, &_inner_error_);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ file_contents = _tmp32_;
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2544 "Packer.c"
+ }
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp33_ = self->priv->targetDebugStream;
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp34_ = file_contents;
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp35_ = string_get_data (_tmp34_, &_tmp35__length1);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp36_ = _tmp35_;
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp36__length1 = _tmp35__length1;
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_output_stream_write ((GOutputStream*) _tmp33_, _tmp36_, (gsize) _tmp36__length1, NULL, &_inner_error_);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 423 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2574 "Packer.c"
+ }
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ loaded_string = FALSE;
+#line 2578 "Packer.c"
+ }
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp37_ = tmpDir;
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp38_ = g_strconcat (_tmp37_, "/", NULL);
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp39_ = _tmp38_;
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp40_ = file;
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp41_ = string_replace (_tmp40_, "/", ".");
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp42_ = _tmp41_;
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp43_ = g_strconcat (_tmp39_, _tmp42_, NULL);
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp44_ = _tmp43_;
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp42_);
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp39_);
+#line 433 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ minfile = _tmp44_;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp45_ = minfile;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp46_ = g_file_test (_tmp45_, G_FILE_TEST_EXISTS);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp46_) {
+#line 2608 "Packer.c"
+ GFileInfo* _tmp47_ = NULL;
+ const gchar* _tmp48_;
+ GFile* _tmp49_;
+ GFile* _tmp50_;
+ GFileInfo* _tmp51_;
+ GFileInfo* _tmp52_;
+ GTimeVal otv = {0};
+ GTimeVal _tmp53_ = {0};
+ GFileInfo* _tmp54_ = NULL;
+ const gchar* _tmp55_;
+ GFile* _tmp56_;
+ GFile* _tmp57_;
+ GFileInfo* _tmp58_;
+ GFileInfo* _tmp59_;
+ GTimeVal mtv = {0};
+ GTimeVal _tmp60_ = {0};
+ GTimeVal _tmp61_;
+ glong _tmp62_;
+ GTimeVal _tmp63_;
+ glong _tmp64_;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp48_ = file;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp49_ = g_file_new_for_path (_tmp48_);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp50_ = _tmp49_;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp51_ = g_file_query_info (_tmp50_, G_FILE_ATTRIBUTE_TIME_MODIFIED, 0, NULL, &_inner_error_);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp52_ = _tmp51_;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp50_);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp47_ = _tmp52_;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2661 "Packer.c"
+ }
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_info_get_modification_time (_tmp47_, &_tmp53_);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ otv = _tmp53_;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp55_ = minfile;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp56_ = g_file_new_for_path (_tmp55_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp57_ = _tmp56_;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp58_ = g_file_query_info (_tmp57_, G_FILE_ATTRIBUTE_TIME_MODIFIED, 0, NULL, &_inner_error_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp59_ = _tmp58_;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp57_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp54_ = _tmp59_;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp47_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2701 "Packer.c"
+ }
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_info_get_modification_time (_tmp54_, &_tmp60_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ mtv = _tmp60_;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp61_ = mtv;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp62_ = _tmp61_.tv_usec;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp63_ = otv;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp64_ = _tmp63_.tv_usec;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp62_ > _tmp64_) {
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp54_);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp47_);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 2729 "Packer.c"
+ }
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp54_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp47_);
+#line 2735 "Packer.c"
+ }
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp65_ = minfile;
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("COMPRESSING to %s\n", _tmp65_);
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp67_ = self->config;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp68_ = _tmp67_->opt_clean_cache;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp68_) {
+#line 2747 "Packer.c"
+ const gchar* _tmp69_;
+ gboolean _tmp70_;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp69_ = minfile;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp70_ = g_file_test (_tmp69_, G_FILE_TEST_EXISTS);
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp66_ = _tmp70_;
+#line 2756 "Packer.c"
+ } else {
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp66_ = FALSE;
+#line 2760 "Packer.c"
+ }
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp66_) {
+#line 2764 "Packer.c"
+ const gchar* _tmp71_;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp71_ = minfile;
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_remove (_tmp71_);
+#line 2770 "Packer.c"
+ }
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp72_ = loaded_string;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp72_) {
+#line 2776 "Packer.c"
+ const gchar* _tmp73_;
+ gchar* _tmp74_ = NULL;
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp73_ = file;
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_get_contents (_tmp73_, &_tmp74_, NULL, &_inner_error_);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ file_contents = _tmp74_;
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 2805 "Packer.c"
+ }
+ }
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp75_ = file_contents;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp76_ = file;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp77_ = minfile;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp78_ = jsdoc_packer_packFile (self, _tmp75_, _tmp76_, _tmp77_);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp79_ = _tmp78_;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp79_);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file_contents);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 2826 "Packer.c"
+ }
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_file_list);
+#line 2830 "Packer.c"
+ }
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_packer_dumpErrors (self, JSDOC_PACKER_RESULT_TYPE_warn);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_packer_dumpErrors (self, JSDOC_PACKER_RESULT_TYPE_err);
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp81_ = self->config;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp82_ = _tmp81_->opt_dump_tokens;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp82_) {
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp80_ = TRUE;
+#line 2844 "Packer.c"
+ } else {
+ gboolean _tmp83_;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp83_ = jsdoc_packer_hasErrors (self, "");
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp80_ = _tmp83_;
+#line 2851 "Packer.c"
+ }
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp80_) {
+#line 479 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ exit (0);
+#line 2857 "Packer.c"
+ }
+#line 481 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("MERGING SOURCE\n");
+#line 2861 "Packer.c"
+ {
+ gint i = 0;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ i = 0;
+#line 2866 "Packer.c"
+ {
+ gboolean _tmp84_ = FALSE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp84_ = TRUE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ while (TRUE) {
+#line 2873 "Packer.c"
+ gint _tmp86_;
+ GeeArrayList* _tmp87_;
+ gint _tmp88_;
+ gint _tmp89_;
+ gchar* file = NULL;
+ GeeArrayList* _tmp90_;
+ gint _tmp91_;
+ gpointer _tmp92_;
+ gchar* minfile = NULL;
+ const gchar* _tmp93_;
+ gchar* _tmp94_;
+ gchar* _tmp95_;
+ const gchar* _tmp96_;
+ gchar* _tmp97_;
+ gchar* _tmp98_;
+ gchar* _tmp99_;
+ gchar* _tmp100_;
+ const gchar* _tmp101_;
+ gboolean _tmp102_;
+ gchar* str = NULL;
+ const gchar* _tmp104_;
+ gchar* _tmp105_ = NULL;
+ const gchar* _tmp106_;
+ const gchar* _tmp107_;
+ gint _tmp108_;
+ gint _tmp109_;
+ JSDOCPackerRun* _tmp174_;
+ gboolean _tmp175_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp84_) {
+#line 2904 "Packer.c"
+ gint _tmp85_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp85_ = i;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ i = _tmp85_ + 1;
+#line 2910 "Packer.c"
+ }
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp84_ = FALSE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp86_ = i;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp87_ = self->files;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp88_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp87_);
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp89_ = _tmp88_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!(_tmp86_ < _tmp89_)) {
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ break;
+#line 2926 "Packer.c"
+ }
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp90_ = self->files;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp91_ = i;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp92_ = gee_abstract_list_get ((GeeAbstractList*) _tmp90_, _tmp91_);
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ file = (gchar*) _tmp92_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp93_ = tmpDir;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp94_ = g_strconcat (_tmp93_, "/", NULL);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp95_ = _tmp94_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp96_ = file;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp97_ = string_replace (_tmp96_, "/", ".");
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp98_ = _tmp97_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp99_ = g_strconcat (_tmp95_, _tmp98_, NULL);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp100_ = _tmp99_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp98_);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp95_);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ minfile = _tmp100_;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp101_ = minfile;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp102_ = g_file_test (_tmp101_, G_FILE_TEST_EXISTS);
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp102_) {
+#line 2964 "Packer.c"
+ const gchar* _tmp103_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp103_ = minfile;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("skipping source %s - does not exist\n", _tmp103_);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ continue;
+#line 2976 "Packer.c"
+ }
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp104_ = minfile;
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_get_contents (_tmp104_, &_tmp105_, NULL, &_inner_error_);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ str = _tmp105_;
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 3002 "Packer.c"
+ }
+#line 494 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp106_ = minfile;
+#line 494 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("using MIN FILE %s\n", _tmp106_);
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp107_ = str;
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp108_ = strlen (_tmp107_);
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp109_ = _tmp108_;
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp109_ > 0) {
+#line 3016 "Packer.c"
+ GFileOutputStream* _tmp110_;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp110_ = self->priv->targetStream;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp110_ != NULL) {
+#line 3022 "Packer.c"
+ gchar* _tmp111_ = NULL;
+ const gchar* _tmp112_;
+ gint _tmp113_;
+ gint _tmp114_;
+ JSDOCPackerRun* _tmp115_;
+ const gchar* _tmp116_;
+ gint _tmp117_;
+ gint _tmp118_;
+ GFileOutputStream* _tmp127_;
+ gchar* _tmp128_;
+ gchar* _tmp129_;
+ gchar* _tmp130_;
+ gchar* _tmp131_;
+ guint8* _tmp132_;
+ gint _tmp132__length1;
+ guint8* _tmp133_;
+ gint _tmp133__length1;
+ GFileOutputStream* _tmp134_;
+ const gchar* _tmp135_;
+ gchar* _tmp136_;
+ gchar* _tmp137_;
+ guint8* _tmp138_;
+ gint _tmp138__length1;
+ guint8* _tmp139_;
+ gint _tmp139__length1;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp112_ = file;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp113_ = strlen (_tmp112_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp114_ = _tmp113_;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp115_ = self->config;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp116_ = _tmp115_->opt_real_basedir;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp117_ = strlen (_tmp116_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp118_ = _tmp117_;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp114_ > _tmp118_) {
+#line 3064 "Packer.c"
+ const gchar* _tmp119_;
+ JSDOCPackerRun* _tmp120_;
+ const gchar* _tmp121_;
+ gint _tmp122_;
+ gint _tmp123_;
+ gchar* _tmp124_;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp119_ = file;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp120_ = self->config;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp121_ = _tmp120_->opt_real_basedir;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp122_ = strlen (_tmp121_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp123_ = _tmp122_;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp124_ = string_substring (_tmp119_, (glong) _tmp123_, (glong) -1);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp111_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp111_ = _tmp124_;
+#line 3087 "Packer.c"
+ } else {
+ const gchar* _tmp125_;
+ gchar* _tmp126_;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp125_ = file;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp126_ = g_strdup (_tmp125_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp111_);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp111_ = _tmp126_;
+#line 3099 "Packer.c"
+ }
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp127_ = self->priv->targetStream;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp128_ = g_strconcat ("// ", _tmp111_, NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp129_ = _tmp128_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp130_ = g_strconcat (_tmp129_, "\n", NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp131_ = _tmp130_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp132_ = string_get_data (_tmp131_, &_tmp132__length1);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp133_ = _tmp132_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp133__length1 = _tmp132__length1;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_output_stream_write ((GOutputStream*) _tmp127_, _tmp133_, (gsize) _tmp133__length1, NULL, &_inner_error_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp131_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp129_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp111_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 3141 "Packer.c"
+ }
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp134_ = self->priv->targetStream;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp135_ = str;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp136_ = g_strconcat (_tmp135_, "\n", NULL);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp137_ = _tmp136_;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp138_ = string_get_data (_tmp137_, &_tmp138__length1);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp139_ = _tmp138_;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp139__length1 = _tmp138__length1;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_output_stream_write ((GOutputStream*) _tmp134_, _tmp139_, (gsize) _tmp139__length1, NULL, &_inner_error_);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp137_);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp111_);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 3179 "Packer.c"
+ }
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp111_);
+#line 3183 "Packer.c"
+ } else {
+ gchar* _tmp140_ = NULL;
+ const gchar* _tmp141_;
+ gint _tmp142_;
+ gint _tmp143_;
+ JSDOCPackerRun* _tmp144_;
+ const gchar* _tmp145_;
+ gint _tmp146_;
+ gint _tmp147_;
+ const gchar* _tmp156_;
+ gchar* _tmp157_;
+ gchar* _tmp158_;
+ gchar* _tmp159_;
+ gchar* _tmp160_;
+ gchar* _tmp161_;
+ const gchar* _tmp162_;
+ const gchar* _tmp163_;
+ gchar* _tmp164_;
+ gchar* _tmp165_;
+ gchar* _tmp166_;
+ gchar* _tmp167_;
+ gchar* _tmp168_;
+ const gchar* _tmp169_;
+ const gchar* _tmp170_;
+ gchar* _tmp171_;
+ gchar* _tmp172_;
+ gchar* _tmp173_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp141_ = file;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp142_ = strlen (_tmp141_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp143_ = _tmp142_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp144_ = self->config;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp145_ = _tmp144_->opt_real_basedir;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp146_ = strlen (_tmp145_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp147_ = _tmp146_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp143_ > _tmp147_) {
+#line 3227 "Packer.c"
+ const gchar* _tmp148_;
+ JSDOCPackerRun* _tmp149_;
+ const gchar* _tmp150_;
+ gint _tmp151_;
+ gint _tmp152_;
+ gchar* _tmp153_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp148_ = file;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp149_ = self->config;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp150_ = _tmp149_->opt_real_basedir;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp151_ = strlen (_tmp150_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp152_ = _tmp151_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp153_ = string_substring (_tmp148_, (glong) _tmp152_, (glong) -1);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp140_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp140_ = _tmp153_;
+#line 3250 "Packer.c"
+ } else {
+ const gchar* _tmp154_;
+ gchar* _tmp155_;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp154_ = file;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp155_ = g_strdup (_tmp154_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp140_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp140_ = _tmp155_;
+#line 3262 "Packer.c"
+ }
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp156_ = self->outstr;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp157_ = g_strconcat ("//", _tmp140_, NULL);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp158_ = _tmp157_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp159_ = g_strconcat (_tmp158_, "\n", NULL);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp160_ = _tmp159_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp161_ = g_strconcat (_tmp156_, _tmp160_, NULL);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->outstr);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->outstr = _tmp161_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp160_);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp158_);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp162_ = self->outstr;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp163_ = file;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp164_ = g_strconcat ("//", _tmp163_, NULL);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp165_ = _tmp164_;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp166_ = g_strconcat (_tmp165_, "\n", NULL);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp167_ = _tmp166_;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp168_ = g_strconcat (_tmp162_, _tmp167_, NULL);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->outstr);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->outstr = _tmp168_;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp167_);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp165_);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp169_ = self->outstr;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp170_ = str;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp171_ = g_strconcat (_tmp170_, "\n", NULL);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp172_ = _tmp171_;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp173_ = g_strconcat (_tmp169_, _tmp172_, NULL);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->outstr);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->outstr = _tmp173_;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp172_);
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp140_);
+#line 3324 "Packer.c"
+ }
+ }
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp174_ = self->config;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp175_ = _tmp174_->opt_clean_cache;
+#line 512 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp175_) {
+#line 3333 "Packer.c"
+ const gchar* _tmp176_;
+#line 513 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp176_ = minfile;
+#line 513 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_remove (_tmp176_);
+#line 3339 "Packer.c"
+ }
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (str);
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (minfile);
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (file);
+#line 3347 "Packer.c"
+ }
+ }
+ }
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp177_ = self->config;
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp178_ = _tmp177_->opt_clean_cache;
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp178_) {
+#line 3357 "Packer.c"
+ const gchar* _tmp179_;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp179_ = tmpDir;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_remove (_tmp179_);
+#line 3363 "Packer.c"
+ }
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp180_ = self->priv->target;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp181_ = strlen (_tmp180_);
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp182_ = _tmp181_;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp182_ > 0) {
+#line 3373 "Packer.c"
+ const gchar* _tmp183_;
+ gchar* _tmp184_;
+ gchar* _tmp185_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp183_ = self->priv->target;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp184_ = g_strconcat ("Output file: ", _tmp183_, NULL);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp185_ = _tmp184_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("%s", _tmp185_);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp185_);
+#line 3387 "Packer.c"
+ }
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp186_ = self->priv->targetDebug;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp187_ = strlen (_tmp186_);
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp188_ = _tmp187_;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp188_ > 0) {
+#line 3397 "Packer.c"
+ const gchar* _tmp189_;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp189_ = self->priv->targetDebug;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_print ("Output debug file: %s\n", _tmp189_);
+#line 3403 "Packer.c"
+ }
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp190_ = self->outstr;
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp191_ = strlen (_tmp190_);
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp192_ = _tmp191_;
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp192_ > 0) {
+#line 3413 "Packer.c"
+ const gchar* _tmp193_;
+ gchar* _tmp194_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp193_ = self->outstr;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp194_ = g_strdup (_tmp193_);
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp194_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 3426 "Packer.c"
+ }
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp195_ = g_strdup ("");
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp195_;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (tmpDir);
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 3436 "Packer.c"
+}
+
+
+/**
+ * Core packing routine for a file
+ *
+ * @param str - str source text..
+ * @param fn - filename (for reference?)
+ * @param minfile - min file location...
+ *
+ */
+gchar* jsdoc_packer_packFile (JSDOCPacker* self, const gchar* str, const gchar* fn, const gchar* minfile) {
+ gchar* result = NULL;
+ JSDOCTokenReader* tr = NULL;
+ JSDOCTokenReader* _tmp0_;
+ JSDOCTokenReader* _tmp1_;
+ JSDOCTokenReader* _tmp2_;
+ JSDOCTokenReader* _tmp3_;
+ JSDOCTokenReader* _tmp4_;
+ JSDOCTokenReader* _tmp5_;
+ JSDOCTokenReader* _tmp6_;
+ const gchar* _tmp7_;
+ gchar* _tmp8_;
+ JSDOCTokenArray* toks = NULL;
+ JSDOCTokenReader* _tmp9_;
+ const gchar* _tmp10_;
+ JSDOCTextStream* _tmp11_;
+ JSDOCTextStream* _tmp12_;
+ JSDOCTokenArray* _tmp13_;
+ JSDOCTokenArray* _tmp14_;
+ JSDOCPackerRun* _tmp15_;
+ gboolean _tmp16_;
+ const gchar* _tmp19_;
+ gchar* _tmp20_;
+ JSDOCCollapse* ts = NULL;
+ JSDOCTokenArray* _tmp21_;
+ GeeArrayList* _tmp22_;
+ const gchar* _tmp23_;
+ JSDOCCollapse* _tmp24_;
+ JSDOCPackerRun* _tmp25_;
+ gboolean _tmp26_;
+ gchar* outf = NULL;
+ JSDOCTokenArray* _tmp33_;
+ GeeArrayList* _tmp34_;
+ JSDOCTokenStream* _tmp35_;
+ JSDOCTokenStream* _tmp36_;
+ JSDOCPackerRun* _tmp37_;
+ gboolean _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+ gboolean _tmp41_ = FALSE;
+ gboolean _tmp42_ = FALSE;
+ const gchar* _tmp43_;
+ gint _tmp44_;
+ gint _tmp45_;
+ GError * _inner_error_ = NULL;
+#line 548 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 548 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (str != NULL, NULL);
+#line 548 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (fn != NULL, NULL);
+#line 548 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (minfile != NULL, NULL);
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = jsdoc_token_reader_new (self);
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ tr = _tmp0_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = tr;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_->keepDocs = TRUE;
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = tr;
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_->keepWhite = TRUE;
+#line 554 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = tr;
+#line 554 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_->keepComments = TRUE;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_ = tr;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp4_->sepIdents = TRUE;
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_ = tr;
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp5_->collapseWhite = FALSE;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_ = tr;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp7_ = fn;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp8_ = g_strdup (_tmp7_);
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (_tmp6_->filename);
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp6_->filename = _tmp8_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp9_ = tr;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp10_ = str;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp11_ = jsdoc_text_stream_new (_tmp10_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp12_ = _tmp11_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp13_ = jsdoc_token_reader_tokenize (_tmp9_, _tmp12_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp14_ = _tmp13_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp12_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ toks = _tmp14_;
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp15_ = self->config;
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp16_ = _tmp15_->opt_dump_tokens;
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp16_) {
+#line 3557 "Packer.c"
+ JSDOCTokenArray* _tmp17_;
+ gchar* _tmp18_;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp17_ = toks;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_token_array_dump (_tmp17_);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp18_ = g_strdup ("");
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp18_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (toks);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (tr);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 3574 "Packer.c"
+ }
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp19_ = fn;
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp20_ = g_strdup (_tmp19_);
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->activeFile);
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->activeFile = _tmp20_;
+#line 576 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp21_ = toks;
+#line 576 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp22_ = _tmp21_->tokens;
+#line 576 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp23_ = fn;
+#line 576 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp24_ = jsdoc_collapse_new (_tmp22_, self, _tmp23_);
+#line 576 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ ts = _tmp24_;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp25_ = self->config;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp26_ = _tmp25_->opt_skip_scope;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (!_tmp26_) {
+#line 3600 "Packer.c"
+ JSDOCScopeParser* sp = NULL;
+ JSDOCCollapse* _tmp27_;
+ const gchar* _tmp28_;
+ JSDOCScopeParser* _tmp29_;
+ JSDOCScopeParser* _tmp30_;
+ JSDOCScopeParser* _tmp31_;
+ JSDOCScopeParser* _tmp32_;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp27_ = ts;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp28_ = fn;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp29_ = jsdoc_scope_parser_new ((JSDOCTokenStream*) _tmp27_, self, _tmp28_);
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ sp = _tmp29_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp30_ = sp;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_scope_parser_buildSymbolTree (_tmp30_);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp31_ = sp;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_scope_parser_mungeSymboltree (_tmp31_);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp32_ = sp;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_scope_parser_printWarnings (_tmp32_);
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (sp);
+#line 3630 "Packer.c"
+ }
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp33_ = toks;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp34_ = _tmp33_->tokens;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp35_ = jsdoc_token_stream_new (_tmp34_);
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp36_ = _tmp35_;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp37_ = self->config;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp38_ = _tmp37_->opt_keep_whitespace;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp39_ = jsdoc_CompressWhite (_tmp36_, self, _tmp38_);
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp40_ = _tmp39_;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (_tmp36_);
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ outf = _tmp40_;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp43_ = outf;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp44_ = strlen (_tmp43_);
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp45_ = _tmp44_;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp45_ > 0) {
+#line 3660 "Packer.c"
+ const gchar* _tmp46_;
+ gint _tmp47_;
+ gint _tmp48_;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp46_ = minfile;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp47_ = strlen (_tmp46_);
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp48_ = _tmp47_;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp42_ = _tmp48_ > 0;
+#line 3672 "Packer.c"
+ } else {
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp42_ = FALSE;
+#line 3676 "Packer.c"
+ }
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp42_) {
+#line 3680 "Packer.c"
+ const gchar* _tmp49_;
+ gboolean _tmp50_;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp49_ = fn;
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp50_ = jsdoc_packer_hasErrors (self, _tmp49_);
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp41_ = !_tmp50_;
+#line 3689 "Packer.c"
+ } else {
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp41_ = FALSE;
+#line 3693 "Packer.c"
+ }
+#line 604 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (_tmp41_) {
+#line 3697 "Packer.c"
+ const gchar* _tmp51_;
+ const gchar* _tmp52_;
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp51_ = minfile;
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp52_ = outf;
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_file_set_contents (_tmp51_, _tmp52_, (gssize) -1, &_inner_error_);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (outf);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (ts);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (toks);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (tr);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_clear_error (&_inner_error_);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return NULL;
+#line 3722 "Packer.c"
+ }
+ }
+#line 610 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = outf;
+#line 610 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (ts);
+#line 610 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (toks);
+#line 610 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (tr);
+#line 610 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 3735 "Packer.c"
+}
+
+
+gchar* jsdoc_packer_md5 (JSDOCPacker* self, const gchar* str) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+#line 617 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 617 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_return_val_if_fail (str != NULL, NULL);
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = str;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp0_, (gsize) -1);
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ result = _tmp1_;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ return result;
+#line 3755 "Packer.c"
+}
+
+
+static void jsdoc_packer_class_init (JSDOCPackerClass * klass) {
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ jsdoc_packer_parent_class = g_type_class_peek_parent (klass);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCPackerPrivate));
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_packer_finalize;
+#line 3766 "Packer.c"
+}
+
+
+static void jsdoc_packer_instance_init (JSDOCPacker * self) {
+ gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv = JSDOC_PACKER_GET_PRIVATE (self);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp0_ = g_strdup ("");
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->target = _tmp0_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetStream = NULL;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp1_ = g_strdup ("");
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetDebug = _tmp1_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->priv->targetDebugStream = NULL;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp2_ = g_strdup ("");
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->activeFile = _tmp2_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _tmp3_ = g_strdup ("");
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self->outstr = _tmp3_;
+#line 3797 "Packer.c"
+}
+
+
+static void jsdoc_packer_finalize (GObject * obj) {
+ JSDOCPacker * self;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_PACKER, JSDOCPacker);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->priv->target);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->priv->targetStream);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->priv->targetDebug);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->priv->targetDebugStream);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->files);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->activeFile);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_free0 (self->outstr);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _g_object_unref0 (self->config);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ _json_object_unref0 (self->result);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Packer.vala"
+ G_OBJECT_CLASS (jsdoc_packer_parent_class)->finalize (obj);
+#line 3825 "Packer.c"
+}
+
+
+GType jsdoc_packer_get_type (void) {
+ static volatile gsize jsdoc_packer_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_packer_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCPackerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_packer_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCPacker), 0, (GInstanceInitFunc) jsdoc_packer_instance_init, NULL };
+ GType jsdoc_packer_type_id;
+ jsdoc_packer_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCPacker", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_packer_type_id__volatile, jsdoc_packer_type_id);
+ }
+ return jsdoc_packer_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+/**
+ * @namespace JSDOC
+ * @class Packer
+ * Create a new packer
+ *
+ * Use with pack.js
+ *
+ *
+ * Usage:
+ * <code>
+ *
+
+var x = new JSON.Packer(target, debugTarget);
+
+x.files = an array of files
+x.srcfiles = array of files (that list other files...) << not supported?
+x.target = "output.pathname.js"
+x.debugTarget = "output.pathname.debug.js"
+
+
+
+x.pack(); // writes files etc..
+
+ *</code>
+ *
+ * Notes for improving compacting:
+ * if you add a jsdoc comment
+ * <code>
+ * /**
+ * eval:var:avarname
+ * eval:var:bvarname
+ * ....
+ * </code>
+ * directly before an eval statement, it will compress all the code around the eval,
+ * and not rename the variables 'avarname'
+ *
+ * Dont try running this on a merged uncompressed large file - it's used to be horrifically slow. not sure about now..
+ * Best to use lot's of small classes, and use it to merge, as it will cache the compaction
+ *
+ *
+ *
+ * Notes for translation
+ * - translation relies on you using double quotes for strings if they need translating
+ * - single quoted strings are ignored.
+ *
+ * Generation of indexFiles
+ * - translateIndex = the indexfile
+ *
+ *
+ *
+ *
+
+ */
+namespace JSDOC
+{
+ public errordomain PackerError {
+ ArgumentError
+ }
+
+
+ public class Packer : Object
+ {
+ /**
+ * @cfg {String} target to write files to - must be full path.
+ */
+ string target = "";
+ GLib.FileOutputStream targetStream = null;
+ /**
+ * @cfg {String} debugTarget target to write files debug version to (uncompacted)- must be full path.
+ */
+ string targetDebug = "";
+
+
+ GLib.FileOutputStream targetDebugStream = null;
+ /**
+ * @cfg {String} tmpDir (optional) where to put the temporary files.
+ * if you set this, then files will not be cleaned up
+ *
+ * at present we need tmpfiles - as we compile multiple files into one.
+ * we could do this in memory now, as I suspect vala will not be as bad as javascript for leakage...
+ *
+ */
+ //public string tmpDir = "/tmp"; // FIXME??? in ctor?
+
+
+
+ // list of files to compile...
+ public Gee.ArrayList<string> files;
+
+ /**
+ * @cfg activeFile ??? used???
+ */
+
+ public string activeFile = "";
+
+ public string outstr = ""; // if no target is specified - then this will contain the result
+
+ public PackerRun config;
+
+ public Packer(PackerRun config)
+ {
+ this.config = config;
+#if HAVE_JSON_GLIB
+ this.result = new Json.Object();
+#else
+ this.result_count = new Gee.HashMap <string,int>();
+
+ this.result = new Gee.HashMap<
+ string /* errtype*/ , Gee.HashMap<string /*fn*/, Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>
+ >();
+
+#endif
+ this.files = new Gee.ArrayList<string>();
+
+ new Lang_Class(); ///initilizaze lang..
+
+ //this.tmp = Glib.get_tmp_dir(); // do we have to delete this?
+
+
+ }
+
+
+ // this could be another class really..
+
+ public enum ResultType {
+ err ,
+ warn;
+ public string to_string() {
+ switch(this) {
+ case err: return "ERR";
+ case warn: return "WARN";
+ default: assert_not_reached();
+ }
+
+ }
+ }
+ /**
+ * result of complication - a JSON object containing warnings / errors etc..
+ * FORMAT:
+ * warn-TOTAL : X (number of warnings.
+ * err-TOTAL: X (number of errors) << this indicates failure...
+ * warn : {
+ * FILENAME : {
+ * line : [ Errors,Errors,.... ]
+ * err : {
+ * .. sane format..
+ *
+ */
+
+#if HAVE_JSON_GLIB
+
+ public Json.Object result; // output - what's the complication result
+
+ public void logError(ResultType type, string filename, int line, string message) {
+
+ if (!this.result.has_member(type.to_string()+"-TOTAL")) {
+ this.result.set_int_member(type.to_string()+"-TOTAL", 1);
+ } else {
+ this.result.set_int_member(type.to_string()+"-TOTAL",
+ this.result.get_int_member(type.to_string()+"-TOTAL") +1
+ );
+ }
+
+
+ if (!this.result.has_member(type.to_string())) {
+ this.result.set_object_member(type.to_string(), new Json.Object());
+ }
+ var t = this.result.get_object_member(type.to_string());
+ if (!t.has_member(filename)) {
+ t.set_object_member(filename, new Json.Object());
+ }
+ var tt = t.get_object_member(filename);
+ if (!tt.has_member(line.to_string())) {
+ tt.set_array_member(line.to_string(), new Json.Array());
+ }
+ var tl = tt.get_array_member(line.to_string());
+ tl.add_string_element(message);
+
+ }
+
+ public bool hasErrors(string fn)
+ {
+ if (!this.result.has_member(ResultType.err.to_string())) {
+ return false;
+ }
+
+ if (fn.length < 1) {
+ return true;
+ }
+ var t = this.result.get_object_member(ResultType.err.to_string());
+
+ if (t.has_member(fn)) {
+ return true;
+ }
+ return false;
+ }
+ public void dumpErrors(ResultType type)
+ {
+ if (!this.result.has_member(type.to_string())) {
+ return;
+ }
+ var t = this.result.get_object_member(type.to_string());
+ t.foreach_member((obj, filename, node) => {
+ var linelist = node.dup_object();
+ linelist.foreach_member((linelistobj, linestr, nodear) => {
+ var errors= nodear.dup_array();
+ errors.foreach_element((errorar, ignore, nodestr) => {
+ print("%s: %s:%s %s\n", type.to_string(), filename, linestr, nodestr.get_string());
+ });
+ });
+
+ });
+ }
+#else
+ public Gee.HashMap <string,int> result_count; // output - what's the complication result
+
+ public Gee.HashMap<
+ string /* errtype*/ , Gee.HashMap<string /*fn*/, Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>
+ > result;
+
+ public void logError(ResultType type, string filename, int line, string message) {
+
+
+ if (!this.result_count.has_key(type.to_string()+"-TOTAL")) {
+ this.result_count.set(type.to_string()+"-TOTAL", 1);
+ } else {
+ this.result_count.set(type.to_string()+"-TOTAL",
+ this.result_count.get(type.to_string()+"-TOTAL") +1
+ );
+ }
+
+
+
+ if (!this.result.has_key(type.to_string())) {
+ this.result.set(type.to_string(),
+ new Gee.HashMap<string /*fn*/, Gee.HashMap<int /*line*/, Gee.ArrayList<string>>>()
+ );
+ }
+ var t = this.result.get(type.to_string());
+ if (!t.has_key(filename)) {
+ t.set(filename, new Gee.HashMap<int /*line*/, Gee.ArrayList<string>>());
+ }
+ var tt = t.get(filename);
+ if (!tt.has_key(line)) {
+ tt.set(line, new Gee.ArrayList<string>());
+ }
+ var tl = tt.get(line);
+ tl.add(message);
+
+ }
+
+ public bool hasErrors(string fn)
+ {
+ if (!this.result.has_key(ResultType.err.to_string())) {
+ return false;
+ }
+
+ if (fn.length < 1) {
+ return true;
+ }
+ var t = this.result.get(ResultType.err.to_string());
+
+ if (t.has_key(fn)) {
+ return true;
+ }
+ return false;
+ }
+ public void dumpErrors(ResultType type)
+ {
+ if (!this.result.has_key(type.to_string())) {
+ return;
+ }
+ var t = this.result.get(type.to_string());
+ foreach(string filename in t.keys) {
+ var node = t.get(filename);
+ foreach(int line in node.keys) {
+ var errors = node.get(line);
+ foreach(string errstr in errors) {
+ print("%s: %s:%d %s\n", type.to_string(), filename, line, errstr);
+ }
+ }
+
+ }
+ }
+
+
+#endif
+
+
+
+ public void loadSourceIndexes(Gee.ArrayList<string> indexes)
+ {
+ foreach(var f in indexes) {
+ this.loadSourceIndex(f);
+ }
+ }
+
+ public void loadFiles(string[] fs)
+ {
+ // fixme -- prefix baseDir?
+ foreach(var f in fs) {
+ GLib.debug("add File: %s", f);
+ this.files.add(f); //?? easier way?
+ }
+ }
+ public void loadFile(string f)
+ {
+ // fixme -- prefix baseDir?
+ GLib.debug("add File: %s", f);
+ this.files.add(f);
+ GLib.debug("FILE LEN: %d", this.files.size);
+ }
+
+
+ public string pack(string target, string targetDebug = "") throws PackerError
+ {
+ this.target = target;
+ this.targetDebug = targetDebug;
+
+ if (this.files.size < 1) {
+ throw new PackerError.ArgumentError("No Files loaded before pack() called");
+ }
+ if (this.target.length > 0 ) {
+ this.targetStream = File.new_for_path(this.target).replace(null, false,FileCreateFlags.NONE);
+ }
+ if (this.targetDebug.length > 0 ) {
+ this.targetDebugStream = File.new_for_path(this.targetDebug).replace(null, false,FileCreateFlags.NONE);
+ }
+ return this.packAll();
+ }
+
+
+
+
+
+ /**
+ * load a dependancy list -f option
+ * @param {String} srcfile sourcefile to parse
+ *
+ */
+
+ public void loadSourceIndex(string in_srcfile)
+ {
+
+ var srcfile = in_srcfile;
+ if (srcfile[0] != '/') {
+ srcfile = config.opt_real_basedir + in_srcfile;
+ }
+ string str;
+ FileUtils.get_contents(srcfile,out str);
+
+ var lines = str.split("\n");
+ for(var i =0; i < lines.length;i++) {
+
+ var f = lines[i].strip();
+ if (f.length < 1 ||
+ Regex.match_simple ("^/", f) ||
+ !Regex.match_simple ("[a-zA-Z]+", f)
+ ){
+ continue; // blank comment or not starting with a-z
+ }
+
+ if (Regex.match_simple ("\\.js$", f)) {
+ this.files.add( f);
+ // js file..
+ continue;
+ }
+
+ // this maps Roo.bootstrap.XXX to Roo/bootstrap/xxx.js
+ // should we prefix? =- or should this be done elsewhere?
+
+ var add = f.replace(".", "/") + ".js";
+
+ if (add[0] != '/') {
+ add = config.opt_real_basedir + add;
+ }
+
+ if (this.files.contains(add)) {
+ continue;
+ }
+
+
+
+ this.files.add( add );
+
+ }
+ }
+
+
+ private string packAll() // do the packing (run from constructor)
+ {
+
+ //this.transOrigFile= bpath + '/../lang.en.js'; // needs better naming...
+ //File.write(this.transfile, "");
+ if (this.target.length > 0) {
+ this.targetStream.write("".data);
+ }
+
+ if (this.targetDebugStream != null) {
+ this.targetDebugStream.write("".data);
+ }
+
+
+ var tmpDir = GLib.DirUtils.make_tmp("roojspacker_XXXXXX");
+
+ foreach(var file in this.files) {
+
+ print("reading %s\n",file );
+
+ if (!FileUtils.test (file, FileTest.EXISTS) || FileUtils.test (file, FileTest.IS_DIR)) {
+ print("SKIP (is not a file) %s\n ", file);
+ continue;
+ }
+
+ var loaded_string = false;
+ string file_contents = "";
+ // debug Target
+
+ if (this.targetDebugStream !=null) {
+
+ FileUtils.get_contents(file,out file_contents);
+ this.targetDebugStream.write(file_contents.data);
+ loaded_string = false;
+ }
+ // it's a good idea to check with 0 compression to see if the code can parse!!
+
+ // debug file..
+ //File.append(dout, str +"\n");
+
+
+
+ var minfile = tmpDir + "/" + file.replace("/", ".");
+
+
+ // let's see if we have a min file already?
+ // this might happen if tmpDir is set ..
+
+
+ if ( FileUtils.test (minfile, FileTest.EXISTS)) {
+
+ var otv = File.new_for_path(file).query_info (FileAttribute.TIME_MODIFIED, 0).get_modification_time();
+ var mtv = File.new_for_path(minfile).query_info (FileAttribute.TIME_MODIFIED, 0).get_modification_time();
+
+
+ // print("%s : compare : Cache file %s to Orignal Time %s\n", file, mtv.to_iso8601(), otv.to_iso8601());
+ if (mtv.tv_usec > otv.tv_usec) {
+ continue; // file is newer or the same time..
+
+ }
+
+ }
+
+ print("COMPRESSING to %s\n", minfile);
+ //var codeComp = pack(str, 10, 0, 0);
+ if (config.opt_clean_cache && FileUtils.test (minfile, FileTest.EXISTS)) {
+ FileUtils.remove(minfile);
+ }
+ if (!loaded_string) {
+ FileUtils.get_contents(file,out file_contents);
+ }
+
+ this.packFile(file_contents, file, minfile);
+
+
+ }
+
+ // at this point if we have errors, we should stop..
+
+
+ this.dumpErrors(ResultType.warn);
+ this.dumpErrors(ResultType.err); // since they are fatal - display them last...
+
+
+
+
+ if (config.opt_dump_tokens || this.hasErrors("")) {
+
+ GLib.Process.exit(0);
+ }
+ print("MERGING SOURCE\n");
+
+ for(var i=0; i < this.files.size; i++) {
+ var file = this.files[i];
+ var minfile = tmpDir + "/" + file.replace("/", ".");
+
+
+ if ( !FileUtils.test(minfile, FileTest.EXISTS)) {
+ print("skipping source %s - does not exist\n", minfile);
+ continue;
+ }
+ string str;
+ FileUtils.get_contents(minfile, out str);
+ print("using MIN FILE %s\n", minfile);
+ if (str.length > 0) {
+ if (this.targetStream != null) {
+ this.targetStream.write(("// " +
+ ( (file.length > config.opt_real_basedir.length) ? file.substring(config.opt_real_basedir.length) : file ) +
+ "\n").data);
+
+ this.targetStream.write((str + "\n").data);
+
+ } else {
+ this.outstr += "//" +
+ ( (file.length > config.opt_real_basedir.length) ? file.substring(config.opt_real_basedir.length) : file ) + "\n";
+ this.outstr += "//" + file +"\n";
+
+ this.outstr += str + "\n";
+ }
+
+ }
+ if (config.opt_clean_cache) {
+ FileUtils.remove(minfile);
+ }
+
+ }
+ if (config.opt_clean_cache) {
+ FileUtils.remove(tmpDir);
+ }
+
+ if (this.target.length > 0 ) {
+ print("Output file: " + this.target);
+ }
+ if (this.targetDebug.length > 0) {
+ print("Output debug file: %s\n" , this.targetDebug);
+ }
+
+
+
+ // OUTPUT should be handled by PackerRun (so that this can be used as a library...)
+ if (this.outstr.length > 0 ) {
+ return this.outstr;
+ // stdout.printf ("%s", this.outstr);
+ }
+ return "";
+
+
+ }
+ /**
+ * Core packing routine for a file
+ *
+ * @param str - str source text..
+ * @param fn - filename (for reference?)
+ * @param minfile - min file location...
+ *
+ */
+
+ public string packFile (string str,string fn, string minfile)
+ {
+
+ var tr = new TokenReader(this);
+ tr.keepDocs =true;
+ tr.keepWhite = true;
+ tr.keepComments = true;
+ tr.sepIdents = true;
+ tr.collapseWhite = false;
+ tr.filename = fn;
+
+ // we can load translation map here...
+
+ TokenArray toks = tr.tokenize(new TextStream(str)); // dont merge xxx + . + yyyy etc.
+
+ if (config.opt_dump_tokens) {
+ toks.dump();
+ return "";
+ //GLib.Process.exit(0);
+ }
+
+ this.activeFile = fn;
+
+ // and replace if we are generating a different language..
+
+
+ //var ts = new TokenStream(toks);
+ //print(JSON.stringify(toks, null,4 )); Seed.quit();
+ var ts = new Collapse(toks.tokens, this, fn);
+
+ //ts.dumpAll(""); print("Done collaps"); Process.exit(1);
+
+ // print(JSON.stringify(ts.tokens, null,4 )); Seed.quit();
+ //return;//
+ if (!config.opt_skip_scope) {
+ var sp = new ScopeParser(ts, this, fn);
+
+ //sp.packer = this;
+ sp.buildSymbolTree();
+ sp.mungeSymboltree();
+
+
+ sp.printWarnings();
+ }
+
+
+ //print(sp.warnings.join("\n"));
+ //(new TokenStream(toks.tokens)).dumpAll(""); GLib.Process.exit(1);
+ // compress works on the original array - in theory the replacements have already been done by now
+ var outf = CompressWhite(new TokenStream(toks.tokens), this, config.opt_keep_whitespace); // do not kill whitespace..
+
+
+ // debug("RESULT: \n %s\n", outf);
+
+
+
+ if (outf.length > 0 && minfile.length > 0 && !this.hasErrors(fn)) {
+ FileUtils.set_contents(minfile, outf);
+
+ }
+
+
+ return outf;
+
+
+
+ }
+
+
+ public string md5(string str)
+ {
+
+ return GLib.Checksum.compute_for_string(GLib.ChecksumType.MD5, str);
+
+ }
+
+ //stringHandler : function(tok) -- not used...
+ }
+
+}
--- /dev/null
+/* PackerRun.c generated by valac 0.36.6, the Vala compiler
+ * generated from PackerRun.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gio/gio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+#include <gee.h>
+#include <json-glib/json-glib.h>
+
+
+#define JSDOC_TYPE_PACKER_RUN (jsdoc_packer_run_get_type ())
+#define JSDOC_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun))
+#define JSDOC_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+#define JSDOC_IS_PACKER_RUN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_IS_PACKER_RUN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER_RUN))
+#define JSDOC_PACKER_RUN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunClass))
+
+typedef struct _JSDOCPackerRun JSDOCPackerRun;
+typedef struct _JSDOCPackerRunClass JSDOCPackerRunClass;
+typedef struct _JSDOCPackerRunPrivate JSDOCPackerRunPrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_option_context_free0(var) ((var == NULL) ? NULL : (var = (g_option_context_free (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+typedef struct _JSDOCPackerPrivate JSDOCPackerPrivate;
+
+#define JSDOC_TYPE_DOC_BUILDER (jsdoc_doc_builder_get_type ())
+#define JSDOC_DOC_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilder))
+#define JSDOC_DOC_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilderClass))
+#define JSDOC_IS_DOC_BUILDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_BUILDER))
+#define JSDOC_IS_DOC_BUILDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_BUILDER))
+#define JSDOC_DOC_BUILDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_BUILDER, JSDOCDocBuilderClass))
+
+typedef struct _JSDOCDocBuilder JSDOCDocBuilder;
+typedef struct _JSDOCDocBuilderClass JSDOCDocBuilderClass;
+
+struct _JSDOCPackerRun {
+ GApplication parent_instance;
+ JSDOCPackerRunPrivate * priv;
+ gchar* opt_target;
+ gchar* opt_debug_target;
+ gchar* opt_real_basedir;
+ gchar* opt_doc_target;
+ gchar* opt_doc_template_dir;
+ gboolean opt_doc_include_private;
+ gboolean opt_debug;
+ gboolean opt_skip_scope;
+ gboolean opt_keep_whitespace;
+ gboolean opt_dump_tokens;
+ gboolean opt_clean_cache;
+ gchar* opt_doc_ext;
+};
+
+struct _JSDOCPackerRunClass {
+ GApplicationClass parent_class;
+};
+
+struct _JSDOCPackerRunPrivate {
+ gchar* opt_basedir;
+ gchar** opt_files;
+ gchar** opt_files_from;
+};
+
+typedef enum {
+ JSDOC_PACKER_ERROR_ArgumentError
+} JSDOCPackerError;
+#define JSDOC_PACKER_ERROR jsdoc_packer_error_quark ()
+struct _JSDOCPacker {
+ GObject parent_instance;
+ JSDOCPackerPrivate * priv;
+ GeeArrayList* files;
+ gchar* activeFile;
+ gchar* outstr;
+ JSDOCPackerRun* config;
+ JsonObject* result;
+};
+
+struct _JSDOCPackerClass {
+ GObjectClass parent_class;
+};
+
+
+extern JSDOCPackerRun* _PackerRun;
+JSDOCPackerRun* _PackerRun = NULL;
+static gpointer jsdoc_packer_run_parent_class = NULL;
+
+GType jsdoc_packer_run_get_type (void) G_GNUC_CONST;
+#define JSDOC_PACKER_RUN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_PACKER_RUN, JSDOCPackerRunPrivate))
+enum {
+ JSDOC_PACKER_RUN_DUMMY_PROPERTY
+};
+JSDOCPackerRun* jsdoc_packer_run_singleton (void);
+JSDOCPackerRun* jsdoc_packer_run_new (void);
+JSDOCPackerRun* jsdoc_packer_run_construct (GType object_type);
+void jsdoc_packer_run_parseArgs (JSDOCPackerRun* self, gchar** args, int args_length1);
+void jsdoc_packer_run_runPack (JSDOCPackerRun* self);
+static void ___lambda4_ (JSDOCPackerRun* self, const gchar* dom, GLogLevelFlags lvl, const gchar* msg);
+static void ____lambda4__glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self);
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+JSDOCPacker* jsdoc_packer_new (JSDOCPackerRun* config);
+JSDOCPacker* jsdoc_packer_construct (GType object_type, JSDOCPackerRun* config);
+void jsdoc_packer_loadFile (JSDOCPacker* self, const gchar* f);
+void jsdoc_packer_loadSourceIndex (JSDOCPacker* self, const gchar* in_srcfile);
+GQuark jsdoc_packer_error_quark (void);
+gchar* jsdoc_packer_pack (JSDOCPacker* self, const gchar* target, const gchar* targetDebug, GError** error);
+GType jsdoc_doc_builder_get_type (void) G_GNUC_CONST;
+JSDOCDocBuilder* jsdoc_doc_builder_new (JSDOCPacker* p);
+JSDOCDocBuilder* jsdoc_doc_builder_construct (GType object_type, JSDOCPacker* p);
+static void jsdoc_packer_run_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 133 "PackerRun.c"
+}
+
+
+JSDOCPackerRun* jsdoc_packer_run_singleton (void) {
+ JSDOCPackerRun* result = NULL;
+ JSDOCPackerRun* _tmp0_;
+ JSDOCPackerRun* _tmp2_;
+ JSDOCPackerRun* _tmp3_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_ = _PackerRun;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp0_ == NULL) {
+#line 146 "PackerRun.c"
+ JSDOCPackerRun* _tmp1_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_ = jsdoc_packer_run_new ();
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (_PackerRun);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _PackerRun = _tmp1_;
+#line 154 "PackerRun.c"
+ }
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_ = _PackerRun;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ result = _tmp3_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return result;
+#line 164 "PackerRun.c"
+}
+
+
+JSDOCPackerRun* jsdoc_packer_run_construct (GType object_type) {
+ JSDOCPackerRun * self = NULL;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self = (JSDOCPackerRun*) g_object_new (object_type, "application-id", "org.roojs.jsdoc.packerrun", "flags", G_APPLICATION_HANDLES_COMMAND_LINE, NULL);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return self;
+#line 174 "PackerRun.c"
+}
+
+
+JSDOCPackerRun* jsdoc_packer_run_new (void) {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return jsdoc_packer_run_construct (JSDOC_TYPE_PACKER_RUN);
+#line 181 "PackerRun.c"
+}
+
+
+void jsdoc_packer_run_parseArgs (JSDOCPackerRun* self, gchar** args, int args_length1) {
+ GOptionEntry* options = NULL;
+ GOptionEntry _tmp0_ = {0};
+ GOptionEntry _tmp1_ = {0};
+ GOptionEntry _tmp2_ = {0};
+ GOptionEntry _tmp3_ = {0};
+ GOptionEntry _tmp4_ = {0};
+ GOptionEntry _tmp5_ = {0};
+ GOptionEntry _tmp6_ = {0};
+ GOptionEntry _tmp7_ = {0};
+ GOptionEntry _tmp8_ = {0};
+ GOptionEntry _tmp9_ = {0};
+ GOptionEntry _tmp10_ = {0};
+ GOptionEntry _tmp11_ = {0};
+ GOptionEntry _tmp12_ = {0};
+ GOptionEntry* _tmp13_;
+ gint options_length1;
+ gint _options_size_;
+ GOptionContext* opt_context = NULL;
+ GOptionContext* _tmp14_;
+ GError * _inner_error_ = NULL;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_return_if_fail (self != NULL);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp0_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.long_name = "jsfile";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.short_name = 'f';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.arg = G_OPTION_ARG_FILENAME_ARRAY;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.arg_data = &self->priv->opt_files;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.description = "add a file to compile";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp1_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.long_name = "target";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.short_name = 't';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.arg = G_OPTION_ARG_STRING;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.arg_data = &self->opt_target;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.description = "Target File to write (eg. roojs.js)";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp2_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.long_name = "debug-target";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.short_name = 'T';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.arg = G_OPTION_ARG_STRING;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.arg_data = &self->opt_debug_target;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.description = "Target File to write debug code (eg. roojs-debug.js)";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp3_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.long_name = "basedir";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.short_name = 'b';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.arg = G_OPTION_ARG_STRING;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.arg_data = &self->priv->opt_basedir;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.description = "Base directory (where the files listed in index files are located.)";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp4_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.long_name = "index-files";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.short_name = 'i';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.arg = G_OPTION_ARG_FILENAME_ARRAY;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.arg_data = &self->priv->opt_files_from;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.description = "files that contain listing of files to compile";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp5_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.long_name = "keep-whitespace";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.short_name = 'w';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.arg_data = &self->opt_keep_whitespace;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.description = "Keep whitespace";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp6_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.long_name = "skip-scope";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.short_name = 's';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.arg_data = &self->opt_skip_scope;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.description = "Skip scope parsing and variable replacement";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp7_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.long_name = "debug";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.short_name = 'D';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.arg_data = &self->opt_debug;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.description = "Show debug messages";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp8_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.long_name = "dump-tokens";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.short_name = 'k';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.arg_data = &self->opt_dump_tokens;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.description = "Dump the tokens from a file";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp9_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.long_name = "clean-cache";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.short_name = 'c';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.arg_data = &self->opt_clean_cache;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.description = "Clean up the cache after running (slower)";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp10_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.long_name = "doc-target";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.short_name = 'd';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.arg = G_OPTION_ARG_STRING;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.arg_data = &self->opt_doc_target;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.description = "Target location for documetnation";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp11_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.long_name = "doc-template-dir";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.short_name = 'p';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.arg = G_OPTION_ARG_STRING;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.arg_data = &self->opt_doc_template_dir;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.description = "Template directory for documentation";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ memset (&_tmp12_, 0, sizeof (GOptionEntry));
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.long_name = "doc-private";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.short_name = 'P';
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.flags = 0;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.arg = G_OPTION_ARG_NONE;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.arg_data = &self->opt_doc_include_private;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.description = "Document Private functions";
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_.arg_description = NULL;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_ = g_new0 (GOptionEntry, 13);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[0] = _tmp0_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[1] = _tmp1_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[2] = _tmp2_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[3] = _tmp3_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[4] = _tmp4_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[5] = _tmp5_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[6] = _tmp6_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[7] = _tmp7_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[8] = _tmp8_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[9] = _tmp9_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[10] = _tmp10_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[11] = _tmp11_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_[12] = _tmp12_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ options = _tmp13_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ options_length1 = 13;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _options_size_ = options_length1;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp14_ = g_option_context_new ("JSDOC Packer");
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ opt_context = _tmp14_;
+#line 454 "PackerRun.c"
+ {
+ gboolean _tmp15_ = FALSE;
+ gboolean _tmp16_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_option_context_set_help_enabled (opt_context, TRUE);
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_option_context_add_main_entries (opt_context, options, NULL);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp16_ = g_option_context_parse (opt_context, &args_length1, &args, &_inner_error_);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp15_ = _tmp16_;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_inner_error_->domain == G_OPTION_ERROR) {
+#line 470 "PackerRun.c"
+ goto __catch3_g_option_error;
+ }
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_option_context_free0 (opt_context);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ options = (g_free (options), NULL);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_clear_error (&_inner_error_);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return;
+#line 483 "PackerRun.c"
+ }
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (!_tmp15_) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_print ("options parse error");
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ exit (EXIT_FAILURE);
+#line 491 "PackerRun.c"
+ }
+ }
+ goto __finally3;
+ __catch3_g_option_error:
+ {
+ GError* e = NULL;
+ FILE* _tmp17_;
+ const gchar* _tmp18_;
+ FILE* _tmp19_;
+ gchar** _tmp20_;
+ gint _tmp20__length1;
+ const gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ e = _inner_error_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _inner_error_ = NULL;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp17_ = stdout;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp18_ = e->message;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ fprintf (_tmp17_, "error: %s\n", _tmp18_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp19_ = stdout;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp20_ = args;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp20__length1 = args_length1;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp21_ = _tmp20_[0];
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp22_ = g_option_context_get_help (opt_context, TRUE, NULL);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp23_ = _tmp22_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ fprintf (_tmp19_, "Run '%s --help' to see a full list of available command line options.\n" \
+" %s", _tmp21_, _tmp23_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp23_);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ exit (EXIT_FAILURE);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_error_free0 (e);
+#line 536 "PackerRun.c"
+ }
+ __finally3:
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_option_context_free0 (opt_context);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ options = (g_free (options), NULL);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_clear_error (&_inner_error_);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return;
+#line 551 "PackerRun.c"
+ }
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_option_context_free0 (opt_context);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ options = (g_free (options), NULL);
+#line 557 "PackerRun.c"
+}
+
+
+static void ___lambda4_ (JSDOCPackerRun* self, const gchar* dom, GLogLevelFlags lvl, const gchar* msg) {
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_return_if_fail (msg != NULL);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_ = dom;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_ = msg;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_print ("%s: %s\n", _tmp0_, _tmp1_);
+#line 572 "PackerRun.c"
+}
+
+
+static void ____lambda4__glog_func (const gchar* log_domain, GLogLevelFlags log_levels, const gchar* message, gpointer self) {
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ ___lambda4_ ((JSDOCPackerRun*) self, log_domain, log_levels, message);
+#line 579 "PackerRun.c"
+}
+
+
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 597 "PackerRun.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 620 "PackerRun.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 628 "PackerRun.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 640 "PackerRun.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 664 "PackerRun.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 670 "PackerRun.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 674 "PackerRun.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 678 "PackerRun.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 690 "PackerRun.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 700 "PackerRun.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 706 "PackerRun.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 720 "PackerRun.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 730 "PackerRun.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 736 "PackerRun.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 745 "PackerRun.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 765 "PackerRun.c"
+}
+
+
+void jsdoc_packer_run_runPack (JSDOCPackerRun* self) {
+ gboolean _tmp0_;
+ gchar* curdir = NULL;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ const gchar* _tmp5_;
+ const gchar* _tmp15_;
+ const gchar* _tmp16_;
+ gint _tmp17_;
+ gint _tmp18_;
+ gchar _tmp19_;
+ gchar* _tmp20_;
+ gchar* _tmp21_;
+ gboolean _tmp22_;
+ const gchar* _tmp25_;
+ const gchar* _tmp26_;
+ gboolean _tmp27_ = FALSE;
+ gchar** _tmp28_;
+ gint _tmp28__length1;
+ JSDOCPacker* p = NULL;
+ JSDOCPacker* _tmp30_;
+ gchar** _tmp31_;
+ gint _tmp31__length1;
+ gchar** _tmp37_;
+ gint _tmp37__length1;
+ gboolean run_pack = FALSE;
+ gboolean _tmp43_ = FALSE;
+ gboolean _tmp44_ = FALSE;
+ const gchar* _tmp45_;
+ const gchar* _tmp64_;
+ GError * _inner_error_ = NULL;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_return_if_fail (self != NULL);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_ = self->opt_debug;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp0_) {
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG | G_LOG_LEVEL_WARNING, ____lambda4__glog_func, self);
+#line 810 "PackerRun.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp1_ = g_get_current_dir ();
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp2_ = _tmp1_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp3_ = g_strconcat (_tmp2_, G_DIR_SEPARATOR_S, NULL);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp4_ = _tmp3_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp2_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ curdir = _tmp4_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp5_ = self->priv->opt_basedir;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp5_ == NULL) {
+#line 828 "PackerRun.c"
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp6_ = curdir;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp7_ = g_strdup (_tmp6_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_real_basedir);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_real_basedir = _tmp7_;
+#line 839 "PackerRun.c"
+ } else {
+ const gchar* _tmp8_;
+ gchar _tmp9_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp8_ = self->priv->opt_basedir;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp9_ = string_get (_tmp8_, (glong) 0);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp9_ == '/') {
+#line 849 "PackerRun.c"
+ const gchar* _tmp10_;
+ gchar* _tmp11_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp10_ = self->priv->opt_basedir;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp11_ = g_strdup (_tmp10_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_real_basedir);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_real_basedir = _tmp11_;
+#line 860 "PackerRun.c"
+ } else {
+ const gchar* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp12_ = curdir;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp13_ = self->priv->opt_basedir;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp14_ = g_strconcat (_tmp12_, _tmp13_, NULL);
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_real_basedir);
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_real_basedir = _tmp14_;
+#line 875 "PackerRun.c"
+ }
+ }
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp15_ = self->opt_real_basedir;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp16_ = self->opt_real_basedir;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp17_ = strlen (_tmp16_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp18_ = _tmp17_;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp19_ = string_get (_tmp15_, (glong) (_tmp18_ - 1));
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp20_ = g_strdup_printf ("%c", _tmp19_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp21_ = _tmp20_;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp22_ = g_strcmp0 (_tmp21_, G_DIR_SEPARATOR_S) != 0;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp21_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp22_) {
+#line 898 "PackerRun.c"
+ const gchar* _tmp23_;
+ gchar* _tmp24_;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp23_ = self->opt_real_basedir;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp24_ = g_strconcat (_tmp23_, G_DIR_SEPARATOR_S, NULL);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_real_basedir);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_real_basedir = _tmp24_;
+#line 909 "PackerRun.c"
+ }
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp25_ = self->opt_real_basedir;
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp26_ = self->priv->opt_basedir;
+#line 316 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_debug ("PackerRun.vala:316: real_base_dir = '%s' : opt_basedir ='%s'\n", _tmp25_, _tmp26_);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp28_ = self->priv->opt_files;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp28__length1 = _vala_array_length (self->priv->opt_files);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp28_ == NULL) {
+#line 923 "PackerRun.c"
+ gchar** _tmp29_;
+ gint _tmp29__length1;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp29_ = self->priv->opt_files_from;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp29__length1 = _vala_array_length (self->priv->opt_files_from);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp27_ = _tmp29_ == NULL;
+#line 932 "PackerRun.c"
+ } else {
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp27_ = FALSE;
+#line 936 "PackerRun.c"
+ }
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp27_) {
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_error ("PackerRun.vala:320: You must list some files with -f or -i to compile " \
+"- see --help for more details");
+#line 321 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ exit (1);
+#line 944 "PackerRun.c"
+ }
+#line 326 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp30_ = jsdoc_packer_new (self);
+#line 326 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ p = _tmp30_;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp31_ = self->priv->opt_files;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp31__length1 = _vala_array_length (self->priv->opt_files);
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp31_ != NULL) {
+#line 956 "PackerRun.c"
+ gchar** _tmp32_;
+ gint _tmp32__length1;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp32_ = self->priv->opt_files;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp32__length1 = _vala_array_length (self->priv->opt_files);
+#line 963 "PackerRun.c"
+ {
+ gchar** f_collection = NULL;
+ gint f_collection_length1 = 0;
+ gint _f_collection_size_ = 0;
+ gint f_it = 0;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f_collection = _tmp32_;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f_collection_length1 = _tmp32__length1;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ for (f_it = 0; f_it < _tmp32__length1; f_it = f_it + 1) {
+#line 975 "PackerRun.c"
+ gchar* _tmp33_;
+ gchar* f = NULL;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp33_ = g_strdup (f_collection[f_it]);
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f = _tmp33_;
+#line 982 "PackerRun.c"
+ {
+ const gchar* _tmp34_;
+ JSDOCPacker* _tmp35_;
+ const gchar* _tmp36_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp34_ = f;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_debug ("PackerRun.vala:332: Adding File %s", _tmp34_);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp35_ = p;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp36_ = f;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ jsdoc_packer_loadFile (_tmp35_, _tmp36_);
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (f);
+#line 999 "PackerRun.c"
+ }
+ }
+ }
+ }
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp37_ = self->priv->opt_files_from;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp37__length1 = _vala_array_length (self->priv->opt_files_from);
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp37_ != NULL) {
+#line 1010 "PackerRun.c"
+ gchar** _tmp38_;
+ gint _tmp38__length1;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp38_ = self->priv->opt_files_from;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp38__length1 = _vala_array_length (self->priv->opt_files_from);
+#line 1017 "PackerRun.c"
+ {
+ gchar** f_collection = NULL;
+ gint f_collection_length1 = 0;
+ gint _f_collection_size_ = 0;
+ gint f_it = 0;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f_collection = _tmp38_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f_collection_length1 = _tmp38__length1;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ for (f_it = 0; f_it < _tmp38__length1; f_it = f_it + 1) {
+#line 1029 "PackerRun.c"
+ gchar* _tmp39_;
+ gchar* f = NULL;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp39_ = g_strdup (f_collection[f_it]);
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ f = _tmp39_;
+#line 1036 "PackerRun.c"
+ {
+ const gchar* _tmp40_;
+ JSDOCPacker* _tmp41_;
+ const gchar* _tmp42_;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp40_ = f;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_debug ("PackerRun.vala:339: Adding File %s", _tmp40_);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp41_ = p;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp42_ = f;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ jsdoc_packer_loadSourceIndex (_tmp41_, _tmp42_);
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (f);
+#line 1053 "PackerRun.c"
+ }
+ }
+ }
+ }
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ run_pack = FALSE;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp45_ = self->opt_target;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp45_ != NULL) {
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp44_ = TRUE;
+#line 1066 "PackerRun.c"
+ } else {
+ const gchar* _tmp46_;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp46_ = self->opt_debug_target;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp44_ = _tmp46_ != NULL;
+#line 1073 "PackerRun.c"
+ }
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp44_) {
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp43_ = TRUE;
+#line 1079 "PackerRun.c"
+ } else {
+ gboolean _tmp47_;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp47_ = self->opt_dump_tokens;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp43_ = _tmp47_;
+#line 1086 "PackerRun.c"
+ }
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp43_) {
+#line 1090 "PackerRun.c"
+ const gchar* _tmp48_ = NULL;
+ const gchar* _tmp49_;
+ const gchar* _tmp51_ = NULL;
+ const gchar* _tmp52_;
+ JSDOCPacker* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+ JSDOCPacker* _tmp57_;
+ const gchar* _tmp58_;
+ gint _tmp59_;
+ gint _tmp60_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp49_ = self->opt_target;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp49_ == NULL) {
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp48_ = "";
+#line 1108 "PackerRun.c"
+ } else {
+ const gchar* _tmp50_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp50_ = self->opt_target;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp48_ = _tmp50_;
+#line 1115 "PackerRun.c"
+ }
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp52_ = self->opt_debug_target;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp52_ == NULL) {
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp51_ = "";
+#line 1123 "PackerRun.c"
+ } else {
+ const gchar* _tmp53_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp53_ = self->opt_debug_target;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp51_ = _tmp53_;
+#line 1130 "PackerRun.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp54_ = p;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp55_ = jsdoc_packer_pack (_tmp54_, _tmp48_, _tmp51_, &_inner_error_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp56_ = _tmp55_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp56_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (p);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (curdir);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_clear_error (&_inner_error_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return;
+#line 1152 "PackerRun.c"
+ }
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp57_ = p;
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp58_ = _tmp57_->outstr;
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp59_ = strlen (_tmp58_);
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp60_ = _tmp59_;
+#line 350 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp60_ > 0) {
+#line 1164 "PackerRun.c"
+ FILE* _tmp61_;
+ JSDOCPacker* _tmp62_;
+ const gchar* _tmp63_;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp61_ = stdout;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp62_ = p;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp63_ = _tmp62_->outstr;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ fprintf (_tmp61_, "%s", _tmp63_);
+#line 1176 "PackerRun.c"
+ }
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (p);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (curdir);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return;
+#line 1184 "PackerRun.c"
+ }
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp64_ = self->opt_doc_target;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp64_ != NULL) {
+#line 1190 "PackerRun.c"
+ gchar* _tmp65_ = NULL;
+ const gchar* _tmp66_;
+ gboolean _tmp67_;
+ gchar* _tmp75_;
+ JSDOCDocBuilder* d = NULL;
+ JSDOCPacker* _tmp76_;
+ JSDOCDocBuilder* _tmp77_;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp66_ = self->opt_doc_target;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp67_ = g_str_has_suffix (_tmp66_, "/");
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ if (_tmp67_) {
+#line 1204 "PackerRun.c"
+ const gchar* _tmp68_;
+ const gchar* _tmp69_;
+ gint _tmp70_;
+ gint _tmp71_;
+ gchar* _tmp72_;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp68_ = self->opt_doc_target;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp69_ = self->opt_doc_target;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp70_ = strlen (_tmp69_);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp71_ = _tmp70_;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp72_ = string_substring (_tmp68_, (glong) 0, (glong) (_tmp71_ - 1));
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp65_);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp65_ = _tmp72_;
+#line 1224 "PackerRun.c"
+ } else {
+ const gchar* _tmp73_;
+ gchar* _tmp74_;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp73_ = self->opt_doc_target;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp74_ = g_strdup (_tmp73_);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp65_);
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp65_ = _tmp74_;
+#line 1236 "PackerRun.c"
+ }
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp75_ = g_strdup (_tmp65_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_doc_target);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_doc_target = _tmp75_;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp76_ = p;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp77_ = jsdoc_doc_builder_new (_tmp76_);
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ d = _tmp77_;
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (d);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (_tmp65_);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (p);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (curdir);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ return;
+#line 1260 "PackerRun.c"
+ }
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_error ("PackerRun.vala:362: either select output target or doc output target");
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_object_unref0 (p);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (curdir);
+#line 1268 "PackerRun.c"
+}
+
+
+static void jsdoc_packer_run_class_init (JSDOCPackerRunClass * klass) {
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ jsdoc_packer_run_parent_class = g_type_class_peek_parent (klass);
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCPackerRunPrivate));
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_packer_run_finalize;
+#line 1279 "PackerRun.c"
+}
+
+
+static void jsdoc_packer_run_instance_init (JSDOCPackerRun * self) {
+ gchar* _tmp0_;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv = JSDOC_PACKER_RUN_GET_PRIVATE (self);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_target = NULL;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_debug_target = NULL;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv->opt_basedir = NULL;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_real_basedir = NULL;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_doc_target = NULL;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_doc_template_dir = NULL;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_doc_include_private = FALSE;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv->opt_files = NULL;
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv->opt_files_from = NULL;
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_debug = FALSE;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_skip_scope = FALSE;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_keep_whitespace = FALSE;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_dump_tokens = FALSE;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_clean_cache = TRUE;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _tmp0_ = g_strdup ("html");
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->opt_doc_ext = _tmp0_;
+#line 1319 "PackerRun.c"
+}
+
+
+static void jsdoc_packer_run_finalize (GObject * obj) {
+ JSDOCPackerRun * self;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_PACKER_RUN, JSDOCPackerRun);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_target);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_debug_target);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->priv->opt_basedir);
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_real_basedir);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_doc_target);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_doc_template_dir);
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv->opt_files = (_vala_array_free (self->priv->opt_files, _vala_array_length (self->priv->opt_files), (GDestroyNotify) g_free), NULL);
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ self->priv->opt_files_from = (_vala_array_free (self->priv->opt_files_from, _vala_array_length (self->priv->opt_files_from), (GDestroyNotify) g_free), NULL);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ _g_free0 (self->opt_doc_ext);
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/PackerRun.vala"
+ G_OBJECT_CLASS (jsdoc_packer_run_parent_class)->finalize (obj);
+#line 1347 "PackerRun.c"
+}
+
+
+GType jsdoc_packer_run_get_type (void) {
+ static volatile gsize jsdoc_packer_run_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_packer_run_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCPackerRunClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_packer_run_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCPackerRun), 0, (GInstanceInitFunc) jsdoc_packer_run_instance_init, NULL };
+ GType jsdoc_packer_run_type_id;
+ jsdoc_packer_run_type_id = g_type_register_static (g_application_get_type (), "JSDOCPackerRun", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_packer_run_type_id__volatile, jsdoc_packer_run_type_id);
+ }
+ return jsdoc_packer_run_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+/**
+
+ THIS IS THE ENTRY POINT...
+
+ the application
+ -- in theory this code can be used as a library... but this is the standard command line version...
+
+
+ valac --vapidir=/usr/share/vala/vapi
+ --vapidir=/usr/share/vala/vapi
+ --vapidir=/usr/share/vala-0.30/vapi
+ --thread -g
+ JSDOC/Lang.vala JSDOC/TextStream.vala JSDOC/TokenReader.vala JSDOC/Token.vala JSDOC/TokenStream.vala JSDOC/Packer.vala
+ JSDOC/Collapse.vala JSDOC/ScopeParser.vala JSDOC/Scope.vala JSDOC/Identifier.vala JSDOC/CompressWhite.vala
+ JSDOC/PackerRun.vala --pkg glib-2.0 --pkg gee-1.0 --pkg gio-2.0 --pkg posix -o /tmp/jspack --target-glib=2.32 -X -lm
+
+
+*/
+
+JSDOC.PackerRun _PackerRun;
+
+namespace JSDOC
+{
+ // --------------- <<<<<<< <MAIN HERE....
+
+#if HAVE_OLD_GLIB
+ public class PackerRun : Object
+#else
+ public class PackerRun : Application
+#endif
+ {
+ public string opt_target = null;
+ public string opt_debug_target = null;
+// public string opt_tmpdir = null;
+ private string opt_basedir = null;
+
+ /**
+ * @cfg baseDir -- prefix the files listed in indexfiles with this.
+ */
+
+ public string opt_real_basedir = null; // USE this one it's calcuated based on current path..
+
+ public string opt_doc_target = null;
+ public string opt_doc_template_dir = null;
+ public bool opt_doc_include_private = false;
+
+ [CCode (array_length = false, array_null_terminated = true)]
+ private string[]? opt_files = null;
+ [CCode (array_length = false, array_null_terminated = true)]
+ private string[]? opt_files_from = null;
+
+
+ public bool opt_debug = false;
+
+ /**
+ * @cfg {Boolean} opt_skip_scope (optional) skip Scope parsing and replacement.
+ * usefull for debugging...
+ */
+ public bool opt_skip_scope = false;
+
+ /**
+ * @cfg {Boolean} opt_keep_whitespace (optional) do not remove white space in output.
+ * usefull for debugging compressed files.
+ */
+
+ public bool opt_keep_whitespace = false;
+
+ /**
+ * @cfg {Boolean} opt_dump_tokens (optional) read the first file and dump the tokens.
+ * usefull for debugging...
+ */
+
+ public bool opt_dump_tokens = false;
+
+
+ /**
+ * @cfg {Boolean} opt_clean_cache (optional) clean up temp files after done -
+ * Defaults to false if you set tmpDir, otherwise true.
+ */
+
+ public bool opt_clean_cache = true;
+
+ // not actually an option yet..
+
+ public string opt_doc_ext = "html";
+
+ public static PackerRun singleton()
+ {
+ if (_PackerRun == null) {
+ _PackerRun = new PackerRun();
+ }
+ return _PackerRun;
+ }
+
+ public PackerRun ()
+ {
+#if !HAVE_OLD_GLIB
+ Object(
+ application_id: "org.roojs.jsdoc.packerrun",
+ flags: ApplicationFlags.HANDLES_COMMAND_LINE
+ );
+#endif
+
+
+ }
+
+
+ public void parseArgs(string[] args)
+ {
+ GLib.OptionEntry[] options = {
+ OptionEntry() {
+ long_name = "jsfile",
+ short_name = 'f',
+ flags = 0,
+ arg = OptionArg.FILENAME_ARRAY,
+ arg_data = &opt_files,
+ description = "add a file to compile",
+ arg_description = null
+ },
+ OptionEntry() {
+ long_name = "target",
+ short_name = 't',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_target,
+ description = "Target File to write (eg. roojs.js)",
+ arg_description = null
+ },
+ OptionEntry() {
+ long_name = "debug-target",
+ short_name = 'T',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_debug_target,
+ description = "Target File to write debug code (eg. roojs-debug.js)",
+ arg_description = null
+ },
+ //{ "tmpdir", 'm', 0, OptionArg.STRING, ref opt_tmpdir, "Temporary Directory to use (defaults to /tmp)", null },
+ /*
+ OptionEntry() {
+ long_name = "tmpdir",
+ short_name = 'm',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_tmpdir,
+ description = "Temporary Directory - used by documentation tool?",
+ arg_description = null
+ },
+ */
+
+ OptionEntry() {
+ long_name = "basedir",
+ short_name = 'b',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_basedir,
+ description = "Base directory (where the files listed in index files are located.)",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "index-files",
+ short_name = 'i',
+ flags = 0,
+ arg = OptionArg.FILENAME_ARRAY,
+ arg_data = &opt_files_from,
+ description = "files that contain listing of files to compile",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "keep-whitespace",
+ short_name = 'w',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_keep_whitespace,
+ description = "Keep whitespace",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "skip-scope",
+ short_name = 's',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_skip_scope,
+ description = "Skip scope parsing and variable replacement",
+ arg_description = null
+ },
+ OptionEntry() {
+ long_name = "debug",
+ short_name = 'D',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_debug,
+ description = "Show debug messages",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "dump-tokens",
+ short_name = 'k',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_dump_tokens,
+ description = "Dump the tokens from a file",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "clean-cache",
+ short_name = 'c',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_clean_cache,
+ description = "Clean up the cache after running (slower)",
+ arg_description = null
+ },
+
+
+ // fixme -- keepwhite.. cleanup
+
+ // documentation options
+ // usage: roojspacker --basedir roojs1 \
+ // --doc-target roojs1/docs \
+ // --index-files roojs1/buildSDK/dependancy_core.txt \
+ // --index-files roojs1/buildSDK/dependancy_ui.txt \
+ // --index-files roojs1/buildSDK/dependancy_bootstrap.txt \
+ // --doc-template-dir \
+
+ OptionEntry() {
+ long_name = "doc-target",
+ short_name = 'd',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_doc_target,
+ description = "Target location for documetnation",
+ arg_description = null
+ },
+
+ OptionEntry() {
+ long_name = "doc-template-dir",
+ short_name = 'p',
+ flags = 0,
+ arg = OptionArg.STRING,
+ arg_data = &opt_doc_template_dir,
+ description = "Template directory for documentation",
+ arg_description = null
+ },
+
+
+ OptionEntry() {
+ long_name = "doc-private",
+ short_name = 'P',
+ flags = 0,
+ arg = OptionArg.NONE,
+ arg_data = &opt_doc_include_private,
+ description = "Document Private functions",
+ arg_description = null
+ }
+ };
+ var opt_context = new OptionContext ("JSDOC Packer");
+
+ try {
+ opt_context.set_help_enabled (true);
+ opt_context.add_main_entries (options, null);
+ if (!opt_context.parse ( ref args)) {
+ print("options parse error");
+ GLib.Process.exit(Posix.EXIT_FAILURE);
+ }
+
+
+
+
+ } catch (OptionError e) {
+ stdout.printf ("error: %s\n", e.message);
+ stdout.printf ("Run '%s --help' to see a full list of available command line options.\n %s",
+ args[0], opt_context.get_help(true,null));
+ GLib.Process.exit(Posix.EXIT_FAILURE);
+
+ }
+
+
+
+ }
+ public void runPack()
+ {
+ // what's required...
+ if (opt_debug) {
+ GLib.Log.set_handler(null,
+ GLib.LogLevelFlags.LEVEL_DEBUG | GLib.LogLevelFlags.LEVEL_WARNING,
+ (dom, lvl, msg) => {
+ print("%s: %s\n", dom, msg);
+ });
+ }
+
+
+
+
+ // set the base directory...
+ var curdir = Environment.get_current_dir() + Path.DIR_SEPARATOR_S;
+ if (opt_basedir == null) {
+
+ opt_real_basedir = curdir;
+ } else if (opt_basedir[0] == '/') {
+ opt_real_basedir = opt_basedir;
+ } else {
+ opt_real_basedir = curdir + opt_basedir;
+ }
+ // suffix a slash..
+ if (opt_real_basedir [opt_real_basedir .length-1].to_string() != Path.DIR_SEPARATOR_S) {
+ opt_real_basedir += Path.DIR_SEPARATOR_S;
+ }
+
+ GLib.debug("real_base_dir = '%s' : opt_basedir ='%s'\n", opt_real_basedir , opt_basedir);
+
+
+ if (opt_files == null && opt_files_from == null) {
+ GLib.error("You must list some files with -f or -i to compile - see --help for more details");
+ GLib.Process.exit(1);
+ }
+
+
+ // initialize the Packer (does not parse anything..)
+ var p = new Packer( this );
+
+
+ if (opt_files != null) {
+
+ foreach (var f in opt_files) {
+ GLib.debug("Adding File %s", f);
+ p.loadFile(f); // just adds to list of files to parse (no parsing yet..)
+ }
+ }
+ if (opt_files_from != null) {
+
+ foreach (var f in opt_files_from) {
+ GLib.debug("Adding File %s", f);
+ p.loadSourceIndex(f);
+ }
+ }
+
+ var run_pack = false;
+ if (opt_target != null || opt_debug_target != null || opt_dump_tokens) {
+ // do the actual packing...
+ p.pack( opt_target == null ? "" : opt_target ,
+ opt_debug_target == null ? "" : opt_debug_target );
+
+ if (p.outstr.length > 0 ) {
+ stdout.printf ("%s", p.outstr);
+ }
+ return;
+ }
+ if (opt_doc_target != null) {
+ // remove trailing /
+ opt_doc_target = opt_doc_target.has_suffix("/") ?
+ opt_doc_target.substring(0, opt_doc_target.length-1) : opt_doc_target;
+ var d = new JSDOC.DocBuilder(p);
+ return;
+ }
+ GLib.error("either select output target or doc output target");
+
+
+
+ }
+
+ }
+
+}
\ No newline at end of file
--- /dev/null
+/* PrettyPrint.c generated by valac 0.36.6, the Vala compiler
+ * generated from PrettyPrint.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+#include <gee.h>
+
+
+#define JSDOC_TYPE_PRETTY_PRINT (jsdoc_pretty_print_get_type ())
+#define JSDOC_PRETTY_PRINT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PRETTY_PRINT, JSDOCPrettyPrint))
+#define JSDOC_PRETTY_PRINT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PRETTY_PRINT, JSDOCPrettyPrintClass))
+#define JSDOC_IS_PRETTY_PRINT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PRETTY_PRINT))
+#define JSDOC_IS_PRETTY_PRINT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PRETTY_PRINT))
+#define JSDOC_PRETTY_PRINT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PRETTY_PRINT, JSDOCPrettyPrintClass))
+
+typedef struct _JSDOCPrettyPrint JSDOCPrettyPrint;
+typedef struct _JSDOCPrettyPrintClass JSDOCPrettyPrintClass;
+typedef struct _JSDOCPrettyPrintPrivate JSDOCPrettyPrintPrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+
+#define JSDOC_TYPE_TOKEN_READER (jsdoc_token_reader_get_type ())
+#define JSDOC_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader))
+#define JSDOC_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+#define JSDOC_IS_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_IS_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_TOKEN_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+
+typedef struct _JSDOCTokenReader JSDOCTokenReader;
+typedef struct _JSDOCTokenReaderClass JSDOCTokenReaderClass;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+typedef struct _JSDOCTokenReaderPrivate JSDOCTokenReaderPrivate;
+
+#define JSDOC_TYPE_TOKEN_ARRAY (jsdoc_token_array_get_type ())
+#define JSDOC_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray))
+#define JSDOC_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+#define JSDOC_IS_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_IS_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_TOKEN_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+
+typedef struct _JSDOCTokenArray JSDOCTokenArray;
+typedef struct _JSDOCTokenArrayClass JSDOCTokenArrayClass;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+
+struct _JSDOCPrettyPrint {
+ GObject parent_instance;
+ JSDOCPrettyPrintPrivate * priv;
+};
+
+struct _JSDOCPrettyPrintClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenReader {
+ GObject parent_instance;
+ JSDOCTokenReaderPrivate * priv;
+ gboolean collapseWhite;
+ gboolean keepDocs;
+ gboolean keepWhite;
+ gboolean keepComments;
+ gboolean sepIdents;
+ gchar* filename;
+ gboolean ignoreBadGrammer;
+};
+
+struct _JSDOCTokenReaderClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_pretty_print_parent_class = NULL;
+
+GType jsdoc_pretty_print_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_PRETTY_PRINT_DUMMY_PROPERTY
+};
+static gchar* jsdoc_pretty_print_escapeHTML (const gchar* str);
+gchar* jsdoc_pretty_print_toPretty (const gchar* str);
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text);
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text);
+GType jsdoc_token_reader_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer);
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer);
+GType jsdoc_token_array_get_type (void) G_GNUC_CONST;
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream);
+gint jsdoc_token_array_get_length (JSDOCTokenArray* self);
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+static gchar* jsdoc_pretty_print_toStyle (JSDOCToken* tok, const gchar* cs);
+JSDOCToken* jsdoc_token_array_get (JSDOCTokenArray* self, gint i);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+JSDOCPrettyPrint* jsdoc_pretty_print_new (void);
+JSDOCPrettyPrint* jsdoc_pretty_print_construct (GType object_type);
+
+
+static gchar* string_replace (const gchar* self, const gchar* old, const gchar* replacement) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ GError * _inner_error_ = NULL;
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (old != NULL, NULL);
+#line 1407 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (replacement != NULL, NULL);
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if ((*((gchar*) self)) == '\0') {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 295 "PrettyPrint.c"
+ } else {
+ const gchar* _tmp2_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = (*((gchar*) _tmp2_)) == '\0';
+#line 302 "PrettyPrint.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = TRUE;
+#line 308 "PrettyPrint.c"
+ } else {
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = old;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = replacement;
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strcmp0 (_tmp3_, _tmp4_) == 0;
+#line 318 "PrettyPrint.c"
+ }
+#line 1408 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 322 "PrettyPrint.c"
+ gchar* _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = g_strdup (self);
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp5_;
+#line 1409 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 330 "PrettyPrint.c"
+ }
+ {
+ GRegex* regex = NULL;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ GRegex* _tmp9_;
+ GRegex* _tmp10_;
+ gchar* _tmp11_ = NULL;
+ GRegex* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = old;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = g_regex_escape_string (_tmp6_, -1);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = g_regex_new (_tmp8_, 0, 0, &_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = _tmp9_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp8_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ regex = _tmp10_;
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 362 "PrettyPrint.c"
+ goto __catch8_g_regex_error;
+ }
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1412 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 371 "PrettyPrint.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = regex;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = replacement;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = g_regex_replace_literal (_tmp12_, self, (gssize) -1, 0, _tmp13_, 0, &_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp14_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_inner_error_->domain == G_REGEX_ERROR) {
+#line 387 "PrettyPrint.c"
+ goto __catch8_g_regex_error;
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 398 "PrettyPrint.c"
+ }
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = _tmp11_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = NULL;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp15_;
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_free0 (_tmp11_);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_regex_unref0 (regex);
+#line 1413 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 412 "PrettyPrint.c"
+ }
+ goto __finally8;
+ __catch8_g_regex_error:
+ {
+ GError* e = NULL;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ e = _inner_error_;
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _inner_error_ = NULL;
+#line 1415 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_assert_not_reached ();
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _g_error_free0 (e);
+#line 426 "PrettyPrint.c"
+ }
+ __finally8:
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_clear_error (&_inner_error_);
+#line 1411 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return NULL;
+#line 437 "PrettyPrint.c"
+ }
+}
+
+
+static gchar* jsdoc_pretty_print_escapeHTML (const gchar* str) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_return_val_if_fail (str != NULL, NULL);
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp0_ = str;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp1_ = string_replace (_tmp0_, "&", "&");
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp2_ = _tmp1_;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp3_ = string_replace (_tmp2_, ">", ">");
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp4_ = _tmp3_;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp5_ = string_replace (_tmp4_, "<", "<");
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp6_ = _tmp5_;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp7_ = string_replace (_tmp6_, "\"", """);
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp8_ = _tmp7_;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp6_);
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp4_);
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp2_);
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp8_;
+#line 8 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 483 "PrettyPrint.c"
+}
+
+
+gchar* jsdoc_pretty_print_toPretty (const gchar* str) {
+ gchar* result = NULL;
+ JSDOCTextStream* txs = NULL;
+ const gchar* _tmp0_;
+ JSDOCTextStream* _tmp1_;
+ JSDOCTokenReader* tr = NULL;
+ JSDOCTokenReader* _tmp2_;
+ JSDOCTokenReader* _tmp3_;
+ JSDOCTokenReader* _tmp4_;
+ JSDOCTokenArray* toks = NULL;
+ JSDOCTokenReader* _tmp5_;
+ JSDOCTextStream* _tmp6_;
+ JSDOCTokenArray* _tmp7_;
+ gchar* r = NULL;
+ gchar* _tmp8_;
+ gchar* cs = NULL;
+ gchar* _tmp9_;
+ const gchar* _tmp67_;
+ gint _tmp68_;
+ gint _tmp69_;
+ const gchar* _tmp72_;
+ gchar* _tmp73_;
+ gchar* _tmp74_;
+ gchar* _tmp75_;
+ gchar* _tmp76_;
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_return_val_if_fail (str != NULL, NULL);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp0_ = str;
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp1_ = jsdoc_text_stream_new (_tmp0_);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ txs = _tmp1_;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp2_ = jsdoc_token_reader_new (NULL);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ tr = _tmp2_;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp3_ = tr;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp3_->keepComments = TRUE;
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp4_ = tr;
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp4_->keepWhite = TRUE;
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp5_ = tr;
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp6_ = txs;
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp7_ = jsdoc_token_reader_tokenize (_tmp5_, _tmp6_);
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ toks = _tmp7_;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp8_ = g_strdup ("");
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp8_;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp9_ = g_strdup ("");
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ cs = _tmp9_;
+#line 548 "PrettyPrint.c"
+ {
+ gint i = 0;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ i = 0;
+#line 553 "PrettyPrint.c"
+ {
+ gboolean _tmp10_ = FALSE;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp10_ = TRUE;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ while (TRUE) {
+#line 560 "PrettyPrint.c"
+ gint _tmp12_;
+ JSDOCTokenArray* _tmp13_;
+ gint _tmp14_;
+ gint _tmp15_;
+ gchar* ns = NULL;
+ JSDOCTokenArray* _tmp16_;
+ gint _tmp17_;
+ JSDOCToken* _tmp18_;
+ JSDOCToken* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ const gchar* _tmp23_;
+ const gchar* _tmp24_;
+ JSDOCTokenArray* _tmp39_;
+ gint _tmp40_;
+ JSDOCToken* _tmp41_;
+ JSDOCToken* _tmp42_;
+ JSDOCIdentifier* _tmp43_;
+ gboolean _tmp44_;
+ const gchar* _tmp58_;
+ JSDOCTokenArray* _tmp59_;
+ gint _tmp60_;
+ JSDOCToken* _tmp61_;
+ JSDOCToken* _tmp62_;
+ const gchar* _tmp63_;
+ gchar* _tmp64_;
+ gchar* _tmp65_;
+ gchar* _tmp66_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (!_tmp10_) {
+#line 592 "PrettyPrint.c"
+ gint _tmp11_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp11_ = i;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ i = _tmp11_ + 1;
+#line 598 "PrettyPrint.c"
+ }
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp10_ = FALSE;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp12_ = i;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp13_ = toks;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp14_ = jsdoc_token_array_get_length (_tmp13_);
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp15_ = _tmp14_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (!(_tmp12_ < _tmp15_)) {
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ break;
+#line 614 "PrettyPrint.c"
+ }
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp16_ = toks;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp17_ = i;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp18_ = jsdoc_token_array_get (_tmp16_, _tmp17_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp19_ = _tmp18_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp20_ = cs;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp21_ = jsdoc_pretty_print_toStyle (_tmp19_, _tmp20_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp22_ = _tmp21_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (_tmp19_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ ns = _tmp22_;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp23_ = ns;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp24_ = cs;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (g_strcmp0 (_tmp23_, _tmp24_) != 0) {
+#line 640 "PrettyPrint.c"
+ const gchar* _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ const gchar* _tmp30_;
+ const gchar* _tmp31_;
+ gchar* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ const gchar* _tmp37_;
+ gchar* _tmp38_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp25_ = cs;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp26_ = strlen (_tmp25_);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp27_ = _tmp26_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp27_ > 0) {
+#line 661 "PrettyPrint.c"
+ const gchar* _tmp28_;
+ gchar* _tmp29_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp28_ = r;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp29_ = g_strconcat (_tmp28_, "</span>", NULL);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp29_;
+#line 672 "PrettyPrint.c"
+ }
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp30_ = r;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp31_ = ns;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp32_ = g_strconcat ("<span class=\"jsdoc-", _tmp31_, NULL);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp33_ = _tmp32_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp34_ = g_strconcat (_tmp33_, "\">", NULL);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp35_ = _tmp34_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp36_ = g_strconcat (_tmp30_, _tmp35_, NULL);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp36_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp35_);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp33_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp37_ = ns;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp38_ = g_strdup (_tmp37_);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (cs);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ cs = _tmp38_;
+#line 704 "PrettyPrint.c"
+ }
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp39_ = toks;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp40_ = i;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp41_ = jsdoc_token_array_get (_tmp39_, _tmp40_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp42_ = _tmp41_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp43_ = _tmp42_->identifier;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp44_ = _tmp43_ != NULL;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (_tmp42_);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp44_) {
+#line 722 "PrettyPrint.c"
+ const gchar* _tmp45_;
+ JSDOCTokenArray* _tmp46_;
+ gint _tmp47_;
+ JSDOCToken* _tmp48_;
+ JSDOCToken* _tmp49_;
+ const gchar* _tmp50_;
+ gchar* _tmp51_;
+ gchar* _tmp52_;
+ gchar* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+ gchar* _tmp57_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp45_ = r;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp46_ = toks;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp47_ = i;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp48_ = jsdoc_token_array_get (_tmp46_, _tmp47_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp49_ = _tmp48_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp50_ = _tmp49_->data;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp51_ = jsdoc_pretty_print_escapeHTML (_tmp50_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp52_ = _tmp51_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp53_ = g_strconcat ("<span class=\"with-ident2\">", _tmp52_, NULL);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp54_ = _tmp53_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp55_ = g_strconcat (_tmp54_, "</span>", NULL);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp56_ = _tmp55_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp57_ = g_strconcat (_tmp45_, _tmp56_, NULL);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp57_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp56_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp54_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp52_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (_tmp49_);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (ns);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ continue;
+#line 778 "PrettyPrint.c"
+ }
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp58_ = r;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp59_ = toks;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp60_ = i;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp61_ = jsdoc_token_array_get (_tmp59_, _tmp60_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp62_ = _tmp61_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp63_ = _tmp62_->data;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp64_ = jsdoc_pretty_print_escapeHTML (_tmp63_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp65_ = _tmp64_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp66_ = g_strconcat (_tmp58_, _tmp65_, NULL);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp66_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp65_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (_tmp62_);
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (ns);
+#line 808 "PrettyPrint.c"
+ }
+ }
+ }
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp67_ = cs;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp68_ = strlen (_tmp67_);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp69_ = _tmp68_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp69_ > 0) {
+#line 820 "PrettyPrint.c"
+ const gchar* _tmp70_;
+ gchar* _tmp71_;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp70_ = r;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp71_ = g_strconcat (_tmp70_, "</span>", NULL);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp71_;
+#line 831 "PrettyPrint.c"
+ }
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp72_ = r;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp73_ = g_strconcat ("<code class=\"jsdoc-pretty\">", _tmp72_, NULL);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp74_ = _tmp73_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp75_ = g_strconcat (_tmp74_, "</code>", NULL);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp76_ = _tmp75_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (_tmp74_);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp76_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (cs);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_free0 (r);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (toks);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (tr);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_object_unref0 (txs);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 859 "PrettyPrint.c"
+}
+
+
+static gchar* jsdoc_pretty_print_toStyle (JSDOCToken* tok, const gchar* cs) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ JSDOCToken* _tmp1_;
+ gboolean _tmp2_;
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp8_ = FALSE;
+ JSDOCToken* _tmp9_;
+ gboolean _tmp10_;
+ JSDOCToken* _tmp16_;
+ gboolean _tmp17_;
+ gboolean _tmp19_ = FALSE;
+ gboolean _tmp20_ = FALSE;
+ JSDOCToken* _tmp21_;
+ gboolean _tmp22_;
+ GRegex* r = NULL;
+ GRegex* _tmp28_;
+ GRegex* _tmp29_;
+ JSDOCToken* _tmp30_;
+ const gchar* _tmp31_;
+ gboolean _tmp32_;
+ gchar* _tmp34_;
+ GError * _inner_error_ = NULL;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_return_val_if_fail (tok != NULL, NULL);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_return_val_if_fail (cs != NULL, NULL);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp1_ = tok;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp2_ = jsdoc_token_isName (_tmp1_, JSDOC_TOKEN_NAME_SPACE);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp2_) {
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp0_ = TRUE;
+#line 898 "PrettyPrint.c"
+ } else {
+ JSDOCToken* _tmp3_;
+ gboolean _tmp4_;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp3_ = tok;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp4_ = jsdoc_token_isName (_tmp3_, JSDOC_TOKEN_NAME_NEWLINE);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp0_ = _tmp4_;
+#line 908 "PrettyPrint.c"
+ }
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp0_) {
+#line 912 "PrettyPrint.c"
+ const gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp5_ = cs;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp6_ = g_strdup (_tmp5_);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp6_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 923 "PrettyPrint.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp9_ = tok;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp10_ = jsdoc_token_isName (_tmp9_, JSDOC_TOKEN_NAME_MULTI_LINE_COMM);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp10_) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp8_ = TRUE;
+#line 933 "PrettyPrint.c"
+ } else {
+ JSDOCToken* _tmp11_;
+ gboolean _tmp12_;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp11_ = tok;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp12_ = jsdoc_token_isName (_tmp11_, JSDOC_TOKEN_NAME_JSDOC);
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp8_ = _tmp12_;
+#line 943 "PrettyPrint.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp8_) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp7_ = TRUE;
+#line 949 "PrettyPrint.c"
+ } else {
+ JSDOCToken* _tmp13_;
+ gboolean _tmp14_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp13_ = tok;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp14_ = jsdoc_token_isName (_tmp13_, JSDOC_TOKEN_NAME_SINGLE_LINE_COMM);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp7_ = _tmp14_;
+#line 959 "PrettyPrint.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp7_) {
+#line 963 "PrettyPrint.c"
+ gchar* _tmp15_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp15_ = g_strdup ("comment");
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp15_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 971 "PrettyPrint.c"
+ }
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp16_ = tok;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp17_ = jsdoc_token_isType (_tmp16_, JSDOC_TOKEN_TYPE_STRN);
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp17_) {
+#line 979 "PrettyPrint.c"
+ gchar* _tmp18_;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp18_ = g_strdup ("string");
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp18_;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 987 "PrettyPrint.c"
+ }
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp21_ = tok;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp22_ = jsdoc_token_isType (_tmp21_, JSDOC_TOKEN_TYPE_NAME);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp22_) {
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp20_ = TRUE;
+#line 997 "PrettyPrint.c"
+ } else {
+ JSDOCToken* _tmp23_;
+ const gchar* _tmp24_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp23_ = tok;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp24_ = _tmp23_->data;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp20_ = g_strcmp0 (_tmp24_, ".") == 0;
+#line 1007 "PrettyPrint.c"
+ }
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp20_) {
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp19_ = TRUE;
+#line 1013 "PrettyPrint.c"
+ } else {
+ JSDOCToken* _tmp25_;
+ gboolean _tmp26_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp25_ = tok;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp26_ = jsdoc_token_isName (_tmp25_, JSDOC_TOKEN_NAME_THIS);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp19_ = _tmp26_;
+#line 1023 "PrettyPrint.c"
+ }
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp19_) {
+#line 1027 "PrettyPrint.c"
+ gchar* _tmp27_;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp27_ = g_strdup ("var");
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp27_;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 1035 "PrettyPrint.c"
+ }
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp28_ = g_regex_new ("^[a-zA-Z]+", 0, 0, &_inner_error_);
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ r = _tmp28_;
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ g_clear_error (&_inner_error_);
+#line 83 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return NULL;
+#line 1049 "PrettyPrint.c"
+ }
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp29_ = r;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp30_ = tok;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp31_ = _tmp30_->data;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp32_ = g_regex_match (_tmp29_, _tmp31_, 0, NULL);
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ if (_tmp32_) {
+#line 1061 "PrettyPrint.c"
+ gchar* _tmp33_;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp33_ = g_strdup ("keyword");
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp33_;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_regex_unref0 (r);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 1071 "PrettyPrint.c"
+ }
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _tmp34_ = g_strdup ("syntax");
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ result = _tmp34_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ _g_regex_unref0 (r);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return result;
+#line 1081 "PrettyPrint.c"
+}
+
+
+JSDOCPrettyPrint* jsdoc_pretty_print_construct (GType object_type) {
+ JSDOCPrettyPrint * self = NULL;
+#line 3 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ self = (JSDOCPrettyPrint*) g_object_new (object_type, NULL);
+#line 3 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return self;
+#line 1091 "PrettyPrint.c"
+}
+
+
+JSDOCPrettyPrint* jsdoc_pretty_print_new (void) {
+#line 3 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ return jsdoc_pretty_print_construct (JSDOC_TYPE_PRETTY_PRINT);
+#line 1098 "PrettyPrint.c"
+}
+
+
+static void jsdoc_pretty_print_class_init (JSDOCPrettyPrintClass * klass) {
+#line 3 "/home/alan/gitlive/roojspacker/src/jsdoc/PrettyPrint.vala"
+ jsdoc_pretty_print_parent_class = g_type_class_peek_parent (klass);
+#line 1105 "PrettyPrint.c"
+}
+
+
+static void jsdoc_pretty_print_instance_init (JSDOCPrettyPrint * self) {
+}
+
+
+GType jsdoc_pretty_print_get_type (void) {
+ static volatile gsize jsdoc_pretty_print_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_pretty_print_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCPrettyPrintClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_pretty_print_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCPrettyPrint), 0, (GInstanceInitFunc) jsdoc_pretty_print_instance_init, NULL };
+ GType jsdoc_pretty_print_type_id;
+ jsdoc_pretty_print_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCPrettyPrint", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_pretty_print_type_id__volatile, jsdoc_pretty_print_type_id);
+ }
+ return jsdoc_pretty_print_type_id__volatile;
+}
+
+
+
--- /dev/null
+
+namespace JSDOC {
+ class PrettyPrint : Object
+ {
+
+ // pretty simple...
+ static string escapeHTML(string str) {
+ return str.replace("&","&").
+ replace(">",">").
+ replace("<","<").
+ replace("\"",""");
+ }
+
+ public static string toPretty(string str)
+ {
+
+ var txs = new TextStream(str);
+ var tr = new TokenReader(null);
+ tr.keepComments = true;
+ tr.keepWhite = true;
+ var toks = tr.tokenize(txs);
+
+ //var sp = new ScopeParser(new Collapse(toks));
+ //sp.buildSymbolTree();
+
+
+ // sp.mungeSymboltree();
+ var r = "";
+ //r += sp.warnings.join("<BR>");
+ //r == "<BR>";
+
+
+
+
+ var cs = ""; // current style..
+
+ // loop through and print it...?
+
+
+ for (var i = 0;i < toks.length; i++) {
+ var ns = toStyle(toks.get(i),cs);
+ if (ns != cs) {
+ // change of style
+ if (cs.length > 0) { r += "</span>"; };
+ r +="<span class=\"jsdoc-"+ns+"\">";
+ cs = ns;
+ }
+ if (toks.get(i).identifier != null) {
+
+ r += "<span class=\"with-ident2\">" +
+ escapeHTML(toks.get(i).data) + "</span>";
+ continue;
+
+ }
+ r += escapeHTML(toks.get(i).data); //.replace(/\n/g, "<BR/>\n");
+ }
+ if (cs.length > 0) r += "</span>";
+
+ return "<code class=\"jsdoc-pretty\">"+r+"</code>";
+
+
+ }
+
+ static string toStyle(Token tok, string cs)
+ {
+
+ if (tok.isName(TokenName.SPACE) || tok.isName(TokenName.NEWLINE) ) {
+ return cs;
+ }
+ if (tok.isName(TokenName.MULTI_LINE_COMM) ||
+ tok.isName(TokenName.JSDOC) ||
+ tok.isName(TokenName.SINGLE_LINE_COMM) ) {
+ return "comment";
+
+ }
+ if (tok.isType(TokenType.STRN)) {
+ return "string";
+ }
+ // other 'vary things??
+ if (tok.isType(TokenType.NAME) || tok.data == "." || tok.isName(TokenName.THIS)) {
+ return "var";
+ }
+ var r = new Regex("^[a-zA-Z]+");
+
+ if (r.match(tok.data)) {
+ return "keyword";
+ }
+ return "syntax";
+ }
+ }
+}
\ No newline at end of file
--- /dev/null
+/* Scope.c generated by valac 0.36.6, the Vala compiler
+ * generated from Scope.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+typedef struct _JSDOCScopePrivate JSDOCScopePrivate;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+typedef struct _JSDOCIdentifierPrivate JSDOCIdentifierPrivate;
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+
+struct _JSDOCScope {
+ GObject parent_instance;
+ JSDOCScopePrivate * priv;
+ JSDOCScope* parent;
+ GeeArrayList* subScopes;
+ gchar* ident;
+};
+
+struct _JSDOCScopeClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCScopePrivate {
+ gint id;
+ gint braceN;
+ GeeHashMap* identifier_map;
+ GeeArrayList* identifier_list;
+ GeeHashMap* hints;
+ gboolean mungeM;
+ gboolean munged;
+ GeeHashMap* protectedVars;
+ JSDOCToken* token;
+};
+
+struct _JSDOCIdentifier {
+ GObject parent_instance;
+ JSDOCIdentifierPrivate * priv;
+ gchar* name;
+ gint refcount;
+ gchar* mungedValue;
+ JSDOCScope* scope;
+ gboolean toMunge;
+};
+
+struct _JSDOCIdentifierClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+
+extern gint jsdoc_Scope_gid;
+gint jsdoc_Scope_gid = 0;
+static gpointer jsdoc_scope_parent_class = NULL;
+static gboolean jsdoc_scope_initialized;
+static gboolean jsdoc_scope_initialized = FALSE;
+extern GeeArrayList* jsdoc_scope_builtin;
+GeeArrayList* jsdoc_scope_builtin = NULL;
+extern GeeArrayList* jsdoc_scope_skips;
+GeeArrayList* jsdoc_scope_skips = NULL;
+extern gchar** jsdoc_scope_ones;
+extern gint jsdoc_scope_ones_length1;
+gchar** jsdoc_scope_ones = NULL;
+gint jsdoc_scope_ones_length1 = 0;
+extern gchar** jsdoc_scope_twos;
+extern gint jsdoc_scope_twos_length1;
+gchar** jsdoc_scope_twos = NULL;
+gint jsdoc_scope_twos_length1 = 0;
+
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+#define JSDOC_SCOPE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_SCOPE, JSDOCScopePrivate))
+enum {
+ JSDOC_SCOPE_DUMMY_PROPERTY
+};
+JSDOCScope* jsdoc_scope_new (gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+JSDOCScope* jsdoc_scope_construct (GType object_type, gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+static void jsdoc_scope_init (void);
+void jsdoc_scope_dump (JSDOCScope* self, const gchar* indent);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+JSDOCIdentifier* jsdoc_scope_declareIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+JSDOCIdentifier* jsdoc_identifier_new (const gchar* name, JSDOCScope* scope);
+JSDOCIdentifier* jsdoc_identifier_construct (GType object_type, const gchar* name, JSDOCScope* scope);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+void jsdoc_scope_addToParentScope (JSDOCScope* self, const gchar* ident);
+JSDOCIdentifier* jsdoc_scope_getIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+void jsdoc_scope_addHint (JSDOCScope* self, const gchar* varName, const gchar* varType);
+void jsdoc_scope_preventMunging (JSDOCScope* self);
+gchar** jsdoc_scope_getUsedSymbols (JSDOCScope* self, int* result_length1);
+static void _vala_array_add1 (gchar** * array, int* length, int* size, gchar* value);
+static gchar** jsdoc_scope_getAllUsedSymbols (JSDOCScope* self, int* result_length1);
+static void _vala_array_add2 (gchar** * array, int* length, int* size, gchar* value);
+gboolean jsdoc_scope_isProtectedVar (JSDOCScope* self, const gchar* ident);
+void jsdoc_scope_munge (JSDOCScope* self);
+static void _vala_array_add3 (gchar** * array, int* length, int* size, gchar* value);
+static void jsdoc_scope_array_merge (GeeArrayList* fs, gchar** toadd, int toadd_length1, gchar** ignore, int ignore_length1);
+static void _vala_array_add4 (gchar** * array, int* length, int* size, gchar* value);
+static gchar** _vala_array_dup1 (gchar** self, int length);
+static void jsdoc_scope_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 279 "Scope.c"
+}
+
+
+JSDOCScope* jsdoc_scope_construct (GType object_type, gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token) {
+ JSDOCScope * self = NULL;
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ gchar* _tmp4_;
+ gint _tmp5_;
+ JSDOCScope* _tmp6_;
+ JSDOCScope* _tmp7_;
+ gint _tmp8_;
+ GeeHashMap* _tmp9_;
+ GeeArrayList* _tmp10_;
+ GeeArrayList* _tmp11_;
+ GeeHashMap* _tmp12_;
+ GeeHashMap* _tmp13_;
+ const gchar* _tmp14_;
+ gchar* _tmp15_;
+ gint _tmp16_;
+ JSDOCToken* _tmp17_;
+ JSDOCToken* _tmp18_;
+ JSDOCScope* _tmp19_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (lastIdent != NULL, NULL);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self = (JSDOCScope*) g_object_new (object_type, NULL);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = lastIdent;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = strlen (_tmp0_);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = _tmp1_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp2_ > 0) {
+#line 316 "Scope.c"
+ const gchar* _tmp3_;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = lastIdent;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_debug ("Scope.vala:30: NEW SCOPE: %s", _tmp3_);
+#line 322 "Scope.c"
+ }
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = g_strdup ("");
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (self->ident);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->ident = _tmp4_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = braceN;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->braceN = _tmp5_;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = parent;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->parent);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->parent = _tmp7_;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = startTokN;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->id = _tmp8_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_IDENTIFIER, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->identifier_map);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->identifier_map = _tmp9_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = gee_array_list_new (JSDOC_TYPE_IDENTIFIER, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->identifier_list);
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->identifier_list = _tmp10_;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = gee_array_list_new (JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->subScopes);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->subScopes = _tmp11_;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->hints);
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->hints = _tmp12_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_BOOLEAN, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->protectedVars);
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->protectedVars = _tmp13_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = lastIdent;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = g_strdup (_tmp14_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (self->ident);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->ident = _tmp15_;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = jsdoc_Scope_gid;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_Scope_gid = _tmp16_ + 1;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->id = _tmp16_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = token;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = _g_object_ref0 (_tmp17_);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->token);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->token = _tmp18_;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = parent;
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp19_ != NULL) {
+#line 402 "Scope.c"
+ JSDOCScope* _tmp20_;
+ GeeArrayList* _tmp21_;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = self->parent;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = _tmp20_->subScopes;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp21_, self);
+#line 411 "Scope.c"
+ }
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_init ();
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return self;
+#line 417 "Scope.c"
+}
+
+
+JSDOCScope* jsdoc_scope_new (gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token) {
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return jsdoc_scope_construct (JSDOC_TYPE_SCOPE, braceN, parent, startTokN, lastIdent, token);
+#line 424 "Scope.c"
+}
+
+
+/**
+ * dump the scope to StdOut...
+ *
+ */
+void jsdoc_scope_dump (JSDOCScope* self, const gchar* indent) {
+ gchar* str = NULL;
+ gchar* _tmp0_;
+ GeeArrayList* idents = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeListIterator* iter = NULL;
+ GeeArrayList* _tmp3_;
+ GeeListIterator* _tmp4_;
+ gchar* _tmp30_ = NULL;
+ JSDOCToken* _tmp31_;
+ const gchar* _tmp35_;
+ gchar* _tmp36_;
+ gchar* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ const gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar* _tmp42_;
+ gchar* _tmp43_;
+ gchar* _tmp44_;
+ const gchar* _tmp45_;
+ gchar* _tmp46_;
+ gchar* _tmp47_;
+ gchar* _tmp48_;
+ gchar* _tmp49_;
+ gint _tmp50_;
+ const gchar* _tmp51_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (self != NULL);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (indent != NULL);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = g_strdup ("");
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ str = _tmp0_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = self->priv->identifier_list;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ idents = _tmp2_;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = idents;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp3_);
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ iter = _tmp4_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 482 "Scope.c"
+ GeeListIterator* _tmp5_;
+ gboolean _tmp6_;
+ JSDOCIdentifier* identifier = NULL;
+ GeeListIterator* _tmp7_;
+ gpointer _tmp8_;
+ const gchar* _tmp9_ = NULL;
+ const gchar* _tmp10_;
+ gint _tmp11_;
+ gint _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ const gchar* _tmp15_;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ JSDOCIdentifier* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ JSDOCIdentifier* _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+ gchar* _tmp28_;
+ gchar* _tmp29_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = iter;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = gee_iterator_next ((GeeIterator*) _tmp5_);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp6_) {
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 517 "Scope.c"
+ }
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = iter;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = gee_iterator_get ((GeeIterator*) _tmp7_);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ identifier = (JSDOCIdentifier*) _tmp8_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = str;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = strlen (_tmp10_);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = _tmp11_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp12_ > 0) {
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = ", ";
+#line 535 "Scope.c"
+ } else {
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = "";
+#line 539 "Scope.c"
+ }
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = str;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = g_strconcat (_tmp13_, _tmp9_, NULL);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (str);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ str = _tmp14_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = str;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = indent;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = g_strconcat (_tmp16_, " ", NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = _tmp17_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = identifier;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = _tmp19_->name;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = g_strconcat (_tmp18_, _tmp20_, NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp22_ = _tmp21_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp23_ = g_strconcat (_tmp22_, "=>", NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp24_ = _tmp23_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp25_ = identifier;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp26_ = _tmp25_->mungedValue;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp27_ = g_strconcat (_tmp24_, _tmp26_, NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp28_ = _tmp27_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp29_ = g_strconcat (_tmp15_, _tmp28_, NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (str);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ str = _tmp29_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp28_);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp24_);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp22_);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp18_);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (identifier);
+#line 593 "Scope.c"
+ }
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp31_ = self->priv->token;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp31_ != NULL) {
+#line 599 "Scope.c"
+ JSDOCToken* _tmp32_;
+ gchar* _tmp33_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp32_ = self->priv->token;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp33_ = jsdoc_token_asString (_tmp32_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp30_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp30_ = _tmp33_;
+#line 610 "Scope.c"
+ } else {
+ gchar* _tmp34_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp34_ = g_strdup ("TOP");
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp30_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp30_ = _tmp34_;
+#line 619 "Scope.c"
+ }
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp35_ = indent;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp36_ = g_strconcat ("\n", _tmp35_, NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp37_ = _tmp36_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp38_ = g_strconcat (_tmp37_, "Scope: %d\n", NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp39_ = _tmp38_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp40_ = indent;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp41_ = g_strconcat (_tmp39_, _tmp40_, NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp42_ = _tmp41_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp43_ = g_strconcat (_tmp42_, "Started: %s\n", NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp44_ = _tmp43_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp45_ = indent;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp46_ = g_strconcat (_tmp44_, _tmp45_, NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp47_ = _tmp46_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp48_ = g_strconcat (_tmp47_, "- idents..: %s\n", NULL);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp49_ = _tmp48_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp50_ = self->priv->id;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp51_ = str;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_print (_tmp49_, _tmp50_, _tmp30_, _tmp51_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp49_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp47_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp44_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp42_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp39_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp37_);
+#line 669 "Scope.c"
+ {
+ GeeArrayList* _s_list = NULL;
+ GeeArrayList* _tmp52_;
+ GeeArrayList* _tmp53_;
+ gint _s_size = 0;
+ GeeArrayList* _tmp54_;
+ gint _tmp55_;
+ gint _tmp56_;
+ gint _s_index = 0;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp52_ = self->subScopes;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp53_ = _g_object_ref0 (_tmp52_);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _s_list = _tmp53_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp54_ = _s_list;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp55_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp54_);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp56_ = _tmp55_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _s_size = _tmp56_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _s_index = -1;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 697 "Scope.c"
+ gint _tmp57_;
+ gint _tmp58_;
+ gint _tmp59_;
+ JSDOCScope* s = NULL;
+ GeeArrayList* _tmp60_;
+ gint _tmp61_;
+ gpointer _tmp62_;
+ JSDOCScope* _tmp63_;
+ const gchar* _tmp64_;
+ gchar* _tmp65_;
+ gchar* _tmp66_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp57_ = _s_index;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _s_index = _tmp57_ + 1;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp58_ = _s_index;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp59_ = _s_size;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp58_ < _tmp59_)) {
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 721 "Scope.c"
+ }
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp60_ = _s_list;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp61_ = _s_index;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp62_ = gee_abstract_list_get ((GeeAbstractList*) _tmp60_, _tmp61_);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ s = (JSDOCScope*) _tmp62_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp63_ = s;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp64_ = indent;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp65_ = g_strconcat (_tmp64_, " ", NULL);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp66_ = _tmp65_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_dump (_tmp63_, _tmp66_);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp66_);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (s);
+#line 745 "Scope.c"
+ }
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_s_list);
+#line 749 "Scope.c"
+ }
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp30_);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (iter);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (idents);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (str);
+#line 759 "Scope.c"
+}
+
+
+JSDOCIdentifier* jsdoc_scope_declareIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token) {
+ JSDOCIdentifier* result = NULL;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gboolean _tmp2_;
+ JSDOCToken* _tmp10_;
+ GeeHashMap* _tmp11_;
+ const gchar* _tmp12_;
+ gpointer _tmp13_;
+ gint _tmp14_;
+ const gchar* _tmp19_;
+ GeeHashMap* _tmp20_;
+ const gchar* _tmp21_;
+ gpointer _tmp22_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (symbol != NULL, NULL);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (token != NULL, NULL);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = self->priv->identifier_map;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = symbol;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp2_) {
+#line 791 "Scope.c"
+ JSDOCIdentifier* nid = NULL;
+ const gchar* _tmp3_;
+ JSDOCIdentifier* _tmp4_;
+ GeeArrayList* _tmp5_;
+ JSDOCIdentifier* _tmp6_;
+ GeeHashMap* _tmp7_;
+ const gchar* _tmp8_;
+ JSDOCIdentifier* _tmp9_;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = symbol;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = jsdoc_identifier_new (_tmp3_, self);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ nid = _tmp4_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = self->priv->identifier_list;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = nid;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp5_, _tmp6_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = self->priv->identifier_map;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = symbol;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = nid;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp7_, _tmp8_, _tmp9_);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (nid);
+#line 822 "Scope.c"
+ }
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = token;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = self->priv->identifier_map;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = symbol;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp11_, _tmp12_);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp10_->identifier);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_->identifier = (JSDOCIdentifier*) _tmp13_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = self->priv->braceN;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp14_ < 0) {
+#line 840 "Scope.c"
+ GeeHashMap* _tmp15_;
+ const gchar* _tmp16_;
+ gpointer _tmp17_;
+ JSDOCIdentifier* _tmp18_;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = self->priv->identifier_map;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = symbol;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp15_, _tmp16_);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = (JSDOCIdentifier*) _tmp17_;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_->toMunge = FALSE;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp18_);
+#line 857 "Scope.c"
+ }
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = symbol;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_addToParentScope (self, _tmp19_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = self->priv->identifier_map;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = symbol;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp22_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp20_, _tmp21_);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = (JSDOCIdentifier*) _tmp22_;
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 873 "Scope.c"
+}
+
+
+JSDOCIdentifier* jsdoc_scope_getIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token) {
+ JSDOCIdentifier* result = NULL;
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ gboolean _tmp2_;
+ GeeHashMap* _tmp3_;
+ const gchar* _tmp4_;
+ gpointer _tmp5_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (symbol != NULL, NULL);
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (token != NULL, NULL);
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = self->priv->identifier_map;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = symbol;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp0_, _tmp1_);
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp2_) {
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = NULL;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 903 "Scope.c"
+ }
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = self->priv->identifier_map;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = symbol;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp4_);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = (JSDOCIdentifier*) _tmp5_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 915 "Scope.c"
+}
+
+
+void jsdoc_scope_addHint (JSDOCScope* self, const gchar* varName, const gchar* varType) {
+ GeeHashMap* _tmp0_;
+ const gchar* _tmp1_;
+ const gchar* _tmp2_;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (self != NULL);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (varName != NULL);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (varType != NULL);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = self->priv->hints;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = varName;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = varType;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp0_, _tmp1_, _tmp2_);
+#line 937 "Scope.c"
+}
+
+
+void jsdoc_scope_preventMunging (JSDOCScope* self) {
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (self != NULL);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->mungeM = FALSE;
+#line 946 "Scope.c"
+}
+
+
+static void _vala_array_add1 (gchar** * array, int* length, int* size, gchar* value) {
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if ((*length) == (*size)) {
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 957 "Scope.c"
+ }
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[(*length)++] = value;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[*length] = NULL;
+#line 963 "Scope.c"
+}
+
+
+gchar** jsdoc_scope_getUsedSymbols (JSDOCScope* self, int* result_length1) {
+ gchar** result = NULL;
+ gchar** _result_ = NULL;
+ gchar** _tmp0_;
+ gint _result__length1;
+ gint __result__size_;
+ GeeArrayList* idents = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeListIterator* iter = NULL;
+ GeeArrayList* _tmp3_;
+ GeeListIterator* _tmp4_;
+ gchar** _tmp21_;
+ gint _tmp21__length1;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = g_new0 (gchar*, 0 + 1);
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _result_ = _tmp0_;
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _result__length1 = 0;
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ __result__size_ = _result__length1;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = self->priv->identifier_list;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ idents = _tmp2_;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = idents;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp3_);
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ iter = _tmp4_;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1005 "Scope.c"
+ GeeListIterator* _tmp5_;
+ gboolean _tmp6_;
+ JSDOCIdentifier* identifier = NULL;
+ GeeListIterator* _tmp7_;
+ gpointer _tmp8_;
+ gchar* mungedValue = NULL;
+ JSDOCIdentifier* _tmp9_;
+ const gchar* _tmp10_;
+ gchar* _tmp11_;
+ const gchar* _tmp12_;
+ gint _tmp13_;
+ gint _tmp14_;
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ const gchar* _tmp19_;
+ gchar* _tmp20_;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = iter;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = gee_iterator_next ((GeeIterator*) _tmp5_);
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp6_) {
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1030 "Scope.c"
+ }
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = iter;
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = gee_iterator_get ((GeeIterator*) _tmp7_);
+#line 160 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ identifier = (JSDOCIdentifier*) _tmp8_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = identifier;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = _tmp9_->mungedValue;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = g_strdup (_tmp10_);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ mungedValue = _tmp11_;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = mungedValue;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = strlen (_tmp12_);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = _tmp13_;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp14_ < 1) {
+#line 1054 "Scope.c"
+ JSDOCIdentifier* _tmp15_;
+ const gchar* _tmp16_;
+ gchar* _tmp17_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = identifier;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = _tmp15_->name;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = g_strdup (_tmp16_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (mungedValue);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ mungedValue = _tmp17_;
+#line 1068 "Scope.c"
+ }
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = _result_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18__length1 = _result__length1;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = mungedValue;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = g_strdup (_tmp19_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _vala_array_add1 (&_result_, &_result__length1, &__result__size_, _tmp20_);
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (mungedValue);
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (identifier);
+#line 1084 "Scope.c"
+ }
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = _result_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21__length1 = _result__length1;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (result_length1) {
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *result_length1 = _tmp21__length1;
+#line 1094 "Scope.c"
+ }
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = _tmp21_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (iter);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (idents);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 1104 "Scope.c"
+}
+
+
+static void _vala_array_add2 (gchar** * array, int* length, int* size, gchar* value) {
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if ((*length) == (*size)) {
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 1115 "Scope.c"
+ }
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[(*length)++] = value;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[*length] = NULL;
+#line 1121 "Scope.c"
+}
+
+
+static gchar** jsdoc_scope_getAllUsedSymbols (JSDOCScope* self, int* result_length1) {
+ gchar** result = NULL;
+ gchar** _result_ = NULL;
+ gint _tmp0_;
+ gchar** _tmp1_;
+ gint _result__length1;
+ gint __result__size_;
+ JSDOCScope* scope = NULL;
+ JSDOCScope* _tmp2_;
+ JSDOCScope* _tmp3_;
+ gchar** _tmp20_;
+ gint _tmp20__length1;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = jsdoc_scope_getUsedSymbols (self, &_tmp0_);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _result_ = _tmp1_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _result__length1 = _tmp0_;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ __result__size_ = _result__length1;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = self->parent;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp3_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1155 "Scope.c"
+ JSDOCScope* _tmp4_;
+ gchar** ps = NULL;
+ JSDOCScope* _tmp5_;
+ gint _tmp6_;
+ gchar** _tmp7_;
+ gint ps_length1;
+ gint _ps_size_;
+ JSDOCScope* _tmp17_;
+ JSDOCScope* _tmp18_;
+ JSDOCScope* _tmp19_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = scope;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp4_ != NULL)) {
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1172 "Scope.c"
+ }
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = scope;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = jsdoc_scope_getUsedSymbols (_tmp5_, &_tmp6_);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ps = _tmp7_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ps_length1 = _tmp6_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _ps_size_ = ps_length1;
+#line 1184 "Scope.c"
+ {
+ gint i = 0;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = 0;
+#line 1189 "Scope.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = TRUE;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1196 "Scope.c"
+ gint _tmp10_;
+ gchar** _tmp11_;
+ gint _tmp11__length1;
+ gchar** _tmp12_;
+ gint _tmp12__length1;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gint _tmp14_;
+ const gchar* _tmp15_;
+ gchar* _tmp16_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp8_) {
+#line 1209 "Scope.c"
+ gint _tmp9_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = i;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = _tmp9_ + 1;
+#line 1215 "Scope.c"
+ }
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = FALSE;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = i;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = ps;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11__length1 = ps_length1;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp10_ < _tmp11__length1)) {
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1229 "Scope.c"
+ }
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = _result_;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12__length1 = _result__length1;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = ps;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13__length1 = ps_length1;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = i;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = _tmp13_[_tmp14_];
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = g_strdup (_tmp15_);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _vala_array_add2 (&_result_, &_result__length1, &__result__size_, _tmp16_);
+#line 1247 "Scope.c"
+ }
+ }
+ }
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = scope;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = _tmp17_->parent;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = _g_object_ref0 (_tmp18_);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp19_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ps = (_vala_array_free (ps, ps_length1, (GDestroyNotify) g_free), NULL);
+#line 1263 "Scope.c"
+ }
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = _result_;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20__length1 = _result__length1;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (result_length1) {
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *result_length1 = _tmp20__length1;
+#line 1273 "Scope.c"
+ }
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = _tmp20_;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 1281 "Scope.c"
+}
+
+
+/** - we need to register short vairalbes so they never get munged into.. */
+void jsdoc_scope_addToParentScope (JSDOCScope* self, const gchar* ident) {
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ JSDOCScope* scope = NULL;
+ JSDOCScope* _tmp3_;
+ JSDOCScope* _tmp4_;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (self != NULL);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (ident != NULL);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = ident;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = strlen (_tmp0_);
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = _tmp1_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp2_ > 2) {
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return;
+#line 1307 "Scope.c"
+ }
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = self->parent;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp4_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1317 "Scope.c"
+ JSDOCScope* _tmp5_;
+ JSDOCScope* _tmp6_;
+ JSDOCScope* _tmp7_;
+ JSDOCScope* _tmp11_;
+ JSDOCScope* _tmp12_;
+ JSDOCScope* _tmp13_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = scope;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp5_ != NULL)) {
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1330 "Scope.c"
+ }
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = scope;
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = _tmp6_->parent;
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp7_ != NULL) {
+#line 1338 "Scope.c"
+ JSDOCScope* _tmp8_;
+ GeeHashMap* _tmp9_;
+ const gchar* _tmp10_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = scope;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = _tmp8_->priv->protectedVars;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = ident;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp9_, _tmp10_, (gpointer) ((gintptr) TRUE));
+#line 1350 "Scope.c"
+ }
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = scope;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = _tmp11_->parent;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = _g_object_ref0 (_tmp12_);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp13_;
+#line 1362 "Scope.c"
+ }
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 1366 "Scope.c"
+}
+
+
+gboolean jsdoc_scope_isProtectedVar (JSDOCScope* self, const gchar* ident) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ JSDOCScope* scope = NULL;
+ JSDOCScope* _tmp3_;
+ JSDOCScope* _tmp4_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_val_if_fail (ident != NULL, FALSE);
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = ident;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = strlen (_tmp0_);
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = _tmp1_;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp2_ > 2) {
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = FALSE;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 1394 "Scope.c"
+ }
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = self->parent;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp4_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1404 "Scope.c"
+ JSDOCScope* _tmp5_;
+ JSDOCScope* _tmp6_;
+ JSDOCScope* _tmp7_;
+ JSDOCScope* _tmp12_;
+ JSDOCScope* _tmp13_;
+ JSDOCScope* _tmp14_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = scope;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp5_ != NULL)) {
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1417 "Scope.c"
+ }
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = scope;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = _tmp6_->parent;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp7_ != NULL) {
+#line 1425 "Scope.c"
+ JSDOCScope* _tmp8_;
+ GeeHashMap* _tmp9_;
+ const gchar* _tmp10_;
+ gboolean _tmp11_;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = scope;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = _tmp8_->priv->protectedVars;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = ident;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp9_, _tmp10_);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp11_) {
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = TRUE;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 1446 "Scope.c"
+ }
+ }
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = scope;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = _tmp12_->parent;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = _g_object_ref0 (_tmp13_);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ scope = _tmp14_;
+#line 1459 "Scope.c"
+ }
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = FALSE;
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (scope);
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 1467 "Scope.c"
+}
+
+
+/**
+ * set's all the munged values on the identifiers.
+ *
+ *
+ */
+static void _vala_array_add3 (gchar** * array, int* length, int* size, gchar* value) {
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if ((*length) == (*size)) {
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 1483 "Scope.c"
+ }
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[(*length)++] = value;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[*length] = NULL;
+#line 1489 "Scope.c"
+}
+
+
+void jsdoc_scope_munge (JSDOCScope* self) {
+ gboolean _tmp0_;
+ gboolean _tmp1_;
+ gint pickFromSet = 0;
+ JSDOCScope* _tmp2_;
+ gchar** all = NULL;
+ gchar** _tmp13_;
+ gint all_length1;
+ gint _all_size_;
+ GeeListIterator* iter = NULL;
+ GeeArrayList* _tmp14_;
+ GeeListIterator* _tmp15_;
+ GeeArrayList* freeSymbols = NULL;
+ GeeArrayList* _tmp24_;
+ gchar** sy = NULL;
+ gint _tmp25_;
+ gchar** _tmp26_;
+ gint sy_length1;
+ gint _sy_size_;
+ GeeArrayList* _tmp27_;
+ gchar** _tmp28_;
+ gint _tmp28__length1;
+ gchar** _tmp29_;
+ gint _tmp29__length1;
+ gchar* repsym = NULL;
+ gchar* _tmp30_;
+ GeeArrayList* _tmp31_;
+ GeeListIterator* _tmp32_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (self != NULL);
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = self->priv->mungeM;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp0_) {
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return;
+#line 1529 "Scope.c"
+ }
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = self->priv->munged;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp1_) {
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return;
+#line 1537 "Scope.c"
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ pickFromSet = 1;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = self->parent;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp2_ == NULL) {
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->munged = TRUE;
+#line 1547 "Scope.c"
+ {
+ gint j = 0;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = 0;
+#line 1552 "Scope.c"
+ {
+ gboolean _tmp3_ = FALSE;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = TRUE;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1559 "Scope.c"
+ gint _tmp5_;
+ GeeArrayList* _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCScope* _tmp12_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp3_) {
+#line 1570 "Scope.c"
+ gint _tmp4_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = j;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = _tmp4_ + 1;
+#line 1576 "Scope.c"
+ }
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = FALSE;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = j;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = self->subScopes;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp6_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = _tmp7_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp5_ < _tmp8_)) {
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1592 "Scope.c"
+ }
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = self->subScopes;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp10_ = j;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = (JSDOCScope*) _tmp11_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_munge (_tmp12_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp12_);
+#line 1606 "Scope.c"
+ }
+ }
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return;
+#line 1612 "Scope.c"
+ }
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = g_new0 (gchar*, 0 + 1);
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ all = _tmp13_;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ all_length1 = 0;
+#line 267 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _all_size_ = all_length1;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = self->priv->identifier_list;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp15_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp14_);
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ iter = _tmp15_;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1630 "Scope.c"
+ GeeListIterator* _tmp16_;
+ gboolean _tmp17_;
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ GeeListIterator* _tmp19_;
+ gpointer _tmp20_;
+ JSDOCIdentifier* _tmp21_;
+ const gchar* _tmp22_;
+ gchar* _tmp23_;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = iter;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp17_ = gee_iterator_next ((GeeIterator*) _tmp16_);
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp17_) {
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1648 "Scope.c"
+ }
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = all;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18__length1 = all_length1;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = iter;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = gee_iterator_get ((GeeIterator*) _tmp19_);
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = (JSDOCIdentifier*) _tmp20_;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp22_ = _tmp21_->name;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp23_ = g_strdup (_tmp22_);
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _vala_array_add3 (&all, &all_length1, &_all_size_, _tmp23_);
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp21_);
+#line 1668 "Scope.c"
+ }
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp24_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ freeSymbols = _tmp24_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp26_ = jsdoc_scope_getAllUsedSymbols (self, &_tmp25_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ sy = _tmp26_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ sy_length1 = _tmp25_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _sy_size_ = sy_length1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp27_ = freeSymbols;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp28_ = jsdoc_scope_ones;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp28__length1 = jsdoc_scope_ones_length1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp29_ = sy;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp29__length1 = sy_length1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_array_merge (_tmp27_, _tmp28_, _tmp28__length1, _tmp29_, _tmp29__length1);
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp30_ = g_strdup ("");
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ repsym = _tmp30_;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp31_ = self->priv->identifier_list;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp32_ = gee_abstract_list_list_iterator ((GeeAbstractList*) _tmp31_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (iter);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ iter = _tmp32_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1708 "Scope.c"
+ GeeListIterator* _tmp33_;
+ gboolean _tmp34_;
+ gchar* i = NULL;
+ GeeListIterator* _tmp35_;
+ gpointer _tmp36_;
+ JSDOCIdentifier* _tmp37_;
+ const gchar* _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+ GeeHashMap* _tmp41_;
+ const gchar* _tmp42_;
+ gpointer _tmp43_;
+ JSDOCIdentifier* _tmp44_;
+ gboolean _tmp45_;
+ gboolean _tmp46_;
+ const gchar* _tmp47_;
+ gboolean _tmp48_;
+ const gchar* _tmp49_;
+ gint _tmp50_;
+ gint _tmp51_;
+ JSDOCIdentifier* identifier = NULL;
+ GeeHashMap* _tmp60_;
+ const gchar* _tmp61_;
+ gpointer _tmp62_;
+ gchar* mungedValue = NULL;
+ JSDOCIdentifier* _tmp63_;
+ const gchar* _tmp64_;
+ gchar* _tmp65_;
+ const gchar* _tmp66_;
+ gint _tmp67_;
+ gint _tmp68_;
+ gboolean _tmp69_ = FALSE;
+ gboolean _tmp70_;
+ JSDOCIdentifier* _tmp80_;
+ const gchar* _tmp81_;
+ gchar* _tmp82_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp33_ = iter;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp34_ = gee_iterator_next ((GeeIterator*) _tmp33_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp34_) {
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 1753 "Scope.c"
+ }
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp35_ = iter;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp36_ = gee_iterator_get ((GeeIterator*) _tmp35_);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp37_ = (JSDOCIdentifier*) _tmp36_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp38_ = _tmp37_->name;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp39_ = g_strdup (_tmp38_);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp40_ = _tmp39_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp37_);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = _tmp40_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp41_ = self->priv->identifier_map;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp42_ = i;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp43_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp41_, _tmp42_);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp44_ = (JSDOCIdentifier*) _tmp43_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp45_ = _tmp44_->toMunge;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp46_ = !_tmp45_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp44_);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp46_) {
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ continue;
+#line 1791 "Scope.c"
+ }
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp47_ = i;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp48_ = jsdoc_scope_isProtectedVar (self, _tmp47_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp48_) {
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ continue;
+#line 1803 "Scope.c"
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp49_ = repsym;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp50_ = strlen (_tmp49_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp51_ = _tmp50_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp51_ < 1) {
+#line 1813 "Scope.c"
+ GeeArrayList* _tmp52_;
+ gint _tmp53_;
+ gint _tmp54_;
+ GeeArrayList* _tmp58_;
+ gpointer _tmp59_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp52_ = freeSymbols;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp53_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp52_);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp54_ = _tmp53_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp54_ < 1) {
+#line 1827 "Scope.c"
+ GeeArrayList* _tmp55_;
+ gchar** _tmp56_;
+ gint _tmp56__length1;
+ gchar** _tmp57_;
+ gint _tmp57__length1;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp55_ = freeSymbols;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp56_ = jsdoc_scope_twos;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp56__length1 = jsdoc_scope_twos_length1;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp57_ = sy;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp57__length1 = sy_length1;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_array_merge (_tmp55_, _tmp56_, _tmp56__length1, _tmp57_, _tmp57__length1);
+#line 1845 "Scope.c"
+ }
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp58_ = freeSymbols;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp59_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp58_, 0);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (repsym);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ repsym = (gchar*) _tmp59_;
+#line 1855 "Scope.c"
+ }
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp60_ = self->priv->identifier_map;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp61_ = i;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp62_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp60_, _tmp61_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ identifier = (JSDOCIdentifier*) _tmp62_;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp63_ = identifier;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp64_ = _tmp63_->name;
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp65_ = g_strdup (_tmp64_);
+#line 327 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ mungedValue = _tmp65_;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp66_ = mungedValue;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp67_ = strlen (_tmp66_);
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp68_ = _tmp67_;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp68_ < 3) {
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (mungedValue);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (identifier);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ continue;
+#line 1889 "Scope.c"
+ }
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp70_ = self->priv->mungeM;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp70_) {
+#line 1895 "Scope.c"
+ const gchar* _tmp71_;
+ gint _tmp72_;
+ gint _tmp73_;
+ const gchar* _tmp74_;
+ gint _tmp75_;
+ gint _tmp76_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp71_ = repsym;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp72_ = strlen (_tmp71_);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp73_ = _tmp72_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp74_ = mungedValue;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp75_ = strlen (_tmp74_);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp76_ = _tmp75_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp69_ = _tmp73_ < _tmp76_;
+#line 1916 "Scope.c"
+ } else {
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp69_ = FALSE;
+#line 1920 "Scope.c"
+ }
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp69_) {
+#line 1924 "Scope.c"
+ const gchar* _tmp77_;
+ gchar* _tmp78_;
+ gchar* _tmp79_;
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp77_ = repsym;
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp78_ = g_strdup (_tmp77_);
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (mungedValue);
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ mungedValue = _tmp78_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp79_ = g_strdup ("");
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (repsym);
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ repsym = _tmp79_;
+#line 1942 "Scope.c"
+ }
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp80_ = identifier;
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp81_ = mungedValue;
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp82_ = g_strdup (_tmp81_);
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (_tmp80_->mungedValue);
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp80_->mungedValue = _tmp82_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (mungedValue);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (identifier);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 1960 "Scope.c"
+ }
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->munged = TRUE;
+#line 1964 "Scope.c"
+ {
+ gint j = 0;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = 0;
+#line 1969 "Scope.c"
+ {
+ gboolean _tmp83_ = FALSE;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp83_ = TRUE;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 1976 "Scope.c"
+ gint _tmp85_;
+ GeeArrayList* _tmp86_;
+ gint _tmp87_;
+ gint _tmp88_;
+ GeeArrayList* _tmp89_;
+ gint _tmp90_;
+ gpointer _tmp91_;
+ JSDOCScope* _tmp92_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp83_) {
+#line 1987 "Scope.c"
+ gint _tmp84_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp84_ = j;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = _tmp84_ + 1;
+#line 1993 "Scope.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp83_ = FALSE;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp85_ = j;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp86_ = self->subScopes;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp87_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp86_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp88_ = _tmp87_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp85_ < _tmp88_)) {
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 2009 "Scope.c"
+ }
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp89_ = self->subScopes;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp90_ = j;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp91_ = gee_abstract_list_get ((GeeAbstractList*) _tmp89_, _tmp90_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp92_ = (JSDOCScope*) _tmp91_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_munge (_tmp92_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (_tmp92_);
+#line 2023 "Scope.c"
+ }
+ }
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (repsym);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ sy = (_vala_array_free (sy, sy_length1, (GDestroyNotify) g_free), NULL);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (freeSymbols);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (iter);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ all = (_vala_array_free (all, all_length1, (GDestroyNotify) g_free), NULL);
+#line 2037 "Scope.c"
+}
+
+
+static void jsdoc_scope_array_merge (GeeArrayList* fs, gchar** toadd, int toadd_length1, gchar** ignore, int ignore_length1) {
+ gboolean got_it = FALSE;
+ gchar** _tmp0_;
+ gint _tmp0__length1;
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_return_if_fail (fs != NULL);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ got_it = FALSE;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = toadd;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0__length1 = toadd_length1;
+#line 2053 "Scope.c"
+ {
+ gchar** i_collection = NULL;
+ gint i_collection_length1 = 0;
+ gint _i_collection_size_ = 0;
+ gint i_it = 0;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i_collection = _tmp0_;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i_collection_length1 = _tmp0__length1;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ for (i_it = 0; i_it < _tmp0__length1; i_it = i_it + 1) {
+#line 2065 "Scope.c"
+ gchar* _tmp1_;
+ gchar* i = NULL;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = g_strdup (i_collection[i_it]);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = _tmp1_;
+#line 2072 "Scope.c"
+ {
+ gchar** _tmp2_;
+ gint _tmp2__length1;
+ gboolean _tmp6_;
+ GeeArrayList* _tmp7_;
+ const gchar* _tmp8_;
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ got_it = FALSE;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = ignore;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2__length1 = ignore_length1;
+#line 2085 "Scope.c"
+ {
+ gchar** ig_collection = NULL;
+ gint ig_collection_length1 = 0;
+ gint _ig_collection_size_ = 0;
+ gint ig_it = 0;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ig_collection = _tmp2_;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ig_collection_length1 = _tmp2__length1;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ for (ig_it = 0; ig_it < _tmp2__length1; ig_it = ig_it + 1) {
+#line 2097 "Scope.c"
+ gchar* _tmp3_;
+ gchar* ig = NULL;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp3_ = g_strdup (ig_collection[ig_it]);
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ ig = _tmp3_;
+#line 2104 "Scope.c"
+ {
+ const gchar* _tmp4_;
+ const gchar* _tmp5_;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = i;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = ig;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (g_strcmp0 (_tmp4_, _tmp5_) == 0) {
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ got_it = TRUE;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (ig);
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 2120 "Scope.c"
+ }
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (ig);
+#line 2124 "Scope.c"
+ }
+ }
+ }
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = got_it;
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp6_) {
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ continue;
+#line 2136 "Scope.c"
+ }
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = fs;
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = i;
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp7_, _tmp8_);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (i);
+#line 2146 "Scope.c"
+ }
+ }
+ }
+}
+
+
+static void _vala_array_add4 (gchar** * array, int* length, int* size, gchar* value) {
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if ((*length) == (*size)) {
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 2160 "Scope.c"
+ }
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[(*length)++] = value;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ (*array)[*length] = NULL;
+#line 2166 "Scope.c"
+}
+
+
+static gchar** _vala_array_dup1 (gchar** self, int length) {
+ gchar** result;
+ int i;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result = g_new0 (gchar*, length + 1);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ for (i = 0; i < length; i++) {
+#line 2177 "Scope.c"
+ gchar* _tmp0_;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = g_strdup (self[i]);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ result[i] = _tmp0_;
+#line 2183 "Scope.c"
+ }
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return result;
+#line 2187 "Scope.c"
+}
+
+
+static void jsdoc_scope_init (void) {
+ gboolean _tmp0_;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gchar** _tmp3_;
+ gchar** _tmp4_;
+ gchar** _tmp5_;
+ gint _tmp5__length1;
+ gchar** _tmp6_;
+ gchar** _tmp7_;
+ gint _tmp7__length1;
+ GeeArrayList* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gchar** _tmp10_;
+ gchar** _tmp11_;
+ gchar** _tmp12_;
+ gint _tmp12__length1;
+ gchar** _tmp13_;
+ gchar** _tmp14_;
+ gint _tmp14__length1;
+ gchar** _tmp15_;
+ gchar** _tmp16_;
+ gchar** n = NULL;
+ gchar** _tmp17_;
+ gchar** _tmp18_;
+ gint n_length1;
+ gint _n_size_;
+ gchar** twos = NULL;
+ gchar** _tmp19_;
+ gint twos_length1;
+ gint _twos_size_;
+ gchar** _tmp41_;
+ gint _tmp41__length1;
+ gchar** _tmp42_;
+ gint _tmp42__length1;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = jsdoc_scope_initialized;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp0_) {
+#line 386 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ return;
+#line 2232 "Scope.c"
+ }
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_initialized = TRUE;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp1_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (jsdoc_scope_builtin);
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_builtin = _tmp1_;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp2_ = jsdoc_scope_builtin;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp4_ = _tmp3_ = g_strsplit ("NaN,top", ",", 0);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = _tmp4_;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5__length1 = _vala_array_length (_tmp3_);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp6_ = g_new0 (gchar*, 0 + 1);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = _tmp6_;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7__length1 = 0;
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_array_merge (_tmp2_, _tmp5_, _vala_array_length (_tmp3_), _tmp7_, 0);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp7_ = (_vala_array_free (_tmp7_, _tmp7__length1, (GDestroyNotify) g_free), NULL);
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp5_ = (_vala_array_free (_tmp5_, _tmp5__length1, (GDestroyNotify) g_free), NULL);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp8_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (jsdoc_scope_skips);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_skips = _tmp8_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp9_ = jsdoc_scope_skips;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp11_ = _tmp10_ = g_strsplit ("as,is,do,if,in,for,int,new,try,use,var,NaN,top", ",", 0);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = _tmp11_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12__length1 = _vala_array_length (_tmp10_);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp13_ = g_new0 (gchar*, 0 + 1);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = _tmp13_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14__length1 = 0;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_array_merge (_tmp9_, _tmp12_, _vala_array_length (_tmp10_), _tmp14_, 0);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp14_ = (_vala_array_free (_tmp14_, _tmp14__length1, (GDestroyNotify) g_free), NULL);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp12_ = (_vala_array_free (_tmp12_, _tmp12__length1, (GDestroyNotify) g_free), NULL);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp16_ = _tmp15_ = g_strsplit ("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i," \
+"j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z", ",", 0);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_ones = (_vala_array_free (jsdoc_scope_ones, jsdoc_scope_ones_length1, (GDestroyNotify) g_free), NULL);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_ones = _tmp16_;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_ones_length1 = _vala_array_length (_tmp15_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp18_ = _tmp17_ = g_strsplit ("A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i," \
+"j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9", ",", 0);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ n = _tmp18_;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ n_length1 = _vala_array_length (_tmp17_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _n_size_ = n_length1;
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp19_ = g_new0 (gchar*, 0 + 1);
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ twos = _tmp19_;
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ twos_length1 = 0;
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _twos_size_ = twos_length1;
+#line 2312 "Scope.c"
+ {
+ gint i = 0;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = 0;
+#line 2317 "Scope.c"
+ {
+ gboolean _tmp20_ = FALSE;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = TRUE;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 2324 "Scope.c"
+ gint _tmp22_;
+ gchar** _tmp23_;
+ gint _tmp23__length1;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp20_) {
+#line 2330 "Scope.c"
+ gint _tmp21_;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp21_ = i;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ i = _tmp21_ + 1;
+#line 2336 "Scope.c"
+ }
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp20_ = FALSE;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp22_ = i;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp23_ = jsdoc_scope_ones;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp23__length1 = jsdoc_scope_ones_length1;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp22_ < _tmp23__length1)) {
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 2350 "Scope.c"
+ }
+ {
+ gint j = 0;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = 0;
+#line 2356 "Scope.c"
+ {
+ gboolean _tmp24_ = FALSE;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp24_ = TRUE;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ while (TRUE) {
+#line 2363 "Scope.c"
+ gint _tmp26_;
+ gchar** _tmp27_;
+ gint _tmp27__length1;
+ gchar* tw = NULL;
+ gchar** _tmp28_;
+ gint _tmp28__length1;
+ gint _tmp29_;
+ const gchar* _tmp30_;
+ gchar** _tmp31_;
+ gint _tmp31__length1;
+ gint _tmp32_;
+ const gchar* _tmp33_;
+ gchar* _tmp34_;
+ GeeArrayList* _tmp35_;
+ const gchar* _tmp36_;
+ gint _tmp37_;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!_tmp24_) {
+#line 2382 "Scope.c"
+ gint _tmp25_;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp25_ = j;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ j = _tmp25_ + 1;
+#line 2388 "Scope.c"
+ }
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp24_ = FALSE;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp26_ = j;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp27_ = n;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp27__length1 = n_length1;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (!(_tmp26_ < _tmp27__length1)) {
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ break;
+#line 2402 "Scope.c"
+ }
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp28_ = jsdoc_scope_ones;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp28__length1 = jsdoc_scope_ones_length1;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp29_ = i;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp30_ = _tmp28_[_tmp29_];
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp31_ = n;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp31__length1 = n_length1;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp32_ = j;
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp33_ = _tmp31_[_tmp32_];
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp34_ = g_strconcat (_tmp30_, _tmp33_, NULL);
+#line 401 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ tw = _tmp34_;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp35_ = jsdoc_scope_skips;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp36_ = tw;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp37_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp35_, _tmp36_);
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ if (_tmp37_ < 0) {
+#line 2432 "Scope.c"
+ gchar** _tmp38_;
+ gint _tmp38__length1;
+ const gchar* _tmp39_;
+ gchar* _tmp40_;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp38_ = twos;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp38__length1 = twos_length1;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp39_ = tw;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp40_ = g_strdup (_tmp39_);
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _vala_array_add4 (&twos, &twos_length1, &_twos_size_, _tmp40_);
+#line 2447 "Scope.c"
+ }
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (tw);
+#line 2451 "Scope.c"
+ }
+ }
+ }
+ }
+ }
+ }
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp41_ = twos;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp41__length1 = twos_length1;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp42_ = (_tmp41_ != NULL) ? _vala_array_dup1 (_tmp41_, _tmp41__length1) : ((gpointer) _tmp41_);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp42__length1 = _tmp41__length1;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_twos = (_vala_array_free (jsdoc_scope_twos, jsdoc_scope_twos_length1, (GDestroyNotify) g_free), NULL);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_twos = _tmp42_;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_twos_length1 = _tmp42__length1;
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ twos = (_vala_array_free (twos, twos_length1, (GDestroyNotify) g_free), NULL);
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ n = (_vala_array_free (n, n_length1, (GDestroyNotify) g_free), NULL);
+#line 2476 "Scope.c"
+}
+
+
+static void jsdoc_scope_class_init (JSDOCScopeClass * klass) {
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ jsdoc_scope_parent_class = g_type_class_peek_parent (klass);
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCScopePrivate));
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_scope_finalize;
+#line 2487 "Scope.c"
+}
+
+
+static void jsdoc_scope_instance_init (JSDOCScope * self) {
+ gchar* _tmp0_;
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv = JSDOC_SCOPE_GET_PRIVATE (self);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _tmp0_ = g_strdup ("");
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->ident = _tmp0_;
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->mungeM = TRUE;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self->priv->munged = FALSE;
+#line 2503 "Scope.c"
+}
+
+
+static void jsdoc_scope_finalize (GObject * obj) {
+ JSDOCScope * self;
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_SCOPE, JSDOCScope);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->parent);
+#line 13 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->subScopes);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_free0 (self->ident);
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->identifier_map);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->identifier_list);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->hints);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->protectedVars);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ _g_object_unref0 (self->priv->token);
+#line 7 "/home/alan/gitlive/roojspacker/src/jsdoc/Scope.vala"
+ G_OBJECT_CLASS (jsdoc_scope_parent_class)->finalize (obj);
+#line 2529 "Scope.c"
+}
+
+
+GType jsdoc_scope_get_type (void) {
+ static volatile gsize jsdoc_scope_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_scope_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCScopeClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_scope_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCScope), 0, (GInstanceInitFunc) jsdoc_scope_instance_init, NULL };
+ GType jsdoc_scope_type_id;
+ jsdoc_scope_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCScope", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_scope_type_id__volatile, jsdoc_scope_type_id);
+ }
+ return jsdoc_scope_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+
+namespace JSDOC
+{
+ public int Scope_gid = 0;
+
+ public class Scope : Object
+ {
+
+ int id ;
+ int braceN ;
+ public Scope parent;
+ public Gee.ArrayList<Scope> subScopes;
+ public string ident = ""; // used by the walker...
+
+ Gee.HashMap<string,Identifier> identifier_map; // map of identifiers to {Identifier} objects
+ Gee.ArrayList<Identifier> identifier_list;
+
+ Gee.HashMap<string,string> hints;
+ bool mungeM = true;
+ //ident: '',
+
+ bool munged = false;
+ Gee.HashMap<string,bool> protectedVars ; // only used by to parent..
+ Token? token;
+ // lastIdent is only used on the documentation parser..
+ public Scope(int braceN, Scope? parent, int startTokN, string lastIdent, Token? token) // Identifier? lastIdent
+ {
+ if (lastIdent.length> 0 ) {
+ GLib.debug("NEW SCOPE: %s", lastIdent);
+ }
+ this.ident = "";
+ this.braceN = braceN;
+ this.parent = parent;
+ this.id = startTokN;
+ this.identifier_map = new Gee.HashMap<string,Identifier>();
+ this.identifier_list = new Gee.ArrayList<Identifier>();
+ this.subScopes = new Gee.ArrayList<Scope> ();
+ this.hints = new Gee.HashMap<string,string>();
+ this.protectedVars = new Gee.HashMap<string,bool>();
+ this.ident = lastIdent;
+ this.id = Scope_gid++;
+ this.token = token;
+ //print("ADD SCOPE(" + this.gid + ") TO "+ (parent ? this.parent.gid : 'TOP') + ' : ' +
+ // (token ? token.toString() : ''));
+
+ if (parent != null) {
+ this.parent.subScopes.add(this);
+ }
+ Scope.init();
+
+ }
+
+
+
+
+
+
+
+
+ /**
+ * dump the scope to StdOut...
+ *
+ */
+ public void dump (string indent = "")
+ {
+ //indent = indent || '';
+
+ var str = "";
+ var idents = this.identifier_list;
+ var iter = idents.list_iterator();
+ while (iter.next()) {
+ var identifier = iter.get();
+ str += (str.length > 0 ? ", " : "");
+ str += indent + " " + identifier.name + "=>" + identifier.mungedValue ;
+ }
+
+ print( "\n"+
+ indent + "Scope: %d\n" +
+ indent + "Started: %s\n" +
+ indent + "- idents..: %s\n",
+
+ this.id,
+ this.token != null ? this.token.asString() : "TOP",
+ str
+ // " + XObject.keys(this.identifiers).join(", ") + "
+ );
+ foreach(var s in this.subScopes) {
+ s.dump(indent + " ");
+ };
+
+
+ }
+
+
+ public Identifier declareIdentifier(string symbol, Token token)
+ {
+
+ //print("SCOPE : " + this.gid + " :SYM: " + symbol + " " + token.toString()+"");
+
+ if (!this.identifier_map.has_key(symbol)) {
+ var nid = new Identifier(symbol, this);
+ this.identifier_list.add(nid);
+ this.identifier_map.set(symbol, nid);
+
+ }
+
+ //if (typeof(token) != 'undefined') { // shoudl this happen?
+ token.identifier = this.identifier_map.get(symbol);
+
+ //}
+ if (this.braceN < 0) {
+ // then it's global...
+ this.identifier_map.get(symbol).toMunge = false;
+ }
+
+
+ this.addToParentScope(symbol);
+ return this.identifier_map.get(symbol);
+ }
+
+
+
+ public Identifier? getIdentifier(string symbol, Token token)
+ {
+ if (!this.identifier_map.has_key(symbol)) {
+ return null;
+ //if (['String', 'Date'].indexOf(symbol)> -1) {
+ // return false;
+ //}
+
+ //print("SCOPE : " + this.gid +" = SYMBOL NOT FOUND?" + token.toString());
+ //return n;
+ }
+ //print("SCOPE : " + this.gid +" = FOUND:" + token.toString());
+ return this.identifier_map.get(symbol);
+ }
+
+ public void addHint(string varName, string varType) {
+
+ this.hints.set(varName, varType);
+ }
+ public void preventMunging () {
+ this.mungeM = false;
+ }
+
+ //usedsymcache : false,
+
+ public string[] getUsedSymbols () {
+
+ string[] result = {};
+
+ // if (this.usedsymcache !== false) {
+ // return this.usedsymcache;
+ //}
+
+ var idents = this.identifier_list;
+ var iter = idents.list_iterator();
+ while (iter.next()) {
+ var identifier = iter.get();
+ //println('<b>'+i+'</b>='+typeof(idents[i]) +'<br/>');
+ //var identifier = this.identifier_map.get(i);
+ var mungedValue = identifier.mungedValue;
+
+ if (mungedValue.length < 1) {
+ //println(identifier.toSource());
+ mungedValue = identifier.name;
+ }
+ result += mungedValue;
+ }
+ //println("Symbols for ("+ this.id +"): <B>" + result.join(',') + "</B><BR/>");
+ //this.usedsymcache = result;
+ return result;
+ }
+
+ string[] getAllUsedSymbols()
+ {
+ var result = this.getUsedSymbols();
+ var scope = this.parent;
+ while (scope != null) {
+ var ps = scope.getUsedSymbols();
+ for (var i =0; i< ps.length; i++) {
+ result += ps[i];
+ }
+ scope = scope.parent;
+ }
+ //println("Done - addused");
+ return result;
+ }
+ /** - we need to register short vairalbes so they never get munged into.. */
+ public void addToParentScope(string ident)
+ {
+ if (ident.length > 2) {
+ return;
+ }
+ var scope = this.parent;
+ while (scope != null) {
+ //println("addused:"+scope.id);
+ if (scope.parent != null) {
+ scope.protectedVars.set(ident, true);
+ }
+ scope = scope.parent;
+ }
+
+ }
+ public bool isProtectedVar(string ident)
+ {
+ //if (ident == "_this") { // not sure why we need to protect _this. as it should be calculated as protected..
+ // return true;
+ //}
+
+ if (ident.length > 2) {
+ return false;
+ }
+ var scope = this.parent;
+ while (scope != null) {
+ //println("addused:"+scope.id);
+ if (scope.parent != null) {
+ if (scope.protectedVars.has_key(ident)) {
+ return true;
+ }
+ }
+ scope = scope.parent;
+ }
+ return false;
+ }
+
+
+
+
+ /**
+ * set's all the munged values on the identifiers.
+ *
+ *
+ */
+
+ public void munge()
+ {
+
+ if (!this.mungeM) {
+ // Stop right here if this scope was flagged as unsafe for munging.
+ // println("MUNGE: SKIP - Scope" + this.id+"</BR>");
+ return;
+ }
+ if (this.munged) {
+ return;
+ }
+
+
+
+
+ var pickFromSet = 1;
+
+ // Do not munge symbols in the global scope!
+ if (this.parent == null) {
+ // same code at bottom... ?? goto::
+ this.munged = true;
+ //println("Doing sub scopes");
+ for (var j = 0; j < this.subScopes.size; j++) {
+ this.subScopes.get(j).munge();
+
+ }
+
+ return;
+ }
+
+ string[] all = {};
+ var iter = this.identifier_list.list_iterator();
+ while (iter.next()) {
+ all += iter.get().name;
+ }
+ //print("MUNGE: %s\n", string.joinv(",", all));
+
+ //println("MUNGE: Building FreeSyms:" + this.id+"</BR>");
+
+ Gee.ArrayList<string> freeSymbols= new Gee.ArrayList<string>();
+
+ var sy = this.getAllUsedSymbols();
+
+ // we need to remove the used from the free.....
+
+
+
+
+
+
+ Scope.array_merge(freeSymbols,Scope.ones,sy);
+
+ var repsym = "";
+ //println(freeSymbols.toSource());
+
+ //println("MUNGE: Replacing " + this.id+"</BR>");
+ iter = this.identifier_list.list_iterator();
+ while (iter.next()) {
+ var i = iter.get().name;
+
+ // is the identifer in the global scope!?!!?
+
+
+ if (!this.identifier_map.get(i).toMunge) {
+ //print("SKIP toMunge==false : " + i)
+ continue;
+ }
+
+ if (this.isProtectedVar(i)) {
+ //print("SKIP PROTECTED: " + i)
+ continue; //
+ }
+
+
+
+ //if (this.identifiers[i].constructor != Identifier) {
+ // print("SKIP NOT IDENTIFIER : " + i)
+ // continue;
+ // }
+ // println("IDENT:" +i+'</BR>');
+
+ if (repsym.length < 1) {
+ if (freeSymbols.size < 1) {
+ Scope.array_merge(freeSymbols,Scope.twos,sy);
+ }
+ repsym = freeSymbols.remove_at(0); // pop off beginngin???
+ }
+
+ var identifier = this.identifier_map.get(i);
+ //println(typeof(identifier.name));
+ var mungedValue = identifier.name;
+
+ if (mungedValue.length < 3) { // don't bother replacing 1&2 character variables..
+ continue;
+ }
+
+ //println([ repsym,mungedValue ]);
+
+ if (this.mungeM && repsym.length < mungedValue.length) {
+ //print("REPLACE:"+ mungedValue +" with " + repsym );
+ mungedValue = repsym;
+ repsym = "";
+ }
+
+ identifier.mungedValue = mungedValue;
+ }
+ //println("MUNGE: Done " + this.id+"</BR>");
+
+ this.munged = true;
+ //println("Doing sub scopes");
+ for (var j = 0; j < this.subScopes.size; j++) {
+ this.subScopes.get(j).munge();
+ }
+ }
+
+
+
+ // ---------------------- static part... --------------------
+
+
+
+ static void array_merge(Gee.ArrayList<string> fs, string[] toadd, string[] ignore)
+ {
+ var got_it = false;
+ foreach(var i in toadd) {
+ got_it = false;
+ foreach(var ig in ignore) {
+ if (i == ig) {
+ got_it = true;
+ break;
+ }
+ }
+ if (got_it) {
+ continue;
+ }
+ fs.add(i);
+ }
+
+ }
+ static bool initialized = false;
+ public static Gee.ArrayList<string> builtin;
+ public static Gee.ArrayList<string> skips;
+
+ public static string[] ones;
+ public static string[] twos;
+ // static string[] threes : [],
+ static void init ()
+ {
+ if (Scope.initialized) {
+ return;
+ }
+ Scope.initialized = true;
+ Scope.builtin = new Gee.ArrayList<string>();
+ array_merge(Scope.builtin, "NaN,top".split(","), {});
+
+ Scope.skips = new Gee.ArrayList<string>();
+ array_merge(Scope.skips, "as,is,do,if,in,for,int,new,try,use,var,NaN,top".split(","), {});
+
+ Scope.ones = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z".split(",");
+ var n = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,0,1,2,3,4,5,6,7,8,9".split(",");
+
+ string[] twos = {};
+ for(var i = 0; i < Scope.ones.length; i++) {
+ for(var j = 0; j < n.length; j++) {
+ string tw = Scope.ones[i] + n[j];
+ if (Scope.skips.index_of(tw) < 0) {
+ twos += tw;
+ }
+
+ /*
+ for(var k = 0; k < n.length; k++) {
+ var thr = a[i] + n[j] + n[k];
+ //println("thr="+ thr + ":iOf="+this.skips.indexOf(thr) );
+ if (this.skips.indexOf(thr) < 0) {
+ //println("+"+thr);
+ this.threes.push(thr);
+ }
+
+ }
+ */
+ }
+ }
+ Scope.twos = twos;
+ //println("done creating var list");
+ //println("threes="+ this.threes.toSource());
+ //throw "DONE";
+
+
+ }
+
+ }
+}
+
+
+
--- /dev/null
+/* ScopeParser.c generated by valac 0.36.6, the Vala compiler
+ * generated from ScopeParser.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_SCOPE_PARSER_MODE (jsdoc_scope_parser_mode_get_type ())
+
+#define JSDOC_TYPE_SCOPE_PARSER (jsdoc_scope_parser_get_type ())
+#define JSDOC_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParser))
+#define JSDOC_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+#define JSDOC_IS_SCOPE_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_IS_SCOPE_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE_PARSER))
+#define JSDOC_SCOPE_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserClass))
+
+typedef struct _JSDOCScopeParser JSDOCScopeParser;
+typedef struct _JSDOCScopeParserClass JSDOCScopeParserClass;
+typedef struct _JSDOCScopeParserPrivate JSDOCScopeParserPrivate;
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+typedef struct _Block4Data Block4Data;
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+
+#define JSDOC_PACKER_TYPE_RESULT_TYPE (jsdoc_packer_result_type_get_type ())
+typedef struct _JSDOCIdentifierPrivate JSDOCIdentifierPrivate;
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+typedef struct _JSDOCTokenKeyMapPrivate JSDOCTokenKeyMapPrivate;
+typedef struct _Block5Data Block5Data;
+typedef struct _JSDOCScopePrivate JSDOCScopePrivate;
+
+typedef enum {
+ JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE,
+ JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE
+} JSDOCScopeParserMode;
+
+struct _JSDOCScopeParser {
+ GObject parent_instance;
+ JSDOCScopeParserPrivate * priv;
+};
+
+struct _JSDOCScopeParserClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCScopeParserPrivate {
+ JSDOCTokenStream* ts;
+ GeeArrayList* warnings;
+ JSDOCScope* globalScope;
+ JSDOCScopeParserMode mode;
+ GeeHashMap* indexedScopes;
+ gboolean munge;
+ gint expN;
+ gint braceNesting;
+ JSDOCPacker* packer;
+ gchar* filename;
+};
+
+struct _Block4Data {
+ int _ref_count_;
+ JSDOCScopeParser* self;
+ JSDOCToken* token;
+ JSDOCScope* scope;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenStream {
+ GObject parent_instance;
+ JSDOCTokenStreamPrivate * priv;
+ GeeArrayList* tokens;
+ gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_PACKER_RESULT_TYPE_err,
+ JSDOC_PACKER_RESULT_TYPE_warn
+} JSDOCPackerResultType;
+
+struct _JSDOCIdentifier {
+ GObject parent_instance;
+ JSDOCIdentifierPrivate * priv;
+ gchar* name;
+ gint refcount;
+ gchar* mungedValue;
+ JSDOCScope* scope;
+ gboolean toMunge;
+};
+
+struct _JSDOCIdentifierClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenKeyMap {
+ GObject parent_instance;
+ JSDOCTokenKeyMapPrivate * priv;
+ JSDOCToken* key;
+ GeeArrayList* vals;
+};
+
+struct _JSDOCTokenKeyMapClass {
+ GObjectClass parent_class;
+};
+
+struct _Block5Data {
+ int _ref_count_;
+ JSDOCScopeParser* self;
+ JSDOCToken* token;
+ JSDOCScope* scope;
+};
+
+struct _JSDOCScope {
+ GObject parent_instance;
+ JSDOCScopePrivate * priv;
+ JSDOCScope* parent;
+ GeeArrayList* subScopes;
+ gchar* ident;
+};
+
+struct _JSDOCScopeClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_scope_parser_parent_class = NULL;
+static GeeArrayList* jsdoc_scope_parser_idents;
+static GeeArrayList* jsdoc_scope_parser_idents = NULL;
+static gboolean jsdoc_scope_parser_initialized;
+static gboolean jsdoc_scope_parser_initialized = FALSE;
+extern GeeArrayList* jsdoc_scope_builtin;
+
+GType jsdoc_scope_parser_mode_get_type (void) G_GNUC_CONST;
+GType jsdoc_scope_parser_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+#define JSDOC_SCOPE_PARSER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParserPrivate))
+enum {
+ JSDOC_SCOPE_PARSER_DUMMY_PROPERTY
+};
+static void jsdoc_scope_parser_init (void);
+JSDOCScopeParser* jsdoc_scope_parser_new (JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+JSDOCScopeParser* jsdoc_scope_parser_construct (GType object_type, JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename);
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+JSDOCScope* jsdoc_scope_new (gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+JSDOCScope* jsdoc_scope_construct (GType object_type, gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+void jsdoc_scope_parser_buildSymbolTree (JSDOCScopeParser* self);
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self);
+static void jsdoc_scope_parser_parseScope (JSDOCScopeParser* self, JSDOCScope* scope);
+void jsdoc_scope_parser_mungeSymboltree (JSDOCScopeParser* self);
+void jsdoc_scope_munge (JSDOCScope* self);
+static Block4Data* block4_data_ref (Block4Data* _data4_);
+static void block4_data_unref (void * _userdata_);
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self);
+void jsdoc_token_stream_printRange (JSDOCTokenStream* self, gint start, gint end);
+GType jsdoc_packer_result_type_get_type (void) G_GNUC_CONST;
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message);
+JSDOCIdentifier* jsdoc_scope_getIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+JSDOCIdentifier* jsdoc_scope_declareIdentifier (JSDOCScope* self, const gchar* symbol, JSDOCToken* token);
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+static void jsdoc_scope_parser_parseExpression (JSDOCScopeParser* self, JSDOCScope* scope);
+static void jsdoc_scope_parser_parseFunctionDeclaration (JSDOCScopeParser* self, JSDOCScope* scope);
+static void jsdoc_scope_parser_protectScopeFromObfuscation (JSDOCScopeParser* self, JSDOCScope* scope);
+static void jsdoc_scope_parser_parseCatch (JSDOCScopeParser* self, JSDOCScope* scope);
+static gboolean ________lambda9_ (Block4Data* _data4_, GMatchInfo* match_info, GString* _result_);
+static JSDOCIdentifier* jsdoc_scope_parser_getIdentifier (JSDOCScopeParser* self, const gchar* symbol, JSDOCScope* in_scope, JSDOCToken* token);
+static gboolean _________lambda9__gregex_eval_callback (GMatchInfo* match_info, GString* _result_, gpointer self);
+static Block5Data* block5_data_ref (Block5Data* _data5_);
+static void block5_data_unref (void * _userdata_);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+static gboolean _______lambda8_ (Block5Data* _data5_, GMatchInfo* match_info, GString* _result_);
+static gboolean ________lambda8__gregex_eval_callback (GMatchInfo* match_info, GString* _result_, gpointer self);
+void jsdoc_scope_preventMunging (JSDOCScope* self);
+void jsdoc_scope_parser_printWarnings (JSDOCScopeParser* self);
+static void jsdoc_scope_parser_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+
+
+GType jsdoc_scope_parser_mode_get_type (void) {
+ static volatile gsize jsdoc_scope_parser_mode_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_scope_parser_mode_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE, "JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE", "building-symbol-tree"}, {JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE, "JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE", "pass2-symbol-tree"}, {0, NULL, NULL}};
+ GType jsdoc_scope_parser_mode_type_id;
+ jsdoc_scope_parser_mode_type_id = g_enum_register_static ("JSDOCScopeParserMode", values);
+ g_once_init_leave (&jsdoc_scope_parser_mode_type_id__volatile, jsdoc_scope_parser_mode_type_id);
+ }
+ return jsdoc_scope_parser_mode_type_id__volatile;
+}
+
+
+static void jsdoc_scope_parser_init (void) {
+ gboolean _tmp0_;
+ gchar** identsar = NULL;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+ gchar* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ gchar* _tmp19_;
+ gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ gchar* _tmp25_;
+ gchar* _tmp26_;
+ gchar* _tmp27_;
+ gchar* _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+ gchar* _tmp36_;
+ gchar* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar* _tmp42_;
+ gchar* _tmp43_;
+ gchar* _tmp44_;
+ gchar* _tmp45_;
+ gchar* _tmp46_;
+ gchar* _tmp47_;
+ gchar* _tmp48_;
+ gchar* _tmp49_;
+ gchar* _tmp50_;
+ gchar* _tmp51_;
+ gchar* _tmp52_;
+ gchar* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+ gchar* _tmp57_;
+ gchar* _tmp58_;
+ gchar* _tmp59_;
+ gchar* _tmp60_;
+ gchar** _tmp61_;
+ gint identsar_length1;
+ gint _identsar_size_;
+ GeeArrayList* _tmp62_;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = jsdoc_scope_parser_initialized;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp0_) {
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 462 "ScopeParser.c"
+ }
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = g_strdup ("break");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = g_strdup ("case");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = g_strdup ("continue");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = g_strdup ("default");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = g_strdup ("delete");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = g_strdup ("do");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = g_strdup ("else");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = g_strdup ("export");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = g_strdup ("false");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = g_strdup ("for");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = g_strdup ("function");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp12_ = g_strdup ("if");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp13_ = g_strdup ("import");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = g_strdup ("in");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp15_ = g_strdup ("new");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp16_ = g_strdup ("null");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp17_ = g_strdup ("return");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp18_ = g_strdup ("switch");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp19_ = g_strdup ("this");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp20_ = g_strdup ("true");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = g_strdup ("typeof");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp22_ = g_strdup ("var");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp23_ = g_strdup ("void");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp24_ = g_strdup ("while");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp25_ = g_strdup ("with");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp26_ = g_strdup ("catch");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp27_ = g_strdup ("class");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp28_ = g_strdup ("const");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp29_ = g_strdup ("debugger");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp30_ = g_strdup ("enum");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp31_ = g_strdup ("extends");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp32_ = g_strdup ("finally");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp33_ = g_strdup ("super");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_ = g_strdup ("throw");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp35_ = g_strdup ("try");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp36_ = g_strdup ("abstract");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp37_ = g_strdup ("boolean");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp38_ = g_strdup ("byte");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp39_ = g_strdup ("char");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp40_ = g_strdup ("double");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp41_ = g_strdup ("final");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp42_ = g_strdup ("float");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp43_ = g_strdup ("goto");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp44_ = g_strdup ("implements");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp45_ = g_strdup ("instanceof");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp46_ = g_strdup ("int");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp47_ = g_strdup ("interface");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp48_ = g_strdup ("long");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp49_ = g_strdup ("native");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp50_ = g_strdup ("package");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp51_ = g_strdup ("private");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp52_ = g_strdup ("protected");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp53_ = g_strdup ("public");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp54_ = g_strdup ("short");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp55_ = g_strdup ("static");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp56_ = g_strdup ("synchronized");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp57_ = g_strdup ("throws");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp58_ = g_strdup ("transient");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp59_ = g_strdup ("include");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp60_ = g_strdup ("undefined");
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_ = g_new0 (gchar*, 60 + 1);
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[0] = _tmp1_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[1] = _tmp2_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[2] = _tmp3_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[3] = _tmp4_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[4] = _tmp5_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[5] = _tmp6_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[6] = _tmp7_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[7] = _tmp8_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[8] = _tmp9_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[9] = _tmp10_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[10] = _tmp11_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[11] = _tmp12_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[12] = _tmp13_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[13] = _tmp14_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[14] = _tmp15_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[15] = _tmp16_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[16] = _tmp17_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[17] = _tmp18_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[18] = _tmp19_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[19] = _tmp20_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[20] = _tmp21_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[21] = _tmp22_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[22] = _tmp23_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[23] = _tmp24_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[24] = _tmp25_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[25] = _tmp26_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[26] = _tmp27_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[27] = _tmp28_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[28] = _tmp29_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[29] = _tmp30_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[30] = _tmp31_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[31] = _tmp32_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[32] = _tmp33_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[33] = _tmp34_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[34] = _tmp35_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[35] = _tmp36_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[36] = _tmp37_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[37] = _tmp38_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[38] = _tmp39_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[39] = _tmp40_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[40] = _tmp41_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[41] = _tmp42_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[42] = _tmp43_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[43] = _tmp44_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[44] = _tmp45_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[45] = _tmp46_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[46] = _tmp47_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[47] = _tmp48_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[48] = _tmp49_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[49] = _tmp50_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[50] = _tmp51_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[51] = _tmp52_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[52] = _tmp53_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[53] = _tmp54_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[54] = _tmp55_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[55] = _tmp56_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[56] = _tmp57_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[57] = _tmp58_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[58] = _tmp59_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_[59] = _tmp60_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identsar = _tmp61_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identsar_length1 = 60;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _identsar_size_ = identsar_length1;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp62_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (jsdoc_scope_parser_idents);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_idents = _tmp62_;
+#line 718 "ScopeParser.c"
+ {
+ gint i = 0;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = 0;
+#line 723 "ScopeParser.c"
+ {
+ gboolean _tmp63_ = FALSE;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = TRUE;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 730 "ScopeParser.c"
+ gint _tmp65_;
+ gchar** _tmp66_;
+ gint _tmp66__length1;
+ GeeArrayList* _tmp67_;
+ gchar** _tmp68_;
+ gint _tmp68__length1;
+ gint _tmp69_;
+ const gchar* _tmp70_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp63_) {
+#line 741 "ScopeParser.c"
+ gint _tmp64_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp64_ = i;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = _tmp64_ + 1;
+#line 747 "ScopeParser.c"
+ }
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = FALSE;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp65_ = i;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp66_ = identsar;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp66__length1 = identsar_length1;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp65_ < _tmp66__length1)) {
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 761 "ScopeParser.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp67_ = jsdoc_scope_parser_idents;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp68_ = identsar;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp68__length1 = identsar_length1;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp69_ = i;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp70_ = _tmp68_[_tmp69_];
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp67_, _tmp70_);
+#line 775 "ScopeParser.c"
+ }
+ }
+ }
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identsar = (_vala_array_free (identsar, identsar_length1, (GDestroyNotify) g_free), NULL);
+#line 781 "ScopeParser.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 788 "ScopeParser.c"
+}
+
+
+JSDOCScopeParser* jsdoc_scope_parser_construct (GType object_type, JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename) {
+ JSDOCScopeParser * self = NULL;
+ JSDOCTokenStream* _tmp0_;
+ JSDOCTokenStream* _tmp1_;
+ JSDOCPacker* _tmp2_;
+ JSDOCPacker* _tmp3_;
+ const gchar* _tmp4_;
+ gchar* _tmp5_;
+ GeeArrayList* _tmp6_;
+ JSDOCScope* _tmp7_;
+ GeeHashMap* _tmp8_;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (ts != NULL, NULL);
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (packer != NULL, NULL);
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (filename != NULL, NULL);
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = (JSDOCScopeParser*) g_object_new (object_type, NULL);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = ts;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp1_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = packer;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->packer = _tmp3_;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = filename;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (self->priv->filename);
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->filename = _tmp5_;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->warnings);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->warnings = _tmp6_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = jsdoc_scope_new (-1, NULL, -1, "", NULL);
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->globalScope);
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->globalScope = _tmp7_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->indexedScopes = _tmp8_;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return self;
+#line 855 "ScopeParser.c"
+}
+
+
+JSDOCScopeParser* jsdoc_scope_parser_new (JSDOCTokenStream* ts, JSDOCPacker* packer, const gchar* filename) {
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return jsdoc_scope_parser_construct (JSDOC_TYPE_SCOPE_PARSER, ts, packer, filename);
+#line 862 "ScopeParser.c"
+}
+
+
+void jsdoc_scope_parser_buildSymbolTree (JSDOCScopeParser* self) {
+ JSDOCTokenStream* _tmp0_;
+ JSDOCScope* _tmp1_;
+ GeeHashMap* _tmp2_;
+ GeeHashMap* _tmp3_;
+ JSDOCScope* _tmp4_;
+ JSDOCScope* _tmp5_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = self->priv->ts;
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_token_stream_rewind (_tmp0_);
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->braceNesting = 0;
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = jsdoc_scope_new (-1, NULL, -1, "", NULL);
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->globalScope);
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->globalScope = _tmp1_;
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 152 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->indexedScopes = _tmp2_;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = self->priv->indexedScopes;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = self->priv->globalScope;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp3_, (gpointer) ((gintptr) 0), _tmp4_);
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->mode = JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = self->priv->globalScope;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseScope (self, _tmp5_);
+#line 905 "ScopeParser.c"
+}
+
+
+void jsdoc_scope_parser_mungeSymboltree (JSDOCScopeParser* self) {
+ gboolean _tmp0_;
+ JSDOCTokenStream* _tmp1_;
+ JSDOCScope* _tmp2_;
+ JSDOCScope* _tmp3_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = self->priv->munge;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp0_) {
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 922 "ScopeParser.c"
+ }
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = self->priv->ts;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_token_stream_rewind (_tmp1_);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->braceNesting = 0;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->mode = JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = self->priv->globalScope;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseScope (self, _tmp2_);
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = self->priv->globalScope;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_munge (_tmp3_);
+#line 940 "ScopeParser.c"
+}
+
+
+static Block4Data* block4_data_ref (Block4Data* _data4_) {
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_atomic_int_inc (&_data4_->_ref_count_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return _data4_;
+#line 949 "ScopeParser.c"
+}
+
+
+static void block4_data_unref (void * _userdata_) {
+ Block4Data* _data4_;
+ _data4_ = (Block4Data*) _userdata_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) {
+#line 958 "ScopeParser.c"
+ JSDOCScopeParser* self;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = _data4_->self;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->scope);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_slice_free (Block4Data, _data4_);
+#line 970 "ScopeParser.c"
+ }
+}
+
+
+static gboolean ________lambda9_ (Block4Data* _data4_, GMatchInfo* match_info, GString* _result_) {
+ JSDOCScopeParser* self;
+ gboolean result = FALSE;
+ gchar* a = NULL;
+ GMatchInfo* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCIdentifier* hi = NULL;
+ const gchar* _tmp2_;
+ JSDOCScope* _tmp3_;
+ JSDOCToken* _tmp4_;
+ JSDOCIdentifier* _tmp5_;
+ JSDOCIdentifier* _tmp6_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = _data4_->self;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (match_info != NULL, FALSE);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (_result_ != NULL, FALSE);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = match_info;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = g_match_info_fetch (_tmp0_, 1);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ a = _tmp1_;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = a;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = _data4_->scope;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = _data4_->token;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = jsdoc_scope_parser_getIdentifier (self, _tmp2_, _tmp3_, _tmp4_);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ hi = _tmp5_;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = hi;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp6_ != NULL) {
+#line 1013 "ScopeParser.c"
+ JSDOCIdentifier* _tmp7_;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = hi;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_->toMunge = FALSE;
+#line 1019 "ScopeParser.c"
+ }
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ result = FALSE;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (hi);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (a);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 1029 "ScopeParser.c"
+}
+
+
+static gboolean _________lambda9__gregex_eval_callback (GMatchInfo* match_info, GString* _result_, gpointer self) {
+ gboolean result;
+ result = ________lambda9_ (self, match_info, _result_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 1038 "ScopeParser.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 1061 "ScopeParser.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1069 "ScopeParser.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1081 "ScopeParser.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 1105 "ScopeParser.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 1111 "ScopeParser.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 1115 "ScopeParser.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 1119 "ScopeParser.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 1131 "ScopeParser.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 1141 "ScopeParser.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 1147 "ScopeParser.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 1161 "ScopeParser.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 1171 "ScopeParser.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 1177 "ScopeParser.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 1186 "ScopeParser.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1206 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_parseScope (JSDOCScopeParser* self, JSDOCScope* scope) {
+ Block4Data* _data4_;
+ JSDOCScope* _tmp0_;
+ JSDOCScope* _tmp1_;
+ GeeArrayList* isObjectLitAr = NULL;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ JSDOCTokenStream* _tmp4_;
+ JSDOCToken* _tmp5_;
+ GError * _inner_error_ = NULL;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (scope != NULL);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_ = g_slice_new0 (Block4Data);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->_ref_count_ = 1;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->self = g_object_ref (self);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = scope;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->scope);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->scope = _tmp1_;
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = gee_array_list_new (G_TYPE_BOOLEAN, NULL, NULL, NULL, NULL, NULL);
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ isObjectLitAr = _tmp2_;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = isObjectLitAr;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp3_, (gpointer) ((gintptr) FALSE));
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = self->priv->ts;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = jsdoc_token_stream_lookTok (_tmp4_, 1);
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp5_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 1254 "ScopeParser.c"
+ JSDOCToken* _tmp6_;
+ JSDOCToken* _tmp7_;
+ JSDOCTokenType _tmp8_;
+ JSDOCTokenStream* _tmp281_;
+ JSDOCToken* _tmp282_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = _data4_->token;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp6_ != NULL)) {
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1266 "ScopeParser.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = _data4_->token;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = _tmp7_->type;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (_tmp8_) {
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_KEYW:
+#line 1276 "ScopeParser.c"
+ {
+ JSDOCToken* _tmp9_;
+ JSDOCTokenName _tmp10_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = _data4_->token;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = _tmp9_->name;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (_tmp10_) {
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_VAR:
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_CONST:
+#line 1290 "ScopeParser.c"
+ {
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 1294 "ScopeParser.c"
+ JSDOCTokenStream* _tmp11_;
+ JSDOCToken* _tmp12_;
+ JSDOCToken* _tmp13_;
+ gboolean _tmp14_ = FALSE;
+ JSDOCToken* _tmp15_;
+ JSDOCTokenName _tmp16_;
+ JSDOCToken* _tmp19_;
+ JSDOCTokenType _tmp20_;
+ JSDOCScopeParserMode _tmp31_;
+ JSDOCTokenStream* _tmp57_;
+ JSDOCToken* _tmp58_;
+ JSDOCToken* _tmp59_;
+ JSDOCTokenName _tmp60_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = self->priv->ts;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp12_ = jsdoc_token_stream_nextTok (_tmp11_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp12_;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp13_ = _data4_->token;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp13_ == NULL) {
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1322 "ScopeParser.c"
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp15_ = _data4_->token;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp16_ = _tmp15_->name;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp16_ == JSDOC_TOKEN_NAME_VAR) {
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = TRUE;
+#line 1332 "ScopeParser.c"
+ } else {
+ JSDOCToken* _tmp17_;
+ const gchar* _tmp18_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp17_ = _data4_->token;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp18_ = _tmp17_->data;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = g_strcmp0 (_tmp18_, ",") == 0;
+#line 1342 "ScopeParser.c"
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp14_) {
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ continue;
+#line 1348 "ScopeParser.c"
+ }
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp19_ = _data4_->token;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp20_ = _tmp19_->type;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp20_ != JSDOC_TOKEN_TYPE_NAME) {
+#line 1356 "ScopeParser.c"
+ JSDOCTokenStream* _tmp21_;
+ JSDOCTokenStream* _tmp22_;
+ gint _tmp23_;
+ gint _tmp24_;
+ JSDOCTokenStream* _tmp25_;
+ gint _tmp26_;
+ JSDOCPacker* _tmp27_;
+ const gchar* _tmp28_;
+ JSDOCToken* _tmp29_;
+ gint _tmp30_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = self->priv->ts;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp22_ = self->priv->ts;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp23_ = _tmp22_->cursor;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp24_ = MAX (_tmp23_ - 10, 0);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp25_ = self->priv->ts;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp26_ = _tmp25_->cursor;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_token_stream_printRange (_tmp21_, _tmp24_, _tmp26_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp27_ = self->priv->packer;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp28_ = self->priv->filename;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp29_ = _data4_->token;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp30_ = _tmp29_->line;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp27_, JSDOC_PACKER_RESULT_TYPE_err, _tmp28_, _tmp30_, "var without indent");
+#line 1391 "ScopeParser.c"
+ }
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp31_ = self->priv->mode;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp31_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 1397 "ScopeParser.c"
+ JSDOCIdentifier* identifier = NULL;
+ JSDOCScope* _tmp32_;
+ JSDOCToken* _tmp33_;
+ const gchar* _tmp34_;
+ JSDOCToken* _tmp35_;
+ JSDOCIdentifier* _tmp36_;
+ JSDOCIdentifier* _tmp37_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp32_ = _data4_->scope;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp33_ = _data4_->token;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_ = _tmp33_->data;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp35_ = _data4_->token;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp36_ = jsdoc_scope_getIdentifier (_tmp32_, _tmp34_, _tmp35_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp36_;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp37_ = identifier;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp37_ == NULL) {
+#line 1421 "ScopeParser.c"
+ JSDOCScope* _tmp38_;
+ JSDOCToken* _tmp39_;
+ const gchar* _tmp40_;
+ JSDOCToken* _tmp41_;
+ JSDOCIdentifier* _tmp42_;
+ JSDOCIdentifier* _tmp43_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp38_ = _data4_->scope;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp39_ = _data4_->token;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp40_ = _tmp39_->data;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp41_ = _data4_->token;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp42_ = jsdoc_scope_declareIdentifier (_tmp38_, _tmp40_, _tmp41_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp43_ = _tmp42_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp43_);
+#line 1442 "ScopeParser.c"
+ } else {
+ JSDOCToken* _tmp44_;
+ JSDOCIdentifier* _tmp45_;
+ JSDOCIdentifier* _tmp46_;
+ JSDOCPacker* _tmp47_;
+ const gchar* _tmp48_;
+ JSDOCToken* _tmp49_;
+ gint _tmp50_;
+ JSDOCToken* _tmp51_;
+ const gchar* _tmp52_;
+ gchar* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp44_ = _data4_->token;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp45_ = identifier;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp46_ = _g_object_ref0 (_tmp45_);
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp44_->identifier);
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp44_->identifier = _tmp46_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp47_ = self->priv->packer;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp48_ = self->priv->filename;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp49_ = _data4_->token;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp50_ = _tmp49_->line;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp51_ = _data4_->token;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp52_ = _tmp51_->data;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp53_ = g_strconcat ("The variable '", _tmp52_, NULL);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp54_ = _tmp53_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp55_ = g_strconcat (_tmp54_, "' has already been declared in the same scope", NULL);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp56_ = _tmp55_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp47_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp48_, _tmp50_, _tmp56_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp56_);
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp54_);
+#line 1493 "ScopeParser.c"
+ }
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 1497 "ScopeParser.c"
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp57_ = self->priv->ts;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp58_ = jsdoc_token_stream_nextTok (_tmp57_);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp58_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp59_ = _data4_->token;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp60_ = _tmp59_->name;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp60_ == JSDOC_TOKEN_NAME_IN) {
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1515 "ScopeParser.c"
+ } else {
+ gint bn = 0;
+ gint _tmp61_;
+ GeeArrayList* nts = NULL;
+ GeeArrayList* _tmp62_;
+ GeeArrayList* _tmp74_;
+ gint _tmp75_;
+ gint _tmp76_;
+ gint _tmp84_;
+ JSDOCTokenStream* _tmp85_;
+ JSDOCToken* _tmp86_;
+ JSDOCToken* _tmp87_;
+ const gchar* _tmp88_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_ = self->priv->braceNesting;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ bn = _tmp61_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp62_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ nts = _tmp62_;
+#line 301 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 1539 "ScopeParser.c"
+ gboolean _tmp63_ = FALSE;
+ gboolean _tmp64_ = FALSE;
+ JSDOCToken* _tmp65_;
+ GeeArrayList* _tmp70_;
+ JSDOCToken* _tmp71_;
+ JSDOCTokenStream* _tmp72_;
+ JSDOCToken* _tmp73_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp65_ = _data4_->token;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp65_ == NULL) {
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp64_ = TRUE;
+#line 1553 "ScopeParser.c"
+ } else {
+ JSDOCToken* _tmp66_;
+ JSDOCTokenType _tmp67_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp66_ = _data4_->token;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp67_ = _tmp66_->type;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp64_ = _tmp67_ == JSDOC_TOKEN_TYPE_VOID;
+#line 1563 "ScopeParser.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp64_) {
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = TRUE;
+#line 1569 "ScopeParser.c"
+ } else {
+ JSDOCToken* _tmp68_;
+ const gchar* _tmp69_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp68_ = _data4_->token;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp69_ = _tmp68_->data;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = g_strcmp0 (_tmp69_, ",") == 0;
+#line 1579 "ScopeParser.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp63_) {
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1585 "ScopeParser.c"
+ }
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp70_ = nts;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp71_ = _data4_->token;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp70_, _tmp71_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp72_ = self->priv->ts;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp73_ = jsdoc_token_stream_nextTok (_tmp72_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp73_;
+#line 1601 "ScopeParser.c"
+ }
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp74_ = nts;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp75_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp74_);
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp76_ = _tmp75_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp76_ > 0) {
+#line 1611 "ScopeParser.c"
+ JSDOCTokenStream* TS = NULL;
+ JSDOCTokenStream* _tmp77_;
+ JSDOCTokenStream* _tmp78_;
+ GeeArrayList* _tmp79_;
+ JSDOCTokenStream* _tmp80_;
+ JSDOCScope* _tmp81_;
+ JSDOCTokenStream* _tmp82_;
+ JSDOCTokenStream* _tmp83_;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp77_ = self->priv->ts;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp78_ = _g_object_ref0 (_tmp77_);
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ TS = _tmp78_;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp79_ = nts;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp80_ = jsdoc_token_stream_new (_tmp79_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp80_;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp81_ = _data4_->scope;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseExpression (self, _tmp81_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp82_ = TS;
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp83_ = _g_object_ref0 (_tmp82_);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 312 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp83_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (TS);
+#line 1648 "ScopeParser.c"
+ }
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp84_ = bn;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->braceNesting = _tmp84_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp85_ = self->priv->ts;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp86_ = jsdoc_token_stream_lookTok (_tmp85_, 1);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp86_;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp87_ = _data4_->token;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp88_ = _tmp87_->data;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_strcmp0 (_tmp88_, ";") == 0) {
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (nts);
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1672 "ScopeParser.c"
+ }
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (nts);
+#line 1676 "ScopeParser.c"
+ }
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1681 "ScopeParser.c"
+ }
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_FUNCTION:
+#line 1685 "ScopeParser.c"
+ {
+ gint bn = 0;
+ gint _tmp89_;
+ JSDOCScope* _tmp90_;
+ gint _tmp91_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp89_ = self->priv->braceNesting;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ bn = _tmp89_;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp90_ = _data4_->scope;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseFunctionDeclaration (self, _tmp90_);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp91_ = bn;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->braceNesting = _tmp91_;
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1705 "ScopeParser.c"
+ }
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_WITH:
+#line 1709 "ScopeParser.c"
+ {
+ JSDOCScopeParserMode _tmp92_;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp92_ = self->priv->mode;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp92_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 1716 "ScopeParser.c"
+ JSDOCScope* _tmp93_;
+ JSDOCPacker* _tmp94_;
+ const gchar* _tmp95_;
+ JSDOCToken* _tmp96_;
+ gint _tmp97_;
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp93_ = _data4_->scope;
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_protectScopeFromObfuscation (self, _tmp93_);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp94_ = self->priv->packer;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp95_ = self->priv->filename;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp96_ = _data4_->token;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp97_ = _tmp96_->line;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp94_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp95_, _tmp97_, "Using 'with' is not recommended as it reduces the level of compression");
+#line 1736 "ScopeParser.c"
+ }
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1740 "ScopeParser.c"
+ }
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_CATCH:
+#line 1744 "ScopeParser.c"
+ {
+ JSDOCScope* _tmp98_;
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp98_ = _data4_->scope;
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseCatch (self, _tmp98_);
+#line 369 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1753 "ScopeParser.c"
+ }
+ default:
+ {
+ JSDOCScopeParserMode _tmp99_;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp99_ = self->priv->mode;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp99_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 1762 "ScopeParser.c"
+ JSDOCToken* _tmp100_;
+ JSDOCTokenName _tmp101_;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp100_ = _data4_->token;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp101_ = _tmp100_->name;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp101_ == JSDOC_TOKEN_NAME_EVAL) {
+#line 1771 "ScopeParser.c"
+ gboolean _tmp102_ = FALSE;
+ JSDOCToken* _tmp103_;
+ const gchar* _tmp104_;
+ gint _tmp105_;
+ gint _tmp106_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp103_ = _data4_->token;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp104_ = _tmp103_->prefix;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp105_ = strlen (_tmp104_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp106_ = _tmp105_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp106_ > 0) {
+#line 1787 "ScopeParser.c"
+ JSDOCToken* _tmp107_;
+ const gchar* _tmp108_;
+ gboolean _tmp109_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp107_ = _data4_->token;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp108_ = _tmp107_->prefix;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp109_ = g_regex_match_simple ("eval", _tmp108_, 0, 0);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp102_ = _tmp109_;
+#line 1799 "ScopeParser.c"
+ } else {
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp102_ = FALSE;
+#line 1803 "ScopeParser.c"
+ }
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp102_) {
+#line 1807 "ScopeParser.c"
+ GRegex* regex = NULL;
+ GRegex* _tmp110_;
+ GRegex* _tmp111_;
+ JSDOCToken* _tmp112_;
+ const gchar* _tmp113_;
+ JSDOCToken* _tmp114_;
+ const gchar* _tmp115_;
+ gint _tmp116_;
+ gint _tmp117_;
+ gchar* _tmp118_;
+ gchar* _tmp119_;
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp110_ = g_regex_new ("eval:var:([a-z_]+)", G_REGEX_CASELESS, 0, &_inner_error_);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ regex = _tmp110_;
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block4_data_unref (_data4_);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_ = NULL;
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_clear_error (&_inner_error_);
+#line 392 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 1837 "ScopeParser.c"
+ }
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp111_ = regex;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp112_ = _data4_->token;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp113_ = _tmp112_->prefix;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp114_ = _data4_->token;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp115_ = _tmp114_->prefix;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp116_ = strlen (_tmp115_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp117_ = _tmp116_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp118_ = g_regex_replace_eval (_tmp111_, _tmp113_, (gssize) _tmp117_, 0, 0, _________lambda9__gregex_eval_callback, _data4_, &_inner_error_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp119_ = _tmp118_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp119_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_regex_unref0 (regex);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block4_data_unref (_data4_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_ = NULL;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_clear_error (&_inner_error_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 1875 "ScopeParser.c"
+ }
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_regex_unref0 (regex);
+#line 1879 "ScopeParser.c"
+ } else {
+ JSDOCScope* _tmp120_;
+ JSDOCPacker* _tmp121_;
+ const gchar* _tmp122_;
+ JSDOCToken* _tmp123_;
+ gint _tmp124_;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp120_ = _data4_->scope;
+#line 412 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_protectScopeFromObfuscation (self, _tmp120_);
+#line 414 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp121_ = self->priv->packer;
+#line 414 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp122_ = self->priv->filename;
+#line 414 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp123_ = _data4_->token;
+#line 414 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp124_ = _tmp123_->line;
+#line 414 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp121_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp122_, _tmp124_, "Using 'eval' is not recommended. (use eval:var:noreplace in comments " \
+"to optimize)");
+#line 1900 "ScopeParser.c"
+ }
+ }
+ }
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1906 "ScopeParser.c"
+ }
+ }
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 1911 "ScopeParser.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_PUNC:
+#line 1915 "ScopeParser.c"
+ {
+ JSDOCToken* _tmp125_;
+ JSDOCTokenName _tmp126_;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp125_ = _data4_->token;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp126_ = _tmp125_->name;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (_tmp126_) {
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_LEFT_CURLY:
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_LEFT_PAREN:
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_LEFT_BRACE:
+#line 1931 "ScopeParser.c"
+ {
+ JSDOCTokenStream* curTS = NULL;
+ JSDOCTokenStream* _tmp127_;
+ JSDOCTokenStream* _tmp128_;
+ JSDOCToken* _tmp129_;
+ GeeHashMap* _tmp130_;
+ gint _tmp131_;
+ gint _tmp132_;
+ JSDOCTokenStream* _tmp187_;
+ JSDOCTokenStream* _tmp188_;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp127_ = self->priv->ts;
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp128_ = _g_object_ref0 (_tmp127_);
+#line 443 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ curTS = _tmp128_;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp129_ = _data4_->token;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp130_ = _tmp129_->props;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp131_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp130_);
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp132_ = _tmp131_;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp132_ > 0) {
+#line 1958 "ScopeParser.c"
+ JSDOCTokenStream* _tmp171_;
+ JSDOCTokenStream* _tmp172_;
+ {
+ gint i = 0;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = 0;
+#line 1965 "ScopeParser.c"
+ {
+ gboolean _tmp133_ = FALSE;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp133_ = TRUE;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 1972 "ScopeParser.c"
+ gint _tmp135_;
+ JSDOCToken* _tmp136_;
+ GeeArrayList* _tmp137_;
+ gint _tmp138_;
+ gint _tmp139_;
+ gchar* k = NULL;
+ JSDOCToken* _tmp140_;
+ GeeArrayList* _tmp141_;
+ gint _tmp142_;
+ gpointer _tmp143_;
+ JSDOCTokenKeyMap* val = NULL;
+ JSDOCToken* _tmp144_;
+ GeeHashMap* _tmp145_;
+ const gchar* _tmp146_;
+ gpointer _tmp147_;
+ gboolean _tmp148_ = FALSE;
+ JSDOCTokenKeyMap* _tmp149_;
+ JSDOCTokenKeyMap* _tmp154_;
+ GeeArrayList* _tmp155_;
+ gpointer _tmp156_;
+ JSDOCToken* _tmp157_;
+ const gchar* _tmp158_;
+ gboolean _tmp159_;
+ JSDOCTokenKeyMap* _tmp167_;
+ GeeArrayList* _tmp168_;
+ JSDOCTokenStream* _tmp169_;
+ JSDOCScope* _tmp170_;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp133_) {
+#line 2002 "ScopeParser.c"
+ gint _tmp134_;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp134_ = i;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = _tmp134_ + 1;
+#line 2008 "ScopeParser.c"
+ }
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp133_ = FALSE;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp135_ = i;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp136_ = _data4_->token;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp137_ = _tmp136_->keyseq;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp138_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp137_);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp139_ = _tmp138_;
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp135_ < _tmp139_)) {
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2026 "ScopeParser.c"
+ }
+#line 450 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp140_ = _data4_->token;
+#line 450 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp141_ = _tmp140_->keyseq;
+#line 450 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp142_ = i;
+#line 450 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp143_ = gee_abstract_list_get ((GeeAbstractList*) _tmp141_, _tmp142_);
+#line 450 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ k = (gchar*) _tmp143_;
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp144_ = _data4_->token;
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp145_ = _tmp144_->props;
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp146_ = k;
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp147_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp145_, _tmp146_);
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ val = (JSDOCTokenKeyMap*) _tmp147_;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp149_ = val;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp149_ == NULL) {
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp148_ = TRUE;
+#line 2054 "ScopeParser.c"
+ } else {
+ JSDOCTokenKeyMap* _tmp150_;
+ GeeArrayList* _tmp151_;
+ gint _tmp152_;
+ gint _tmp153_;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp150_ = val;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp151_ = _tmp150_->vals;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp152_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp151_);
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp153_ = _tmp152_;
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp148_ = _tmp153_ < 1;
+#line 2070 "ScopeParser.c"
+ }
+#line 456 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp148_) {
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ continue;
+#line 2080 "ScopeParser.c"
+ }
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp154_ = val;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp155_ = _tmp154_->vals;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp156_ = gee_abstract_list_get ((GeeAbstractList*) _tmp155_, 0);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp157_ = (JSDOCToken*) _tmp156_;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp158_ = _tmp157_->data;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp159_ = g_strcmp0 (_tmp158_, "function") == 0;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp157_);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp159_) {
+#line 2098 "ScopeParser.c"
+ JSDOCTokenKeyMap* _tmp160_;
+ GeeArrayList* _tmp161_;
+ JSDOCTokenStream* _tmp162_;
+ JSDOCTokenStream* _tmp163_;
+ JSDOCToken* _tmp164_;
+ JSDOCToken* _tmp165_;
+ JSDOCScope* _tmp166_;
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp160_ = val;
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp161_ = _tmp160_->vals;
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp162_ = jsdoc_token_stream_new (_tmp161_);
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp162_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp163_ = self->priv->ts;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp164_ = jsdoc_token_stream_nextTok (_tmp163_);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp165_ = _tmp164_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp165_);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp166_ = _data4_->scope;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseFunctionDeclaration (self, _tmp166_);
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 465 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ continue;
+#line 2134 "ScopeParser.c"
+ }
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp167_ = val;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp168_ = _tmp167_->vals;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp169_ = jsdoc_token_stream_new (_tmp168_);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp169_;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp170_ = _data4_->scope;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseExpression (self, _tmp170_);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 448 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 2154 "ScopeParser.c"
+ }
+ }
+ }
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp171_ = curTS;
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp172_ = _g_object_ref0 (_tmp171_);
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 473 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp172_;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (curTS);
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2170 "ScopeParser.c"
+ }
+ {
+ gint xx = 0;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ xx = 0;
+#line 2176 "ScopeParser.c"
+ {
+ gboolean _tmp173_ = FALSE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp173_ = TRUE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 2183 "ScopeParser.c"
+ gint _tmp175_;
+ JSDOCToken* _tmp176_;
+ GeeArrayList* _tmp177_;
+ gint _tmp178_;
+ gint _tmp179_;
+ GeeArrayList* expr = NULL;
+ JSDOCToken* _tmp180_;
+ GeeArrayList* _tmp181_;
+ gint _tmp182_;
+ gpointer _tmp183_;
+ GeeArrayList* _tmp184_;
+ JSDOCTokenStream* _tmp185_;
+ JSDOCScope* _tmp186_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp173_) {
+#line 2199 "ScopeParser.c"
+ gint _tmp174_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp174_ = xx;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ xx = _tmp174_ + 1;
+#line 2205 "ScopeParser.c"
+ }
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp173_ = FALSE;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp175_ = xx;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp176_ = _data4_->token;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp177_ = _tmp176_->items;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp178_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp177_);
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp179_ = _tmp178_;
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp175_ < _tmp179_)) {
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2223 "ScopeParser.c"
+ }
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp180_ = _data4_->token;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp181_ = _tmp180_->items;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp182_ = xx;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp183_ = gee_abstract_list_get ((GeeAbstractList*) _tmp181_, _tmp182_);
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ expr = (GeeArrayList*) _tmp183_;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp184_ = expr;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp185_ = jsdoc_token_stream_new (_tmp184_);
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp185_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp186_ = _data4_->scope;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseScope (self, _tmp186_);
+#line 483 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (expr);
+#line 2249 "ScopeParser.c"
+ }
+ }
+ }
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp187_ = curTS;
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp188_ = _g_object_ref0 (_tmp187_);
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 495 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp188_;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (curTS);
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2265 "ScopeParser.c"
+ }
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_NAME_RIGHT_CURLY:
+#line 2269 "ScopeParser.c"
+ {
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block4_data_unref (_data4_);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_ = NULL;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 2279 "ScopeParser.c"
+ }
+ default:
+ {
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2285 "ScopeParser.c"
+ }
+ }
+#line 511 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2290 "ScopeParser.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_STRN:
+#line 2294 "ScopeParser.c"
+ {
+ gboolean _tmp189_ = FALSE;
+ JSDOCTokenStream* _tmp190_;
+ JSDOCToken* _tmp191_;
+ JSDOCToken* _tmp192_;
+ const gchar* _tmp193_;
+ gboolean _tmp194_;
+ gboolean isInObjectLitAr = FALSE;
+ GeeArrayList* _tmp204_;
+ GeeArrayList* _tmp205_;
+ gint _tmp206_;
+ gint _tmp207_;
+ gpointer _tmp208_;
+ gboolean _tmp209_ = FALSE;
+ gboolean _tmp210_ = FALSE;
+ gboolean _tmp211_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp190_ = self->priv->ts;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp191_ = jsdoc_token_stream_lookTok (_tmp190_, -1);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp192_ = _tmp191_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp193_ = _tmp192_->data;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp194_ = g_strcmp0 (_tmp193_, "{") == 0;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp192_);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp194_) {
+#line 2325 "ScopeParser.c"
+ JSDOCTokenStream* _tmp195_;
+ JSDOCToken* _tmp196_;
+ JSDOCToken* _tmp197_;
+ const gchar* _tmp198_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp195_ = self->priv->ts;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp196_ = jsdoc_token_stream_lookTok (_tmp195_, 1);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp197_ = _tmp196_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp198_ = _tmp197_->data;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp189_ = g_strcmp0 (_tmp198_, ":") == 0;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp197_);
+#line 2342 "ScopeParser.c"
+ } else {
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp189_ = FALSE;
+#line 2346 "ScopeParser.c"
+ }
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp189_) {
+#line 2350 "ScopeParser.c"
+ GeeArrayList* _tmp199_;
+ GeeArrayList* _tmp200_;
+ gint _tmp201_;
+ gint _tmp202_;
+ GeeArrayList* _tmp203_;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp199_ = isObjectLitAr;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp200_ = isObjectLitAr;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp201_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp200_);
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp202_ = _tmp201_;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_list_remove_at ((GeeAbstractList*) _tmp199_, _tmp202_ - 1);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp203_ = isObjectLitAr;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp203_, (gpointer) ((gintptr) TRUE));
+#line 2370 "ScopeParser.c"
+ }
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp204_ = isObjectLitAr;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp205_ = isObjectLitAr;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp206_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp205_);
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp207_ = _tmp206_;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp208_ = gee_abstract_list_get ((GeeAbstractList*) _tmp204_, _tmp207_ - 1);
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ isInObjectLitAr = (gboolean) ((gintptr) _tmp208_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp211_ = isInObjectLitAr;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp211_) {
+#line 2388 "ScopeParser.c"
+ JSDOCTokenStream* _tmp212_;
+ JSDOCToken* _tmp213_;
+ JSDOCToken* _tmp214_;
+ const gchar* _tmp215_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp212_ = self->priv->ts;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp213_ = jsdoc_token_stream_lookTok (_tmp212_, 1);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp214_ = _tmp213_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp215_ = _tmp214_->data;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp210_ = g_strcmp0 (_tmp215_, ":") == 0;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp214_);
+#line 2405 "ScopeParser.c"
+ } else {
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp210_ = FALSE;
+#line 2409 "ScopeParser.c"
+ }
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp210_) {
+#line 2413 "ScopeParser.c"
+ gboolean _tmp216_ = FALSE;
+ JSDOCTokenStream* _tmp217_;
+ JSDOCToken* _tmp218_;
+ JSDOCToken* _tmp219_;
+ const gchar* _tmp220_;
+ gboolean _tmp221_;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp217_ = self->priv->ts;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp218_ = jsdoc_token_stream_lookTok (_tmp217_, -1);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp219_ = _tmp218_;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp220_ = _tmp219_->data;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp221_ = g_strcmp0 (_tmp220_, "{") == 0;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp219_);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp221_) {
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp216_ = TRUE;
+#line 2436 "ScopeParser.c"
+ } else {
+ JSDOCTokenStream* _tmp222_;
+ JSDOCToken* _tmp223_;
+ JSDOCToken* _tmp224_;
+ const gchar* _tmp225_;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp222_ = self->priv->ts;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp223_ = jsdoc_token_stream_lookTok (_tmp222_, -1);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp224_ = _tmp223_;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp225_ = _tmp224_->data;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp216_ = g_strcmp0 (_tmp225_, ":") == 0;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp224_);
+#line 2454 "ScopeParser.c"
+ }
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp209_ = _tmp216_;
+#line 2458 "ScopeParser.c"
+ } else {
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp209_ = FALSE;
+#line 2462 "ScopeParser.c"
+ }
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp209_) {
+#line 2466 "ScopeParser.c"
+ gchar* str = NULL;
+ JSDOCToken* _tmp226_;
+ const gchar* _tmp227_;
+ JSDOCToken* _tmp228_;
+ const gchar* _tmp229_;
+ gint _tmp230_;
+ gint _tmp231_;
+ gchar* _tmp232_;
+ gboolean _tmp233_ = FALSE;
+ const gchar* _tmp234_;
+ gboolean _tmp235_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp226_ = _data4_->token;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp227_ = _tmp226_->data;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp228_ = _data4_->token;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp229_ = _tmp228_->data;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp230_ = strlen (_tmp229_);
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp231_ = _tmp230_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp232_ = string_substring (_tmp227_, (glong) 1, (glong) (_tmp231_ - 1));
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ str = _tmp232_;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp234_ = str;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp235_ = g_regex_match_simple ("^[a-z_]+$", _tmp234_, G_REGEX_CASELESS, 0);
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp235_) {
+#line 2500 "ScopeParser.c"
+ GeeArrayList* _tmp236_;
+ const gchar* _tmp237_;
+ gint _tmp238_;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp236_ = jsdoc_scope_parser_idents;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp237_ = str;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp238_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp236_, _tmp237_);
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp233_ = _tmp238_ < 0;
+#line 2512 "ScopeParser.c"
+ } else {
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp233_ = FALSE;
+#line 2516 "ScopeParser.c"
+ }
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp233_) {
+#line 2520 "ScopeParser.c"
+ JSDOCToken* _tmp239_;
+ const gchar* _tmp240_;
+ gchar* _tmp241_;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp239_ = _data4_->token;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp240_ = str;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp241_ = g_strdup (_tmp240_);
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp239_->outData);
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp239_->outData = _tmp241_;
+#line 2534 "ScopeParser.c"
+ }
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (str);
+#line 2538 "ScopeParser.c"
+ }
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2542 "ScopeParser.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_NAME:
+#line 2546 "ScopeParser.c"
+ {
+ JSDOCTokenStream* _tmp242_;
+ JSDOCToken* _tmp243_;
+ JSDOCToken* _tmp244_;
+ JSDOCTokenName _tmp245_;
+ gboolean _tmp246_;
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp247_;
+ const gchar* _tmp248_;
+ gchar* _tmp249_;
+ const gchar* _tmp250_;
+ JSDOCScopeParserMode _tmp251_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp242_ = self->priv->ts;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp243_ = jsdoc_token_stream_lookTok (_tmp242_, -1);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp244_ = _tmp243_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp245_ = _tmp244_->name;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp246_ = _tmp245_ == JSDOC_TOKEN_NAME_DOT;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp244_);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp246_) {
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2575 "ScopeParser.c"
+ }
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp247_ = _data4_->token;
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp248_ = _tmp247_->data;
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp249_ = g_strdup (_tmp248_);
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp249_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp250_ = symbol;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_strcmp0 (_tmp250_, "this") == 0) {
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2593 "ScopeParser.c"
+ }
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp251_ = self->priv->mode;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp251_ == JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE) {
+#line 2599 "ScopeParser.c"
+ JSDOCIdentifier* identifier = NULL;
+ const gchar* _tmp252_;
+ JSDOCScope* _tmp253_;
+ JSDOCToken* _tmp254_;
+ JSDOCIdentifier* _tmp255_;
+ JSDOCIdentifier* _tmp256_;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp252_ = symbol;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp253_ = _data4_->scope;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp254_ = _data4_->token;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp255_ = jsdoc_scope_parser_getIdentifier (self, _tmp252_, _tmp253_, _tmp254_);
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp255_;
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp256_ = identifier;
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp256_ == NULL) {
+#line 2620 "ScopeParser.c"
+ gboolean _tmp257_ = FALSE;
+ const gchar* _tmp258_;
+ gint _tmp259_;
+ gint _tmp260_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp258_ = symbol;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp259_ = strlen (_tmp258_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp260_ = _tmp259_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp260_ <= 3) {
+#line 2633 "ScopeParser.c"
+ GeeArrayList* _tmp261_;
+ const gchar* _tmp262_;
+ gint _tmp263_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp261_ = jsdoc_scope_builtin;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp262_ = symbol;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp263_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp261_, _tmp262_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp257_ = _tmp263_ < 0;
+#line 2645 "ScopeParser.c"
+ } else {
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp257_ = FALSE;
+#line 2649 "ScopeParser.c"
+ }
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp257_) {
+#line 2653 "ScopeParser.c"
+ JSDOCScope* _tmp264_;
+ const gchar* _tmp265_;
+ JSDOCToken* _tmp266_;
+ JSDOCIdentifier* _tmp267_;
+ JSDOCIdentifier* _tmp268_;
+ JSDOCPacker* _tmp269_;
+ const gchar* _tmp270_;
+ JSDOCToken* _tmp271_;
+ gint _tmp272_;
+ const gchar* _tmp273_;
+ gchar* _tmp274_;
+ gchar* _tmp275_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp264_ = self->priv->globalScope;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp265_ = symbol;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp266_ = _data4_->token;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp267_ = jsdoc_scope_declareIdentifier (_tmp264_, _tmp265_, _tmp266_);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp268_ = _tmp267_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp268_);
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp269_ = self->priv->packer;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp270_ = self->priv->filename;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp271_ = _data4_->token;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp272_ = _tmp271_->line;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp273_ = symbol;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp274_ = g_strconcat ("Found an undeclared symbol: ", _tmp273_, NULL);
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp275_ = _tmp274_;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp269_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp270_, _tmp272_, _tmp275_);
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp275_);
+#line 2696 "ScopeParser.c"
+ }
+ } else {
+ JSDOCToken* _tmp276_;
+ JSDOCIdentifier* _tmp277_;
+ JSDOCIdentifier* _tmp278_;
+ JSDOCIdentifier* _tmp279_;
+ gint _tmp280_;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp276_ = _data4_->token;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp277_ = identifier;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp278_ = _g_object_ref0 (_tmp277_);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp276_->identifier);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp276_->identifier = _tmp278_;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp279_ = identifier;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp280_ = _tmp279_->refcount;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp279_->refcount = _tmp280_ + 1;
+#line 2720 "ScopeParser.c"
+ }
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 2724 "ScopeParser.c"
+ }
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 605 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2730 "ScopeParser.c"
+ }
+ default:
+ {
+#line 609 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2736 "ScopeParser.c"
+ }
+ }
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp281_ = self->priv->ts;
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp282_ = jsdoc_token_stream_nextTok (_tmp281_);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data4_->token);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_->token = _tmp282_;
+#line 2747 "ScopeParser.c"
+ }
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block4_data_unref (_data4_);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data4_ = NULL;
+#line 2755 "ScopeParser.c"
+}
+
+
+static Block5Data* block5_data_ref (Block5Data* _data5_) {
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_atomic_int_inc (&_data5_->_ref_count_);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return _data5_;
+#line 2764 "ScopeParser.c"
+}
+
+
+static void block5_data_unref (void * _userdata_) {
+ Block5Data* _data5_;
+ _data5_ = (Block5Data*) _userdata_;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) {
+#line 2773 "ScopeParser.c"
+ JSDOCScopeParser* self;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = _data5_->self;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data5_->token);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data5_->scope);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_slice_free (Block5Data, _data5_);
+#line 2785 "ScopeParser.c"
+ }
+}
+
+
+static gboolean _______lambda8_ (Block5Data* _data5_, GMatchInfo* match_info, GString* _result_) {
+ JSDOCScopeParser* self;
+ gboolean result = FALSE;
+ gchar* a = NULL;
+ GMatchInfo* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCIdentifier* hi = NULL;
+ const gchar* _tmp2_;
+ JSDOCScope* _tmp3_;
+ JSDOCToken* _tmp4_;
+ JSDOCIdentifier* _tmp5_;
+ JSDOCIdentifier* _tmp6_;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = _data5_->self;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (match_info != NULL, FALSE);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (_result_ != NULL, FALSE);
+#line 868 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = match_info;
+#line 868 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = g_match_info_fetch (_tmp0_, 0);
+#line 868 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ a = _tmp1_;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = a;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = _data5_->scope;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = _data5_->token;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = jsdoc_scope_parser_getIdentifier (self, _tmp2_, _tmp3_, _tmp4_);
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ hi = _tmp5_;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = hi;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp6_ != NULL) {
+#line 2828 "ScopeParser.c"
+ JSDOCIdentifier* _tmp7_;
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = hi;
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_->toMunge = FALSE;
+#line 2834 "ScopeParser.c"
+ }
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ result = FALSE;
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (hi);
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (a);
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 2844 "ScopeParser.c"
+}
+
+
+static gboolean ________lambda8__gregex_eval_callback (GMatchInfo* match_info, GString* _result_, gpointer self) {
+ gboolean result;
+ result = _______lambda8_ (self, match_info, _result_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 2853 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_parseExpression (JSDOCScopeParser* self, JSDOCScope* scope) {
+ Block5Data* _data5_;
+ JSDOCScope* _tmp0_;
+ JSDOCScope* _tmp1_;
+ gint _tmp2_;
+ GeeArrayList* isObjectLitAr = NULL;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp156_;
+ GError * _inner_error_ = NULL;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (scope != NULL);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_ = g_slice_new0 (Block5Data);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_->_ref_count_ = 1;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_->self = g_object_ref (self);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = scope;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data5_->scope);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_->scope = _tmp1_;
+#line 634 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = self->priv->expN;
+#line 634 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->expN = _tmp2_ + 1;
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = gee_array_list_new (G_TYPE_BOOLEAN, NULL, NULL, NULL, NULL, NULL);
+#line 645 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ isObjectLitAr = _tmp3_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = isObjectLitAr;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp4_, (gpointer) ((gintptr) FALSE));
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 2899 "ScopeParser.c"
+ JSDOCTokenStream* _tmp5_;
+ JSDOCToken* _tmp6_;
+ JSDOCToken* _tmp7_;
+ JSDOCToken* _tmp8_;
+ JSDOCTokenType _tmp9_;
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = self->priv->ts;
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = jsdoc_token_stream_nextTok (_tmp5_);
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_data5_->token);
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_->token = _tmp6_;
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = _data5_->token;
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(NULL != _tmp7_)) {
+#line 652 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2919 "ScopeParser.c"
+ }
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = _data5_->token;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = _tmp8_->type;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (_tmp9_) {
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_PUNC:
+#line 2929 "ScopeParser.c"
+ {
+ JSDOCToken* _tmp10_;
+ const gchar* _tmp11_;
+ const gchar* _tmp12_;
+ GQuark _tmp14_ = 0U;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label0 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label1 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label2 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label3 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label4 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label5 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label6 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ static GQuark _tmp13_label7 = 0;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = _data5_->token;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = _tmp10_->data;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp12_ = _tmp11_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = (NULL == _tmp12_) ? 0 : g_quark_from_string (_tmp12_);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp14_ == ((0 != _tmp13_label0) ? _tmp13_label0 : (_tmp13_label0 = g_quark_from_static_string (";")))) {
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (0) {
+#line 2963 "ScopeParser.c"
+ default:
+ {
+#line 680 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2968 "ScopeParser.c"
+ }
+ }
+ } else if (_tmp14_ == ((0 != _tmp13_label1) ? _tmp13_label1 : (_tmp13_label1 = g_quark_from_static_string (",")))) {
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (0) {
+#line 2974 "ScopeParser.c"
+ default:
+ {
+#line 684 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 2979 "ScopeParser.c"
+ }
+ }
+ } else if (((_tmp14_ == ((0 != _tmp13_label2) ? _tmp13_label2 : (_tmp13_label2 = g_quark_from_static_string ("(")))) || (_tmp14_ == ((0 != _tmp13_label3) ? _tmp13_label3 : (_tmp13_label3 = g_quark_from_static_string ("{"))))) || (_tmp14_ == ((0 != _tmp13_label4) ? _tmp13_label4 : (_tmp13_label4 = g_quark_from_static_string ("["))))) {
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (0) {
+#line 2985 "ScopeParser.c"
+ default:
+ {
+ JSDOCTokenStream* curTS = NULL;
+ JSDOCTokenStream* _tmp15_;
+ JSDOCTokenStream* _tmp16_;
+ JSDOCToken* _tmp17_;
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gint _tmp20_;
+ JSDOCTokenStream* _tmp79_;
+ JSDOCTokenStream* _tmp80_;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp15_ = self->priv->ts;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp16_ = _g_object_ref0 (_tmp15_);
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ curTS = _tmp16_;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp17_ = _data5_->token;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp18_ = _tmp17_->keyseq;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp19_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp18_);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp20_ = _tmp19_;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp20_ > 0) {
+#line 3013 "ScopeParser.c"
+ JSDOCTokenStream* _tmp62_;
+ JSDOCTokenStream* _tmp63_;
+ {
+ gint i = 0;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = 0;
+#line 3020 "ScopeParser.c"
+ {
+ gboolean _tmp21_ = FALSE;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = TRUE;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 3027 "ScopeParser.c"
+ gint _tmp23_;
+ JSDOCToken* _tmp24_;
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ gchar* k = NULL;
+ JSDOCToken* _tmp28_;
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gpointer _tmp31_;
+ JSDOCTokenKeyMap* val = NULL;
+ JSDOCToken* _tmp32_;
+ GeeHashMap* _tmp33_;
+ const gchar* _tmp34_;
+ gpointer _tmp35_;
+ JSDOCTokenKeyMap* _tmp36_;
+ gboolean _tmp41_ = FALSE;
+ JSDOCTokenKeyMap* _tmp42_;
+ GeeArrayList* _tmp43_;
+ gint _tmp44_;
+ gint _tmp45_;
+ JSDOCTokenKeyMap* _tmp58_;
+ GeeArrayList* _tmp59_;
+ JSDOCTokenStream* _tmp60_;
+ JSDOCScope* _tmp61_;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp21_) {
+#line 3055 "ScopeParser.c"
+ gint _tmp22_;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp22_ = i;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ i = _tmp22_ + 1;
+#line 3061 "ScopeParser.c"
+ }
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = FALSE;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp23_ = i;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp24_ = _data5_->token;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp25_ = _tmp24_->keyseq;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp26_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp25_);
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp27_ = _tmp26_;
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp23_ < _tmp27_)) {
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3079 "ScopeParser.c"
+ }
+#line 698 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp28_ = _data5_->token;
+#line 698 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp29_ = _tmp28_->keyseq;
+#line 698 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp30_ = i;
+#line 698 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, _tmp30_);
+#line 698 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ k = (gchar*) _tmp31_;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp32_ = _data5_->token;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp33_ = _tmp32_->props;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_ = k;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp35_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp33_, _tmp34_);
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ val = (JSDOCTokenKeyMap*) _tmp35_;
+#line 702 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp36_ = val;
+#line 702 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp36_ == NULL) {
+#line 3105 "ScopeParser.c"
+ const gchar* _tmp37_;
+ JSDOCToken* _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp37_ = k;
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp38_ = _data5_->token;
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp39_ = jsdoc_token_asString (_tmp38_);
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp40_ = _tmp39_;
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_print ("failed to get %s val from token %s\n", _tmp37_, _tmp40_);
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp40_);
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ continue;
+#line 3128 "ScopeParser.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp42_ = val;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp43_ = _tmp42_->vals;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp44_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp43_);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp45_ = _tmp44_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp45_ > 0) {
+#line 3140 "ScopeParser.c"
+ JSDOCTokenKeyMap* _tmp46_;
+ GeeArrayList* _tmp47_;
+ gpointer _tmp48_;
+ JSDOCToken* _tmp49_;
+ const gchar* _tmp50_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp46_ = val;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp47_ = _tmp46_->vals;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp48_ = gee_abstract_list_get ((GeeAbstractList*) _tmp47_, 0);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp49_ = (JSDOCToken*) _tmp48_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp50_ = _tmp49_->data;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp41_ = g_strcmp0 (_tmp50_, "function") == 0;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp49_);
+#line 3160 "ScopeParser.c"
+ } else {
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp41_ = FALSE;
+#line 3164 "ScopeParser.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp41_) {
+#line 3168 "ScopeParser.c"
+ JSDOCTokenKeyMap* _tmp51_;
+ GeeArrayList* _tmp52_;
+ JSDOCTokenStream* _tmp53_;
+ JSDOCTokenStream* _tmp54_;
+ JSDOCToken* _tmp55_;
+ JSDOCToken* _tmp56_;
+ JSDOCScope* _tmp57_;
+#line 714 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp51_ = val;
+#line 714 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp52_ = _tmp51_->vals;
+#line 714 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp53_ = jsdoc_token_stream_new (_tmp52_);
+#line 714 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 714 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp53_;
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp54_ = self->priv->ts;
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp55_ = jsdoc_token_stream_nextTok (_tmp54_);
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp56_ = _tmp55_;
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp56_);
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp57_ = _data5_->scope;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseFunctionDeclaration (self, _tmp57_);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ continue;
+#line 3204 "ScopeParser.c"
+ }
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp58_ = val;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp59_ = _tmp58_->vals;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp60_ = jsdoc_token_stream_new (_tmp59_);
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp60_;
+#line 722 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_ = _data5_->scope;
+#line 722 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseExpression (self, _tmp61_);
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (val);
+#line 696 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (k);
+#line 3224 "ScopeParser.c"
+ }
+ }
+ }
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp62_ = curTS;
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = _g_object_ref0 (_tmp62_);
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp63_;
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (curTS);
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3240 "ScopeParser.c"
+ }
+ {
+ GeeArrayList* _expr_list = NULL;
+ JSDOCToken* _tmp64_;
+ GeeArrayList* _tmp65_;
+ GeeArrayList* _tmp66_;
+ gint _expr_size = 0;
+ GeeArrayList* _tmp67_;
+ gint _tmp68_;
+ gint _tmp69_;
+ gint _expr_index = 0;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp64_ = _data5_->token;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp65_ = _tmp64_->items;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp66_ = _g_object_ref0 (_tmp65_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _expr_list = _tmp66_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp67_ = _expr_list;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp68_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp67_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp69_ = _tmp68_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _expr_size = _tmp69_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _expr_index = -1;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 3272 "ScopeParser.c"
+ gint _tmp70_;
+ gint _tmp71_;
+ gint _tmp72_;
+ GeeArrayList* expr = NULL;
+ GeeArrayList* _tmp73_;
+ gint _tmp74_;
+ gpointer _tmp75_;
+ GeeArrayList* _tmp76_;
+ JSDOCTokenStream* _tmp77_;
+ JSDOCScope* _tmp78_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp70_ = _expr_index;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _expr_index = _tmp70_ + 1;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp71_ = _expr_index;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp72_ = _expr_size;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp71_ < _tmp72_)) {
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3295 "ScopeParser.c"
+ }
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp73_ = _expr_list;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp74_ = _expr_index;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp75_ = gee_abstract_list_get ((GeeAbstractList*) _tmp73_, _tmp74_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ expr = (GeeArrayList*) _tmp75_;
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp76_ = expr;
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp77_ = jsdoc_token_stream_new (_tmp76_);
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 736 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp77_;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp78_ = _data5_->scope;
+#line 737 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseExpression (self, _tmp78_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (expr);
+#line 3319 "ScopeParser.c"
+ }
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_expr_list);
+#line 3323 "ScopeParser.c"
+ }
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp79_ = curTS;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp80_ = _g_object_ref0 (_tmp79_);
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp80_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (curTS);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3337 "ScopeParser.c"
+ }
+ }
+ } else if (((_tmp14_ == ((0 != _tmp13_label5) ? _tmp13_label5 : (_tmp13_label5 = g_quark_from_static_string (")")))) || (_tmp14_ == ((0 != _tmp13_label6) ? _tmp13_label6 : (_tmp13_label6 = g_quark_from_static_string ("]"))))) || (_tmp14_ == ((0 != _tmp13_label7) ? _tmp13_label7 : (_tmp13_label7 = g_quark_from_static_string ("}"))))) {
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ switch (0) {
+#line 3343 "ScopeParser.c"
+ default:
+ {
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block5_data_unref (_data5_);
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_ = NULL;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 3354 "ScopeParser.c"
+ }
+ }
+ }
+#line 764 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3360 "ScopeParser.c"
+ }
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_STRN:
+#line 3364 "ScopeParser.c"
+ {
+#line 771 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3368 "ScopeParser.c"
+ }
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_NAME:
+#line 3372 "ScopeParser.c"
+ {
+ JSDOCScopeParserMode _tmp81_;
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp82_;
+ const gchar* _tmp83_;
+ gchar* _tmp84_;
+ JSDOCTokenStream* _tmp85_;
+ JSDOCToken* _tmp86_;
+ JSDOCToken* _tmp87_;
+ const gchar* _tmp88_;
+ gboolean _tmp89_;
+ const gchar* _tmp90_;
+ JSDOCScopeParserMode _tmp91_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp81_ = self->priv->mode;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp81_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 3390 "ScopeParser.c"
+ } else {
+ }
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp82_ = _data5_->token;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp83_ = _tmp82_->data;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp84_ = g_strdup (_tmp83_);
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp84_;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp85_ = self->priv->ts;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp86_ = jsdoc_token_stream_lookTok (_tmp85_, -1);
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp87_ = _tmp86_;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp88_ = _tmp87_->data;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp89_ = g_strcmp0 (_tmp88_, ".") == 0;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp87_);
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp89_) {
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3419 "ScopeParser.c"
+ }
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp90_ = symbol;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_strcmp0 (_tmp90_, "this") == 0) {
+#line 794 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 794 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3429 "ScopeParser.c"
+ }
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp91_ = self->priv->mode;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp91_ == JSDOC_SCOPE_PARSER_MODE_PASS2_SYMBOL_TREE) {
+#line 3435 "ScopeParser.c"
+ JSDOCIdentifier* identifier = NULL;
+ const gchar* _tmp92_;
+ JSDOCScope* _tmp93_;
+ JSDOCToken* _tmp94_;
+ JSDOCIdentifier* _tmp95_;
+ JSDOCIdentifier* _tmp96_;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp92_ = symbol;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp93_ = _data5_->scope;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp94_ = _data5_->token;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp95_ = jsdoc_scope_parser_getIdentifier (self, _tmp92_, _tmp93_, _tmp94_);
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp95_;
+#line 801 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp96_ = identifier;
+#line 801 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp96_ == NULL) {
+#line 3456 "ScopeParser.c"
+ gboolean _tmp97_ = FALSE;
+ const gchar* _tmp98_;
+ gint _tmp99_;
+ gint _tmp100_;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp98_ = symbol;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp99_ = strlen (_tmp98_);
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp100_ = _tmp99_;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp100_ <= 3) {
+#line 3469 "ScopeParser.c"
+ GeeArrayList* _tmp101_;
+ const gchar* _tmp102_;
+ gint _tmp103_;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp101_ = jsdoc_scope_builtin;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp102_ = symbol;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp103_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp101_, _tmp102_);
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp97_ = _tmp103_ < 0;
+#line 3481 "ScopeParser.c"
+ } else {
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp97_ = FALSE;
+#line 3485 "ScopeParser.c"
+ }
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp97_) {
+#line 3489 "ScopeParser.c"
+ JSDOCScope* _tmp104_;
+ const gchar* _tmp105_;
+ JSDOCToken* _tmp106_;
+ JSDOCIdentifier* _tmp107_;
+ JSDOCIdentifier* _tmp108_;
+ JSDOCPacker* _tmp109_;
+ const gchar* _tmp110_;
+ JSDOCToken* _tmp111_;
+ gint _tmp112_;
+ const gchar* _tmp113_;
+ gchar* _tmp114_;
+ gchar* _tmp115_;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp104_ = self->priv->globalScope;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp105_ = symbol;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp106_ = _data5_->token;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp107_ = jsdoc_scope_declareIdentifier (_tmp104_, _tmp105_, _tmp106_);
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp108_ = _tmp107_;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp108_);
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp109_ = self->priv->packer;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp110_ = self->priv->filename;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp111_ = _data5_->token;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp112_ = _tmp111_->line;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp113_ = symbol;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp114_ = g_strconcat ("Found an undeclared symbol: ", _tmp113_, NULL);
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp115_ = _tmp114_;
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp109_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp110_, _tmp112_, _tmp115_);
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp115_);
+#line 3532 "ScopeParser.c"
+ } else {
+ }
+ } else {
+ JSDOCToken* _tmp116_;
+ JSDOCIdentifier* _tmp117_;
+ JSDOCIdentifier* _tmp118_;
+ JSDOCIdentifier* _tmp119_;
+ gint _tmp120_;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp116_ = _data5_->token;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp117_ = identifier;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp118_ = _g_object_ref0 (_tmp117_);
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp116_->identifier);
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp116_->identifier = _tmp118_;
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp119_ = identifier;
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp120_ = _tmp119_->refcount;
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp119_->refcount = _tmp120_ + 1;
+#line 3557 "ScopeParser.c"
+ }
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 3561 "ScopeParser.c"
+ }
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3567 "ScopeParser.c"
+ }
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ case JSDOC_TOKEN_TYPE_KEYW:
+#line 3571 "ScopeParser.c"
+ {
+ JSDOCToken* _tmp121_;
+ JSDOCTokenName _tmp122_;
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp124_;
+ const gchar* _tmp125_;
+ gchar* _tmp126_;
+ JSDOCScopeParserMode _tmp127_;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp121_ = _data5_->token;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp122_ = _tmp121_->name;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp122_ == JSDOC_TOKEN_NAME_FUNCTION) {
+#line 3586 "ScopeParser.c"
+ JSDOCScope* _tmp123_;
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp123_ = _data5_->scope;
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseFunctionDeclaration (self, _tmp123_);
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3594 "ScopeParser.c"
+ }
+#line 852 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp124_ = _data5_->token;
+#line 852 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp125_ = _tmp124_->data;
+#line 852 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp126_ = g_strdup (_tmp125_);
+#line 852 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp126_;
+#line 853 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp127_ = self->priv->mode;
+#line 853 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp127_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 3608 "ScopeParser.c"
+ JSDOCToken* _tmp128_;
+ JSDOCTokenName _tmp129_;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp128_ = _data5_->token;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp129_ = _tmp128_->name;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp129_ == JSDOC_TOKEN_NAME_EVAL) {
+#line 3617 "ScopeParser.c"
+ gboolean _tmp130_ = FALSE;
+ JSDOCToken* _tmp131_;
+ const gchar* _tmp132_;
+ gint _tmp133_;
+ gint _tmp134_;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp131_ = _data5_->token;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp132_ = _tmp131_->prefix;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp133_ = strlen (_tmp132_);
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp134_ = _tmp133_;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp134_ > 0) {
+#line 3633 "ScopeParser.c"
+ JSDOCToken* _tmp135_;
+ const gchar* _tmp136_;
+ gboolean _tmp137_;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp135_ = _data5_->token;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp136_ = _tmp135_->prefix;
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp137_ = g_regex_match_simple ("eval:var:", _tmp136_, G_REGEX_CASELESS, 0);
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp130_ = _tmp137_;
+#line 3645 "ScopeParser.c"
+ } else {
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp130_ = FALSE;
+#line 3649 "ScopeParser.c"
+ }
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp130_) {
+#line 3653 "ScopeParser.c"
+ GRegex* regex = NULL;
+ GRegex* _tmp138_;
+ GRegex* _tmp139_;
+ JSDOCToken* _tmp140_;
+ const gchar* _tmp141_;
+ JSDOCToken* _tmp142_;
+ const gchar* _tmp143_;
+ gint _tmp144_;
+ gint _tmp145_;
+ gchar* _tmp146_;
+ gchar* _tmp147_;
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp138_ = g_regex_new ("eval:var:([a-z_]+)", G_REGEX_CASELESS, 0, &_inner_error_);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ regex = _tmp138_;
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block5_data_unref (_data5_);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_ = NULL;
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_clear_error (&_inner_error_);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 3685 "ScopeParser.c"
+ }
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp139_ = regex;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp140_ = _data5_->token;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp141_ = _tmp140_->prefix;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp142_ = _data5_->token;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp143_ = _tmp142_->prefix;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp144_ = strlen (_tmp143_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp145_ = _tmp144_;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp146_ = g_regex_replace_eval (_tmp139_, _tmp141_, (gssize) _tmp145_, 0, 0, ________lambda8__gregex_eval_callback, _data5_, &_inner_error_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp147_ = _tmp146_;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp147_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_regex_unref0 (regex);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block5_data_unref (_data5_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_ = NULL;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_clear_error (&_inner_error_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 3725 "ScopeParser.c"
+ }
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_regex_unref0 (regex);
+#line 3729 "ScopeParser.c"
+ } else {
+ JSDOCScope* _tmp148_;
+ JSDOCPacker* _tmp149_;
+ const gchar* _tmp150_;
+ JSDOCToken* _tmp151_;
+ gint _tmp152_;
+ const gchar* _tmp153_;
+ gchar* _tmp154_;
+ gchar* _tmp155_;
+#line 883 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp148_ = _data5_->scope;
+#line 883 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_protectScopeFromObfuscation (self, _tmp148_);
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp149_ = self->priv->packer;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp150_ = self->priv->filename;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp151_ = _data5_->token;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp152_ = _tmp151_->line;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp153_ = symbol;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp154_ = g_strconcat ("Using 'eval' is not recommended. use eval:var in comment before eval t" \
+"o enable compression ", _tmp153_, NULL);
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp155_ = _tmp154_;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp149_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp150_, _tmp152_, _tmp155_);
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp155_);
+#line 3761 "ScopeParser.c"
+ }
+ }
+ }
+#line 900 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 900 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3769 "ScopeParser.c"
+ }
+ default:
+ {
+#line 904 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 3775 "ScopeParser.c"
+ }
+ }
+ }
+#line 909 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp156_ = self->priv->expN;
+#line 909 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->expN = _tmp156_ - 1;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ block5_data_unref (_data5_);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _data5_ = NULL;
+#line 3789 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_parseCatch (JSDOCScopeParser* self, JSDOCScope* scope) {
+ JSDOCToken* token = NULL;
+ JSDOCTokenStream* _tmp0_;
+ JSDOCToken* _tmp1_;
+ JSDOCTokenStream* _tmp2_;
+ JSDOCToken* _tmp3_;
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp4_;
+ GeeArrayList* _tmp5_;
+ gpointer _tmp6_;
+ GeeArrayList* _tmp7_;
+ gpointer _tmp8_;
+ JSDOCToken* _tmp9_;
+ const gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ JSDOCScopeParserMode _tmp13_;
+#line 913 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 913 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (scope != NULL);
+#line 918 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = self->priv->ts;
+#line 918 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = jsdoc_token_stream_nextTok (_tmp0_);
+#line 918 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp1_;
+#line 919 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = self->priv->ts;
+#line 919 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = jsdoc_token_stream_nextTok (_tmp2_);
+#line 919 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 919 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp3_;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = token;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = _tmp4_->items;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) _tmp5_, 0);
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = (GeeArrayList*) _tmp6_;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, 0);
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = (JSDOCToken*) _tmp8_;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = _tmp9_->data;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = g_strdup (_tmp10_);
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp12_ = _tmp11_;
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp9_);
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp7_);
+#line 927 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp12_;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp13_ = self->priv->mode;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp13_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 3856 "ScopeParser.c"
+ JSDOCScope* _tmp14_;
+ const gchar* _tmp15_;
+ JSDOCToken* _tmp16_;
+ GeeArrayList* _tmp17_;
+ gpointer _tmp18_;
+ GeeArrayList* _tmp19_;
+ gpointer _tmp20_;
+ JSDOCToken* _tmp21_;
+ JSDOCIdentifier* _tmp22_;
+ JSDOCIdentifier* _tmp23_;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = scope;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp15_ = symbol;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp16_ = token;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp17_ = _tmp16_->items;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, 0);
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp19_ = (GeeArrayList*) _tmp18_;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, 0);
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = (JSDOCToken*) _tmp20_;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp22_ = jsdoc_scope_declareIdentifier (_tmp14_, _tmp15_, _tmp21_);
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp23_ = _tmp22_;
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp23_);
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp21_);
+#line 934 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp19_);
+#line 3893 "ScopeParser.c"
+ } else {
+ JSDOCIdentifier* identifier = NULL;
+ const gchar* _tmp24_;
+ JSDOCScope* _tmp25_;
+ JSDOCToken* _tmp26_;
+ GeeArrayList* _tmp27_;
+ gpointer _tmp28_;
+ GeeArrayList* _tmp29_;
+ gpointer _tmp30_;
+ JSDOCToken* _tmp31_;
+ JSDOCIdentifier* _tmp32_;
+ JSDOCIdentifier* _tmp33_;
+ JSDOCIdentifier* _tmp34_;
+ gint _tmp35_;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp24_ = symbol;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp25_ = scope;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp26_ = token;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp27_ = _tmp26_->items;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp28_ = gee_abstract_list_get ((GeeAbstractList*) _tmp27_, 0);
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp29_ = (GeeArrayList*) _tmp28_;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp30_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, 0);
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp31_ = (JSDOCToken*) _tmp30_;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp32_ = jsdoc_scope_parser_getIdentifier (self, _tmp24_, _tmp25_, _tmp31_);
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp33_ = _tmp32_;
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp31_);
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp29_);
+#line 937 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp33_;
+#line 938 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_ = identifier;
+#line 938 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp35_ = _tmp34_->refcount;
+#line 938 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_->refcount = _tmp35_ + 1;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 3942 "ScopeParser.c"
+ }
+#line 913 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 913 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 3948 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_parseFunctionDeclaration (JSDOCScopeParser* self, JSDOCScope* scope) {
+ JSDOCToken* token = NULL;
+ JSDOCTokenStream* _tmp0_;
+ JSDOCToken* _tmp1_;
+ JSDOCToken* _tmp2_;
+ JSDOCTokenType _tmp3_;
+ JSDOCScope* fnScope = NULL;
+ JSDOCScopeParserMode _tmp34_;
+ GeeArrayList* args = NULL;
+ JSDOCToken* _tmp48_;
+ GeeArrayList* _tmp49_;
+ GeeArrayList* _tmp50_;
+ JSDOCTokenStream* _tmp77_;
+ JSDOCToken* _tmp78_;
+ JSDOCToken* _tmp79_;
+ JSDOCTokenStream* outTS = NULL;
+ JSDOCTokenStream* _tmp80_;
+ JSDOCTokenStream* _tmp81_;
+ JSDOCTokenStream* _tmp97_;
+ JSDOCTokenStream* _tmp98_;
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (scope != NULL);
+#line 955 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = self->priv->ts;
+#line 955 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = jsdoc_token_stream_nextTok (_tmp0_);
+#line 955 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp1_;
+#line 956 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = token;
+#line 956 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = _tmp2_->type;
+#line 956 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp3_ == JSDOC_TOKEN_TYPE_NAME) {
+#line 3988 "ScopeParser.c"
+ JSDOCScopeParserMode _tmp4_;
+ JSDOCTokenStream* _tmp28_;
+ JSDOCToken* _tmp29_;
+#line 957 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = self->priv->mode;
+#line 957 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp4_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 3996 "ScopeParser.c"
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp5_;
+ const gchar* _tmp6_;
+ gchar* _tmp7_;
+ JSDOCScope* _tmp8_;
+ const gchar* _tmp9_;
+ JSDOCToken* _tmp10_;
+ JSDOCIdentifier* _tmp11_;
+ JSDOCIdentifier* _tmp12_;
+ gboolean _tmp13_;
+ JSDOCScope* _tmp23_;
+ const gchar* _tmp24_;
+ JSDOCToken* _tmp25_;
+ JSDOCIdentifier* _tmp26_;
+ JSDOCIdentifier* _tmp27_;
+#line 959 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = token;
+#line 959 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = _tmp5_->data;
+#line 959 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = g_strdup (_tmp6_);
+#line 959 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp7_;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = scope;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = symbol;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = token;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = jsdoc_scope_getIdentifier (_tmp8_, _tmp9_, _tmp10_);
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp12_ = _tmp11_;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp13_ = _tmp12_ != NULL;
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp12_);
+#line 960 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp13_) {
+#line 4036 "ScopeParser.c"
+ JSDOCPacker* _tmp14_;
+ const gchar* _tmp15_;
+ JSDOCToken* _tmp16_;
+ gint _tmp17_;
+ const gchar* _tmp18_;
+ gchar* _tmp19_;
+ gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp14_ = self->priv->packer;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp15_ = self->priv->filename;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp16_ = token;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp17_ = _tmp16_->line;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp18_ = symbol;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp19_ = g_strconcat ("The function ", _tmp18_, NULL);
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp20_ = _tmp19_;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp21_ = g_strconcat (_tmp20_, " has already been declared in the same scope...", NULL);
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp22_ = _tmp21_;
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_packer_logError (_tmp14_, JSDOC_PACKER_RESULT_TYPE_warn, _tmp15_, _tmp17_, _tmp22_);
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp22_);
+#line 963 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (_tmp20_);
+#line 4070 "ScopeParser.c"
+ }
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp23_ = scope;
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp24_ = symbol;
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp25_ = token;
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp26_ = jsdoc_scope_declareIdentifier (_tmp23_, _tmp24_, _tmp25_);
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp27_ = _tmp26_;
+#line 973 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp27_);
+#line 957 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 4086 "ScopeParser.c"
+ }
+#line 975 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp28_ = self->priv->ts;
+#line 975 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp29_ = jsdoc_token_stream_nextTok (_tmp28_);
+#line 975 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 975 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp29_;
+#line 4096 "ScopeParser.c"
+ }
+#line 980 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4100 "ScopeParser.c"
+ JSDOCToken* _tmp30_;
+ const gchar* _tmp31_;
+ JSDOCTokenStream* _tmp32_;
+ JSDOCToken* _tmp33_;
+#line 980 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp30_ = token;
+#line 980 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp31_ = _tmp30_->data;
+#line 980 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(g_strcmp0 (_tmp31_, "(") != 0)) {
+#line 980 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4113 "ScopeParser.c"
+ }
+#line 982 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp32_ = self->priv->ts;
+#line 982 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp33_ = jsdoc_token_stream_nextTok (_tmp32_);
+#line 982 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 982 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp33_;
+#line 4123 "ScopeParser.c"
+ }
+#line 988 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp34_ = self->priv->mode;
+#line 988 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp34_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE) {
+#line 4129 "ScopeParser.c"
+ JSDOCScope* _tmp35_;
+ JSDOCToken* _tmp36_;
+ gint _tmp37_;
+ JSDOCToken* _tmp38_;
+ JSDOCScope* _tmp39_;
+ GeeHashMap* _tmp40_;
+ JSDOCToken* _tmp41_;
+ gint _tmp42_;
+ JSDOCScope* _tmp43_;
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp35_ = scope;
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp36_ = token;
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp37_ = _tmp36_->id;
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp38_ = token;
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp39_ = jsdoc_scope_new (1, _tmp35_, _tmp37_, "", _tmp38_);
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (fnScope);
+#line 989 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ fnScope = _tmp39_;
+#line 993 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp40_ = self->priv->indexedScopes;
+#line 993 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp41_ = token;
+#line 993 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp42_ = _tmp41_->id;
+#line 993 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp43_ = fnScope;
+#line 993 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp40_, (gpointer) ((gintptr) _tmp42_), _tmp43_);
+#line 4163 "ScopeParser.c"
+ } else {
+ GeeHashMap* _tmp44_;
+ JSDOCToken* _tmp45_;
+ gint _tmp46_;
+ gpointer _tmp47_;
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp44_ = self->priv->indexedScopes;
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp45_ = token;
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp46_ = _tmp45_->id;
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp47_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp44_, (gpointer) ((gintptr) _tmp46_));
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (fnScope);
+#line 997 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ fnScope = (JSDOCScope*) _tmp47_;
+#line 4181 "ScopeParser.c"
+ }
+#line 1002 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp48_ = token;
+#line 1002 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp49_ = _tmp48_->items;
+#line 1002 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp50_ = _g_object_ref0 (_tmp49_);
+#line 1002 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ args = _tmp50_;
+#line 4191 "ScopeParser.c"
+ {
+ gint argpos = 0;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ argpos = 0;
+#line 4196 "ScopeParser.c"
+ {
+ gboolean _tmp51_ = FALSE;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp51_ = TRUE;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4203 "ScopeParser.c"
+ gint _tmp53_;
+ GeeArrayList* _tmp54_;
+ gint _tmp55_;
+ gint _tmp56_;
+ GeeArrayList* _tmp57_;
+ gint _tmp58_;
+ gpointer _tmp59_;
+ GeeArrayList* _tmp60_;
+ gpointer _tmp61_;
+ gboolean _tmp62_ = FALSE;
+ JSDOCToken* _tmp63_;
+ JSDOCTokenType _tmp64_;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp51_) {
+#line 4218 "ScopeParser.c"
+ gint _tmp52_;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp52_ = argpos;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ argpos = _tmp52_ + 1;
+#line 4224 "ScopeParser.c"
+ }
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp51_ = FALSE;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp53_ = argpos;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp54_ = args;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp55_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp54_);
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp56_ = _tmp55_;
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp53_ < _tmp56_)) {
+#line 1003 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4240 "ScopeParser.c"
+ }
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp57_ = args;
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp58_ = argpos;
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp59_ = gee_abstract_list_get ((GeeAbstractList*) _tmp57_, _tmp58_);
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp60_ = (GeeArrayList*) _tmp59_;
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp61_ = gee_abstract_list_get ((GeeAbstractList*) _tmp60_, 0);
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = (JSDOCToken*) _tmp61_;
+#line 1005 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tmp60_);
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp63_ = token;
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp64_ = _tmp63_->type;
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp64_ == JSDOC_TOKEN_TYPE_NAME) {
+#line 4264 "ScopeParser.c"
+ JSDOCScopeParserMode _tmp65_;
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp65_ = self->priv->mode;
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp62_ = _tmp65_ == JSDOC_SCOPE_PARSER_MODE_BUILDING_SYMBOL_TREE;
+#line 4270 "ScopeParser.c"
+ } else {
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp62_ = FALSE;
+#line 4274 "ScopeParser.c"
+ }
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp62_) {
+#line 4278 "ScopeParser.c"
+ gchar* symbol = NULL;
+ JSDOCToken* _tmp66_;
+ const gchar* _tmp67_;
+ gchar* _tmp68_;
+ JSDOCIdentifier* identifier = NULL;
+ JSDOCScope* _tmp69_;
+ const gchar* _tmp70_;
+ JSDOCToken* _tmp71_;
+ JSDOCIdentifier* _tmp72_;
+ gboolean _tmp73_ = FALSE;
+ const gchar* _tmp74_;
+#line 1010 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp66_ = token;
+#line 1010 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp67_ = _tmp66_->data;
+#line 1010 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp68_ = g_strdup (_tmp67_);
+#line 1010 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ symbol = _tmp68_;
+#line 1011 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp69_ = fnScope;
+#line 1011 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp70_ = symbol;
+#line 1011 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp71_ = token;
+#line 1011 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp72_ = jsdoc_scope_declareIdentifier (_tmp69_, _tmp70_, _tmp71_);
+#line 1011 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp72_;
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp74_ = symbol;
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (g_strcmp0 (_tmp74_, "$super") == 0) {
+#line 4312 "ScopeParser.c"
+ gint _tmp75_;
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp75_ = argpos;
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp73_ = _tmp75_ == 0;
+#line 4318 "ScopeParser.c"
+ } else {
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp73_ = FALSE;
+#line 4322 "ScopeParser.c"
+ }
+#line 1012 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp73_) {
+#line 4326 "ScopeParser.c"
+ JSDOCIdentifier* _tmp76_;
+#line 1014 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp76_ = identifier;
+#line 1014 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp76_->toMunge = FALSE;
+#line 4332 "ScopeParser.c"
+ }
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 1009 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (symbol);
+#line 4338 "ScopeParser.c"
+ }
+ }
+ }
+ }
+#line 1020 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp77_ = self->priv->ts;
+#line 1020 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp78_ = jsdoc_token_stream_nextTok (_tmp77_);
+#line 1020 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 1020 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ token = _tmp78_;
+#line 1021 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp79_ = token;
+#line 1021 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp79_ == NULL) {
+#line 1022 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (args);
+#line 1022 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (fnScope);
+#line 1022 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 1022 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 4363 "ScopeParser.c"
+ }
+#line 1032 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp80_ = self->priv->ts;
+#line 1032 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp81_ = _g_object_ref0 (_tmp80_);
+#line 1032 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ outTS = _tmp81_;
+#line 4371 "ScopeParser.c"
+ {
+ GeeArrayList* _tar_list = NULL;
+ JSDOCToken* _tmp82_;
+ GeeArrayList* _tmp83_;
+ GeeArrayList* _tmp84_;
+ gint _tar_size = 0;
+ GeeArrayList* _tmp85_;
+ gint _tmp86_;
+ gint _tmp87_;
+ gint _tar_index = 0;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp82_ = token;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp83_ = _tmp82_->items;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp84_ = _g_object_ref0 (_tmp83_);
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tar_list = _tmp84_;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp85_ = _tar_list;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp86_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp85_);
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp87_ = _tmp86_;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tar_size = _tmp87_;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tar_index = -1;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4402 "ScopeParser.c"
+ gint _tmp88_;
+ gint _tmp89_;
+ gint _tmp90_;
+ GeeArrayList* tar = NULL;
+ GeeArrayList* _tmp91_;
+ gint _tmp92_;
+ gpointer _tmp93_;
+ GeeArrayList* _tmp94_;
+ JSDOCTokenStream* _tmp95_;
+ JSDOCScope* _tmp96_;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp88_ = _tar_index;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tar_index = _tmp88_ + 1;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp89_ = _tar_index;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp90_ = _tar_size;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp89_ < _tmp90_)) {
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4425 "ScopeParser.c"
+ }
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp91_ = _tar_list;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp92_ = _tar_index;
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp93_ = gee_abstract_list_get ((GeeAbstractList*) _tmp91_, _tmp92_);
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ tar = (GeeArrayList*) _tmp93_;
+#line 1034 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp94_ = tar;
+#line 1034 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp95_ = jsdoc_token_stream_new (_tmp94_);
+#line 1034 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 1034 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp95_;
+#line 1035 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp96_ = fnScope;
+#line 1035 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parseScope (self, _tmp96_);
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (tar);
+#line 4449 "ScopeParser.c"
+ }
+#line 1033 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_tar_list);
+#line 4453 "ScopeParser.c"
+ }
+#line 1041 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp97_ = outTS;
+#line 1041 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp98_ = _g_object_ref0 (_tmp97_);
+#line 1041 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 1041 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->ts = _tmp98_;
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (outTS);
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (args);
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (fnScope);
+#line 945 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (token);
+#line 4471 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_protectScopeFromObfuscation (JSDOCScopeParser* self, JSDOCScope* scope) {
+ JSDOCScope* _tmp0_;
+ JSDOCScope* _tmp1_;
+ JSDOCScope* _tmp9_;
+#line 1050 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 1050 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (scope != NULL);
+#line 1053 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = scope;
+#line 1053 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = self->priv->globalScope;
+#line 1053 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp0_ == _tmp1_) {
+#line 1056 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return;
+#line 4491 "ScopeParser.c"
+ }
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4495 "ScopeParser.c"
+ gboolean _tmp2_ = FALSE;
+ JSDOCScope* _tmp3_;
+ JSDOCScope* _tmp7_;
+ JSDOCScope* _tmp8_;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = scope;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp3_ != NULL) {
+#line 4504 "ScopeParser.c"
+ JSDOCScope* _tmp4_;
+ JSDOCScope* _tmp5_;
+ JSDOCScope* _tmp6_;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = scope;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = _tmp4_->parent;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = self->priv->globalScope;
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = _tmp5_ != _tmp6_;
+#line 4516 "ScopeParser.c"
+ } else {
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = FALSE;
+#line 4520 "ScopeParser.c"
+ }
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!_tmp2_) {
+#line 1060 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4526 "ScopeParser.c"
+ }
+#line 1061 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = scope;
+#line 1061 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = _tmp7_->parent;
+#line 1061 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ scope = _tmp8_;
+#line 4534 "ScopeParser.c"
+ }
+#line 1065 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = scope;
+#line 1065 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_preventMunging (_tmp9_);
+#line 4540 "ScopeParser.c"
+}
+
+
+static JSDOCIdentifier* jsdoc_scope_parser_getIdentifier (JSDOCScopeParser* self, const gchar* symbol, JSDOCScope* in_scope, JSDOCToken* token) {
+ JSDOCIdentifier* result = NULL;
+ JSDOCIdentifier* identifier = NULL;
+ JSDOCScope* scope = NULL;
+ JSDOCScope* _tmp0_;
+ JSDOCScope* _tmp1_;
+#line 1068 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1068 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (symbol != NULL, NULL);
+#line 1068 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (in_scope != NULL, NULL);
+#line 1068 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_val_if_fail (token != NULL, NULL);
+#line 1071 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = in_scope;
+#line 1071 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 1071 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ scope = _tmp1_;
+#line 1072 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4566 "ScopeParser.c"
+ JSDOCScope* _tmp2_;
+ JSDOCScope* _tmp3_;
+ const gchar* _tmp4_;
+ JSDOCToken* _tmp5_;
+ JSDOCIdentifier* _tmp6_;
+ JSDOCIdentifier* _tmp7_;
+ JSDOCScope* _tmp8_;
+ JSDOCScope* _tmp9_;
+ JSDOCScope* _tmp10_;
+#line 1072 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = scope;
+#line 1072 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp2_ != NULL)) {
+#line 1072 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4582 "ScopeParser.c"
+ }
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = scope;
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = symbol;
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = token;
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = jsdoc_scope_getIdentifier (_tmp3_, _tmp4_, _tmp5_);
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 1073 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ identifier = _tmp6_;
+#line 1075 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = identifier;
+#line 1075 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (_tmp7_ != NULL) {
+#line 1076 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ result = identifier;
+#line 1076 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (scope);
+#line 1076 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 4606 "ScopeParser.c"
+ }
+#line 1078 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = scope;
+#line 1078 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = _tmp8_->parent;
+#line 1078 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = _g_object_ref0 (_tmp9_);
+#line 1078 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (scope);
+#line 1078 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ scope = _tmp10_;
+#line 4618 "ScopeParser.c"
+ }
+#line 1080 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ result = NULL;
+#line 1080 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (scope);
+#line 1080 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (identifier);
+#line 1080 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ return result;
+#line 4628 "ScopeParser.c"
+}
+
+
+void jsdoc_scope_parser_printWarnings (JSDOCScopeParser* self) {
+#line 1082 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_return_if_fail (self != NULL);
+#line 4635 "ScopeParser.c"
+ {
+ GeeArrayList* _w_list = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _w_size = 0;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _w_index = 0;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp0_ = self->priv->warnings;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _w_list = _tmp1_;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp2_ = _w_list;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp4_ = _tmp3_;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _w_size = _tmp4_;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _w_index = -1;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ while (TRUE) {
+#line 4663 "ScopeParser.c"
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ gchar* w = NULL;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gpointer _tmp10_;
+ const gchar* _tmp11_;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp5_ = _w_index;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _w_index = _tmp5_ + 1;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp6_ = _w_index;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp7_ = _w_size;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ break;
+#line 4684 "ScopeParser.c"
+ }
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp8_ = _w_list;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp9_ = _w_index;
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ w = (gchar*) _tmp10_;
+#line 1085 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _tmp11_ = w;
+#line 1085 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_print ("%s\n", _tmp11_);
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (w);
+#line 4700 "ScopeParser.c"
+ }
+#line 1084 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (_w_list);
+#line 4704 "ScopeParser.c"
+ }
+}
+
+
+static void jsdoc_scope_parser_class_init (JSDOCScopeParserClass * klass) {
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ jsdoc_scope_parser_parent_class = g_type_class_peek_parent (klass);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCScopeParserPrivate));
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_scope_parser_finalize;
+#line 4716 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_instance_init (JSDOCScopeParser * self) {
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv = JSDOC_SCOPE_PARSER_GET_PRIVATE (self);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->munge = TRUE;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->expN = 0;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self->priv->braceNesting = 0;
+#line 4729 "ScopeParser.c"
+}
+
+
+static void jsdoc_scope_parser_finalize (GObject * obj) {
+ JSDOCScopeParser * self;
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_SCOPE_PARSER, JSDOCScopeParser);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->warnings);
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->globalScope);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ _g_free0 (self->priv->filename);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/ScopeParser.vala"
+ G_OBJECT_CLASS (jsdoc_scope_parser_parent_class)->finalize (obj);
+#line 4751 "ScopeParser.c"
+}
+
+
+GType jsdoc_scope_parser_get_type (void) {
+ static volatile gsize jsdoc_scope_parser_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_scope_parser_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCScopeParserClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_scope_parser_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCScopeParser), 0, (GInstanceInitFunc) jsdoc_scope_parser_instance_init, NULL };
+ GType jsdoc_scope_parser_type_id;
+ jsdoc_scope_parser_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCScopeParser", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_scope_parser_type_id__volatile, jsdoc_scope_parser_type_id);
+ }
+ return jsdoc_scope_parser_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+
--- /dev/null
+
+
+
+namespace JSDOC {
+
+ public enum ScopeParserMode {
+ BUILDING_SYMBOL_TREE,
+ PASS2_SYMBOL_TREE
+ }
+
+
+ public class ScopeParser : Object {
+
+ TokenStream ts;
+ Gee.ArrayList<string> warnings;
+
+
+ static Gee.ArrayList<string> idents;
+ static bool initialized = false;
+
+
+ Scope globalScope;
+ ScopeParserMode mode;
+ //braceNesting : 0,
+ Gee.HashMap<int,Scope> indexedScopes;
+ bool munge = true;
+
+ int expN = 0;
+ int braceNesting = 0;
+
+
+ static void init()
+ {
+ if (ScopeParser.initialized) {
+ return;
+ }
+ string[] identsar = {
+
+ "break",
+ "case",
+ "continue",
+ "default",
+ "delete",
+ "do",
+ "else",
+ "export",
+ "false",
+ "for",
+ "function",
+ "if",
+ "import",
+ "in",
+ "new",
+ "null",
+ "return",
+ "switch",
+ "this",
+ "true",
+ "typeof",
+ "var",
+ "void",
+ "while",
+ "with",
+
+ "catch",
+ "class",
+ "const",
+ "debugger",
+ "enum",
+ "extends",
+ "finally",
+ "super",
+ "throw",
+ "try",
+
+ "abstract",
+ "boolean",
+ "byte",
+ "char",
+ "double",
+ "final",
+ "float",
+ "goto",
+ "implements",
+ "instanceof",
+ "int",
+ "interface",
+ "long",
+ "native",
+ "package",
+ "private",
+ "protected",
+ "public",
+ "short",
+ "static",
+ "synchronized",
+ "throws",
+ "transient",
+ "include",
+ "undefined"
+ };
+ ScopeParser.idents = new Gee.ArrayList<string>();
+ for(var i = 0 ; i < identsar.length;i++) {
+ ScopeParser.idents.add(identsar[i]);
+ }
+ }
+
+ private Packer packer;
+ string filename;
+ public ScopeParser(TokenStream ts, Packer packer, string filename) {
+ this.ts = ts; // {TokenStream}
+ this.packer = packer;
+ this.filename = filename;
+ this.warnings = new Gee.ArrayList<string>();
+
+ this.globalScope = new Scope(-1, null, -1, "", null);
+ this.indexedScopes = new Gee.HashMap<int,Scope>();
+
+ //this.indexedg = {};
+ //this.timer = new Date() * 1;
+ }
+
+
+
+
+ /*void warn(string s)
+ {
+ //print('****************' + s);
+ this.warnings.add(s);
+ //println("WARNING:" + htmlescape(s) + "<BR>");
+ }
+ */
+
+ // defaults should not be initialized here =- otherwise they get duped on new, rather than initalized..
+
+
+
+
+
+
+ public void buildSymbolTree()
+ {
+ //println("<PRE>");
+
+ this.ts.rewind();
+ this.braceNesting = 0;
+
+ // print(JSON.stringify(this.ts.tokens, null,4));
+
+
+ this.globalScope =new Scope(-1, null, -1, "", null);
+ this.indexedScopes = new Gee.HashMap<int,Scope>();
+ this.indexedScopes.set(0, this.globalScope );
+
+ this.mode = ScopeParserMode.BUILDING_SYMBOL_TREE;
+
+ this.parseScope(this.globalScope);
+
+ // print("---------------END PASS 1 ---------------- \n");
+
+ }
+
+ public void mungeSymboltree()
+ {
+ if (!this.munge) {
+ return;
+ }
+
+ // One problem with obfuscation resides in the use of undeclared
+ // and un-namespaced global symbols that are 3 characters or less
+ // in length. Here is an example:
+ //
+ // var declaredGlobalVar;
+ //
+ // function declaredGlobalFn() {
+ // var localvar;
+ // localvar = abc; // abc is an undeclared global symbol
+ // }
+ //
+ // In the example above, there is a slim chance that localvar may be
+ // munged to 'abc', conflicting with the undeclared global symbol
+ // abc, creating a potential bug. The following code detects such
+ // global symbols. This must be done AFTER the entire file has been
+ // parsed, and BEFORE munging the symbol tree. Note that declaring
+ // extra symbols in the global scope won't hurt.
+ //
+ // Note: Since we go through all the tokens to do this, we also use
+ // the opportunity to count how many times each identifier is used.
+
+ this.ts.rewind();
+ this.braceNesting = 0;
+ this.mode = ScopeParserMode.PASS2_SYMBOL_TREE;
+
+ //println("MUNGING?");
+
+ this.parseScope(this.globalScope);
+
+
+
+ this.globalScope.munge();
+
+ // this.globalScope.dump();
+ }
+
+
+
+
+
+ void parseScope(Scope scope) // parse a token stream..
+ {
+ //this.timerPrint("parseScope EnterScope");
+ //this.log(">>> ENTER SCOPE" + this.scopes.length);
+
+ var isObjectLitAr = new Gee.ArrayList<bool>();
+ isObjectLitAr.add(false);
+
+
+
+ //var scopeIndent = '';
+ //this.scopes.forEach(function() {
+ // scopeIndent += ' ';
+ //});
+ //print(">> ENTER SCOPE");
+
+
+
+
+ var token = this.ts.lookTok(1);
+ while (token != null) {
+ // this.timerPrint("parseScope AFTER lookT: " + token.toString());
+ //this.dumpToken(token , this.scopes, this.braceNesting);
+ //print("SCOPE: %s\n" , token.asString());
+ //this.log(token.data);
+ //if (token.type == 'NAME') {
+ // print('*' + token.data);
+ //}
+ switch(token.type) {
+
+ case TokenType.KEYW:
+
+ switch(token.name) {
+ case TokenName.VAR:
+ case TokenName.CONST: // not really relivant as it's only mozzy that does this.
+ //print('SCOPE-VAR:' + token.toString());
+
+ //this.log("parseScope GOT VAR/CONST : " + token.toString());
+ while (true) {
+ token = this.ts.nextTok();
+ //!this.debug|| print( token.toString());
+ // print('SCOPE-VAR-VAL:' + JSON.stringify(token, null, 4));
+ if (token == null) { // can return false at EOF!
+ break;
+ }
+ if (token.name == TokenName.VAR || token.data == ",") { // kludge..
+ continue;
+ }
+ //this.logR("parseScope GOT VAR : <B>" + token.toString() + "</B>");
+ if (token.type != TokenType.NAME) {
+ this.ts.printRange( int.max(this.ts.cursor-10,0), this.ts.cursor);
+ this.packer.logError(
+ Packer.ResultType.err,
+ this.filename,
+ token.line,
+ "var without indent"
+ );
+ //print( "var without ident");
+ //GLib.Process.exit (0);
+ }
+
+
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ var identifier = scope.getIdentifier(token.data,token) ;
+
+ if (identifier == null) {
+ scope.declareIdentifier(token.data, token);
+ } else {
+ token.identifier = identifier;
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "The variable '" +token.data + "' has already been declared in the same scope"
+ );
+ }
+ }
+
+ token = this.ts.nextTok();
+ //!this.debug|| print(token.toString());
+ /*
+ assert token.getType() == Token.SEMI ||
+ token.getType() == Token.ASSIGN ||
+ token.getType() == Token.COMMA ||
+ token.getType() == Token.IN;
+ */
+ if (token.name == TokenName.IN) {
+ break;
+ } else {
+ //var bn = this.braceNesting;
+ var bn = this.braceNesting;
+ var nts = new Gee.ArrayList<Token>();
+ while (true) {
+ if (token == null || token.type == TokenType.VOID || token.data == ",") {
+ break;
+ }
+ nts.add(token);
+ token = this.ts.nextTok();
+ }
+ if (nts.size > 0) {
+ var TS = this.ts;
+ this.ts = new TokenStream(nts);
+ this.parseExpression(scope);
+ this.ts = TS;
+ }
+
+ this.braceNesting = bn;
+ //this.braceNesting = bn;
+ //this.logR("parseScope DONE : <B>ParseExpression</B> - tok is:" + this.ts.lookT(0).toString());
+
+ token = this.ts.lookTok(1);
+ //!this.debug||
+ // print("AFTER EXP: " + token.toString());
+ if (token.data == ";") {
+ break;
+ }
+ }
+ }
+
+ //print("VAR:")
+ //this.ts.dump(vstart , this.ts.cursor);
+
+ break;
+
+
+ case TokenName.FUNCTION:
+ //if (this.mode == 'BUILDING_SYMBOL_TREE')
+ // print('SCOPE-FUNC:' + JSON.stringify(token,null,4));
+ //println("<i>"+token.data+"</i>");
+ var bn = this.braceNesting;
+ this.parseFunctionDeclaration(scope);
+ this.braceNesting = bn;
+ break;
+
+ case TokenName.WITH:
+ //print('SCOPE-WITH:' + token.toString());
+ //println("<i>"+token.data+"</i>");
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ // Inside a 'with' block, it is impossible to figure out
+ // statically whether a symbol is a local variable or an
+ // object member. As a consequence, the only thing we can
+ // do is turn the obfuscation off for the highest scope
+ // containing the 'with' block.
+ this.protectScopeFromObfuscation(scope);
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "Using 'with' is not recommended as it reduces the level of compression"
+ );
+
+
+ }
+ break;
+
+ case TokenName.CATCH:
+ //print('SCOPE-CATCH:' + token.toString());
+ //println("<i>"+token.data+"</i>");
+ this.parseCatch(scope);
+ break;
+
+
+
+ default:
+ // print(" KEYW = %s\n", token.asString());
+
+
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+
+ if (token.name == TokenName.EVAL) {
+ //print("got token eval...prefix= %s\n", token.prefix);
+
+ //print(JSON.stringify(token, null,4));
+ // look back one and see if we can find a comment!!!
+ //var prevTok = this.ts.look(-1,true);
+ //print("prev to eval = %s\n", prevTok.asString());
+ //if (prevTok.type == TokenType.COMM) {
+ // print("previus to eval == comment\n%s\n" , prevTok.data);
+ if (token.prefix.length > 0 && Regex.match_simple ("eval",token.prefix)) {
+ // look for eval:var:noreplace\n
+ //print("MATCH!?");
+
+ var regex = new GLib.Regex ("eval:var:([a-z_]+)",GLib.RegexCompileFlags.CASELESS );
+
+ regex.replace_eval (token.prefix, token.prefix.length, 0, 0, (match_info, result) => {
+ var a = match_info.fetch(1);
+ //print("protect?: %s\n", a);
+ var hi = this.getIdentifier(a, scope, token);
+ // println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
+ if (hi != null) {
+ //print("PROTECT "+a+" from munge\n");
+ //print(JSON.stringify(hi,null,4));
+ hi.toMunge = false;
+ }
+ return false;
+
+ });
+
+
+ } else {
+
+
+ this.protectScopeFromObfuscation(scope);
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "Using 'eval' is not recommended. (use eval:var:noreplace in comments to optimize)"
+ );
+
+ }
+
+ }
+
+
+
+
+ }
+ break; //???
+ }
+ break; // end KEYW
+
+ case TokenType.PUNC:
+
+ switch(token.name) {
+
+
+ case TokenName.LEFT_CURLY: // {
+ case TokenName.LEFT_PAREN: // (
+ case TokenName.LEFT_BRACE: // [
+ //print("SCOPE-CURLY/PAREN %d / KS= %d / IT=%d \n", token.props.size ,token.keyseq.size, token.items.size);
+ //println("<i>"+token.data+"</i>");
+ var curTS = this.ts;
+ if (token.props.size > 0) {
+
+ // { a : ... , c : .... }
+
+ for (var i = 0;i < token.keyseq.size; i++ ){
+ //var iter = token.props.map_iterator();
+ var k = token.keyseq.get(i);
+
+ TokenKeyMap val = token.props.get(k);
+ //print("SCOPE-PROPS GET (%d/%d): %s\n", i, token.keyseq.size,k);
+
+ // print('SCOPE-PROPS:' + JSON.stringify(token.props[prop],null,4));
+ if (val == null || val.vals.size < 1) {
+ continue;
+ }
+ if (val.vals.get(0).data == "function") {
+ // parse a function..
+ this.ts = new TokenStream(val.vals);
+ this.ts.nextTok();
+ this.parseFunctionDeclaration(scope);
+
+ continue;
+ }
+ // key value..
+
+ this.ts = new TokenStream(val.vals);
+ this.parseExpression(scope);
+
+ }
+ this.ts = curTS;
+
+ // it's an object literal..
+ // the values could be replaced..
+ break;
+ }
+
+ // ( ... ) or { .... } not object literals..
+
+
+ for (var xx =0; xx < token.items.size; xx++) {
+ var expr = token.items.get(xx);
+ //token.items.forEach(function(expr) {
+ //print(expr.toString());
+ this.ts = new TokenStream(expr);
+ //if (curTS.data == '(') {
+ this.parseScope(scope);
+ //} else {
+ // _this.parseExpression(scope)
+ //}
+
+ }
+ this.ts = curTS;
+ //print("NOT PROPS"); Seed.quit();
+
+ //isObjectLitAr.push(false);
+ //this.braceNesting++;
+
+ //print(">>>>>> OBJLIT PUSH(false)" + this.braceNesting);
+ break;
+
+ case TokenName.RIGHT_CURLY: // }
+ //print("<< EXIT SCOPE");
+ return;
+
+ default:
+ break;
+ }
+ break;
+
+ case TokenType.STRN:
+
+ ///case "STRN.DOUBLE_QUOTE": // used for object lit detection.. case "STRN.SINGLE_QUOTE":
+ // print('SCOPE-STRING:' + token.toString());
+ //println("<i>"+token.data+"</i>");
+
+ if (this.ts.lookTok(-1).data == "{" && this.ts.lookTok(1).data == ":") {
+ // then we are in an object lit.. -> we need to flag the brace as such...
+ isObjectLitAr.remove_at(isObjectLitAr.size-1);
+ isObjectLitAr.add(true);
+ //print(">>>>>> OBJLIT REPUSH(true)");
+ }
+ var isInObjectLitAr = isObjectLitAr.get(isObjectLitAr.size-1);
+
+ if (isInObjectLitAr && this.ts.lookTok(1).data == ":" &&
+ ( this.ts.lookTok(-1).data == "{" || this.ts.lookTok(-1).data == ":" )) {
+ // see if we can replace..
+ // remove the quotes..
+ // should do a bit more checking!!!! (what about wierd char's in the string..
+ var str = token.data.substring(1,token.data.length-1);
+
+ if (Regex.match_simple ("^[a-z_]+$", str,GLib.RegexCompileFlags.CASELESS) && ScopeParser.idents.index_of(str) < 0) {
+ token.outData = str;
+ }
+
+
+
+ }
+
+ break;
+
+ case TokenType.NAME:
+ // print("SCOPE got NAME:%s\n" , token.asString());
+ //print("DEAL WITH NAME:");
+ // got identifier..
+ // look for { ** : <- indicates obj literal.. ** this could occur with numbers ..
+ // skip anyting with "." before it..!!
+ // print("prev0 = " + this.ts.lookTok(0).asString() +"\n");
+ // print("prev-1 = " + this.ts.lookTok(-1).asString() +"\n");
+ if (this.ts.lookTok(-1).name == TokenName.DOT) {
+ // skip, it's an object prop.
+ // print("prev is a .dot.\n");
+ //println("<i>"+token.data+"</i>");
+ break;
+ }
+ //print("SYMBOL: " + token.toString());
+
+ var symbol = token.data;
+ if (symbol == "this") {
+ // print("ignore 'this'\n");
+ break;
+ }
+
+ if (this.mode == ScopeParserMode.PASS2_SYMBOL_TREE) {
+
+ //println("GOT IDENT: -2 : " + this.ts.lookT(-2).toString() + " <BR> ..... -1 : " + this.ts.lookT(-1).toString() + " <BR> ");
+
+ //print ("MUNGE?" + symbol);
+
+ //println("GOT IDENT: <B>" + symbol + "</B><BR/>");
+
+ //println("GOT IDENT (2): <B>" + symbol + "</B><BR/>");
+ var identifier = this.getIdentifier(symbol, scope, token);
+
+
+ if (identifier == null) {
+ // BUG!find out where builtin is defined...
+ // print("new identifier\n");
+ if (symbol.length <= 3 && Scope.builtin.index_of(symbol) < 0) {
+ // Here, we found an undeclared and un-namespaced symbol that is
+ // 3 characters or less in length. Declare it in the global scope.
+ // We don't need to declare longer symbols since they won't cause
+ // any conflict with other munged symbols.
+ this.globalScope.declareIdentifier(symbol, token);
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "Found an undeclared symbol: " + symbol
+ );
+
+ }
+
+ //println("GOT IDENT IGNORE(3): <B>" + symbol + "</B><BR/>");
+ } else {
+ // print("existing identifier\n");
+ token.identifier = identifier;
+ identifier.refcount++;
+ }
+ }
+
+ break;
+ //println("<B>SID</B>");
+ default:
+
+ break;
+
+
+ } // end switch
+
+
+ //print("parseScope TOK : " + token.toString());
+ token = this.ts.nextTok();
+ //if (this.ts.nextT()) break;
+
+ }
+ //print("<<< EXIT SCOPE");
+ //print("<<<<<<<EXIT SCOPE ERR?" +this.scopes.length);
+ }
+
+
+
+ void parseExpression(Scope scope)
+ {
+
+ // Parse the expression until we encounter a comma or a semi-colon
+ // in the same brace nesting, bracket nesting and paren nesting.
+ // Parse functions if any...
+ //println("<i>EXP</i><BR/>");
+ //!this.debug || print("PARSE EXPR");
+ this.expN++;
+
+ // for printing stuff..
+
+
+
+
+ //var expressionBraceNesting = this.braceNesting + 0;
+ //var bracketNesting = 0;
+ //var parensNesting = 0;
+
+ var isObjectLitAr = new Gee.ArrayList<bool>();
+ isObjectLitAr.add( false);
+
+
+ Token token;
+
+ //print(scopeIndent + ">> ENTER EXPRESSION" + this.expN);
+ while (null != (token = this.ts.nextTok())) {
+
+
+
+ /*
+ // moved out of loop?
+ currentScope = this.scopes[this.scopes.length-1];
+
+ var scopeIndent = '';
+ this.scopes.forEach(function() {
+ scopeIndent += ' ';
+ });
+ */
+
+ //this.dumpToken(token, this.scopes, this.braceNesting );
+ //print("EXPR %s\n" , token.asString());
+
+
+ //println("<i>"+token.data+"</i>");
+ //this.log("EXP:" + token.data);
+ switch (token.type) {
+ case TokenType.PUNC:
+ //print("EXPR-PUNC:" + token.toString());
+
+ switch(token.data) {
+
+ case ";":
+ //print("<< EXIT EXPRESSION");
+ break;
+
+ case ",":
+
+ break;
+
+
+ case "(": //Token.LP:
+ case "{": //Token.LC:
+ case "[": //Token.LB:
+ //print('SCOPE-CURLY/PAREN/BRACE:' + token.toString());
+ // print('SCOPE-CURLY/PAREN/BRACE:' + JSON.stringify(token, null,4));
+ //println("<i>"+token.data+"</i>");
+ var curTS = this.ts;
+ if (token.keyseq.size > 0) {
+
+ for (var i = 0;i < token.keyseq.size; i++ ){
+ //var iter = token.props.map_iterator();
+ var k = token.keyseq.get(i);
+
+ TokenKeyMap val = token.props.get(k);
+
+ if (val == null) {
+ print("failed to get %s val from token %s\n", k, token.asString());
+ continue;
+ }
+
+ //if (val.vals.size < 1) {
+ //print(JSON.stringify(token.props, null,4));
+ //}
+
+
+ if (val.vals.size > 0 && val.vals.get(0).data == "function") {
+ // parse a function..
+ this.ts = new TokenStream(val.vals);
+ this.ts.nextTok();
+ this.parseFunctionDeclaration(scope);
+ continue;
+ }
+ // key value..
+
+ this.ts = new TokenStream(val.vals);
+ this.parseExpression(scope);
+
+ }
+ this.ts = curTS;
+
+ // it's an object literal..
+ // the values could be replaced..
+ break;
+ }
+
+
+
+ foreach(var expr in token.items) {
+
+ this.ts = new TokenStream(expr);
+ this.parseExpression(scope);
+ }
+ this.ts = curTS;
+
+
+
+ ///print(">>>>> EXP PUSH(false)"+this.braceNesting);
+ break;
+
+
+
+
+
+ case ")": //Token.RP:
+ case "]": //Token.RB:
+ case "}": //Token.RB:
+ //print("<< EXIT EXPRESSION");
+ return;
+
+
+
+ // parensNesting++;
+ // break;
+
+
+
+ }
+ break;
+
+ case TokenType.STRN: // used for object lit detection..
+ //if (this.mode == 'BUILDING_SYMBOL_TREE')
+ //print("EXPR-STR:" + JSON.stringify(token, null, 4));
+
+
+ break;
+
+
+
+ case TokenType.NAME:
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+
+ //print("EXPR-NAME:" + JSON.stringify(token, null, 4));
+ } else {
+ //print("EXPR-NAME:" + token.toString());
+ }
+ var symbol = token.data;
+ //print("expression got NAME = %s \n" , symbol);
+ //print("in NAME 0: " + this.ts.look(0).toString());
+ //print("in NAME 2: " + this.ts.lookTok(2).toString());
+
+ //print(this.ts.lookTok(-1).data);
+ // prefixed with '.'
+ if (this.ts.lookTok(-1).data == ".") {
+ //skip '.'
+ break;
+ }
+ if (symbol == "this") {
+ break;
+ }
+
+ if (this.mode == ScopeParserMode.PASS2_SYMBOL_TREE) {
+
+ var identifier = this.getIdentifier(symbol, scope, token);
+ //println("<B>??</B>");
+ if (identifier == null) {
+
+ if (symbol.length <= 3 && Scope.builtin.index_of(symbol) < 0) {
+ // Here, we found an undeclared and un-namespaced symbol that is
+ // 3 characters or less in length. Declare it in the global scope.
+ // We don't need to declare longer symbols since they won't cause
+ // any conflict with other munged symbols.
+ this.globalScope.declareIdentifier(symbol, token);
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "Found an undeclared symbol: " + symbol
+ );
+
+
+
+
+ //print("Found an undeclared symbol: " + symbol + ' (line:' + token.line + ')');
+ //throw "OOPS";
+ } else {
+ //print("undeclared:" + token.toString())
+ }
+
+
+ } else {
+ //println("<B>++</B>");
+ token.identifier = identifier;
+ identifier.refcount++;
+ }
+
+ }
+ break;
+
+
+
+
+ //println("<B>EID</B>");
+ case TokenType.KEYW:
+ //if (this.mode == 'BUILDING_SYMBOL_TREE')
+ // print("EXPR-KEYW:" + JSON.stringify(token, null, 4));
+
+ //print('EXPR-KEYW:' + token.toString());
+ if (token.name == TokenName.FUNCTION) {
+
+ this.parseFunctionDeclaration(scope);
+ break;
+ }
+
+
+ var symbol = token.data;
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+
+ if (token.name == TokenName.EVAL) {
+
+
+ //print(JSON.stringify(token,null,4));
+
+ if (token.prefix.length > 0 && Regex.match_simple ("eval:var:", token.prefix,GLib.RegexCompileFlags.CASELESS)) {
+ // look for eval:var:noreplace\n
+ // print("GOT MATCH?");
+
+
+ var regex = new GLib.Regex ("eval:var:([a-z_]+)",GLib.RegexCompileFlags.CASELESS );
+
+ regex.replace_eval (token.prefix, token.prefix.length, 0, 0, (match_info, result) => {
+ var a = match_info.fetch(0);
+ //print("PROTECT: " + a);
+
+
+ var hi = this.getIdentifier(a, scope, token);
+ //println("PROTECT "+a+" from munge" + (hi ? "FOUND" : "MISSING"));
+ if (hi != null) {
+ // println("PROTECT "+a+" from munge");
+ hi.toMunge = false;
+ }
+ return false;
+
+ });
+
+ } else {
+ this.protectScopeFromObfuscation(scope);
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "Using 'eval' is not recommended. use eval:var in comment before eval to enable compression " + symbol
+ );
+
+
+
+ }
+
+
+ }
+
+ }
+ break;
+ default:
+ //if (this.mode == 'BUILDING_SYMBOL_TREE')
+ // print("EXPR-SKIP:" + JSON.stringify(token, null, 4));
+ break;
+ }
+
+ }
+ //print("<< EXIT EXPRESSION");
+ this.expN--;
+ }
+
+
+ void parseCatch(Scope scope) {
+
+
+ //token = getToken(-1);
+ //assert token.getType() == Token.CATCH;
+ var token = this.ts.nextTok();
+ token = this.ts.nextTok();
+
+
+ //print(JSON.stringify(this.ts,null,4));
+ //assert token.getType() == Token.LP; (
+ //token = this.ts.nextTok();
+ //assert token.getType() == Token.NAME;
+
+ var symbol = token.items[0][0].data;
+
+
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ // We must declare the exception identifier in the containing function
+ // scope to avoid errors related to the obfuscation process. No need to
+ // display a warning if the symbol was already declared here...
+ scope.declareIdentifier(symbol, token.items[0][0]);
+ } else {
+ //?? why inc the refcount?? - that should be set when building the tree???
+ var identifier = this.getIdentifier(symbol, scope, token.items[0][0]);
+ identifier.refcount++;
+ }
+
+ //token = this.ts.nextTok();
+ //assert token.getType() == Token.RP; // )
+ }
+
+ void parseFunctionDeclaration (Scope scope)
+ {
+ //print("PARSE FUNCTION");
+
+
+ // var b4braceNesting = this.braceNesting + 0;
+
+ //this.logR("<B>PARSING FUNCTION</B>");
+
+
+ var token = this.ts.nextTok();
+ if (token.type == TokenType.NAME) {
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ // Get the name of the function and declare it in the current scope.
+ var symbol = token.data;
+ if (scope.getIdentifier(symbol,token) != null) {
+
+
+ this.packer.logError(
+ Packer.ResultType.warn,
+ this.filename,
+ token.line,
+ "The function " + symbol + " has already been declared in the same scope..."
+ );
+
+
+
+ }
+ scope.declareIdentifier(symbol,token);
+ }
+ token = this.ts.nextTok();
+ }
+
+
+ // return function() {....
+ while (token.data != "(") {
+ //print(token.toString());
+ token = this.ts.nextTok();
+
+ }
+
+ Scope fnScope;
+ //assert token.getType() == Token.LP;
+ if (this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ fnScope = new Scope(1, scope, token.id, "", token);
+
+ //println("STORING SCOPE" + this.ts.cursor);
+
+ this.indexedScopes.set(token.id,fnScope);
+
+ } else {
+ //qln("FETCHING SCOPE" + this.ts.cursor);
+ fnScope = this.indexedScopes[token.id];
+ }
+ //if (this.mode == 'BUILDING_SYMBOL_TREE')
+ // print('FUNC-PARSE:' + JSON.stringify(token,null,4));
+ // Parse function arguments.
+ var args = token.items;
+ for (var argpos =0; argpos < args.size; argpos++) {
+
+ token = args.get(argpos).get(0);
+ //print ("FUNC ARGS: " + token.toString())
+ //assert token.getType() == Token.NAME ||
+ // token.getType() == Token.COMMA;
+ if (token.type == TokenType.NAME && this.mode == ScopeParserMode.BUILDING_SYMBOL_TREE) {
+ var symbol = token.data;
+ var identifier = fnScope.declareIdentifier(symbol,token);
+ if (symbol == "$super" && argpos == 0) {
+ // Exception for Prototype 1.6...
+ identifier.toMunge = false;
+ }
+ //argpos++;
+ }
+ }
+
+ token = this.ts.nextTok();
+ if (token == null) {
+ return;
+ }
+ //print('FUNC-BODY:' + JSON.stringify(token.items,null,4));
+ //Seed.quit();
+ //print(token.toString());
+ // assert token.getType() == Token.LC;
+ //this.braceNesting++;
+
+ //token = this.ts.nextTok();
+ //print(token.toString());
+ var outTS = this.ts;
+ foreach(var tar in token.items) {
+ this.ts = new TokenStream(tar);
+ this.parseScope(fnScope);
+
+ }
+
+ //print(JSON.stringify(this.ts,null,4));
+ //this.parseScope(fnScope);
+ this.ts = outTS;
+ // now pop it off the stack!!!
+
+ //this.braceNesting = b4braceNesting;
+ //print("ENDFN -1: " + this.ts.lookTok(-1).toString());
+ //print("ENDFN 0: " + this.ts.lookTok(0).toString());
+ //print("ENDFN 1: " + this.ts.lookTok(1).toString());
+ }
+
+ void protectScopeFromObfuscation (Scope scope) {
+ //assert scope != null;
+
+ if (scope == this.globalScope) {
+ // The global scope does not get obfuscated,
+ // so we don't need to worry about it...
+ return;
+ }
+
+ // Find the highest local scope containing the specified scope.
+ while (scope != null && scope.parent != this.globalScope) {
+ scope = scope.parent;
+ }
+
+ //assert scope.getParentScope() == globalScope;
+ scope.preventMunging();
+ }
+
+ Identifier? getIdentifier(string symbol, Scope in_scope, Token token)
+ {
+ Identifier identifier;
+ var scope = in_scope;
+ while (scope != null) {
+ identifier = scope.getIdentifier(symbol, token);
+ //println("ScopeParser.getIdentgetUsedSymbols("+symbol+")=" + scope.getUsedSymbols().join(','));
+ if (identifier != null) {
+ return identifier;
+ }
+ scope = scope.parent;
+ }
+ return null;
+ }
+ public void printWarnings()
+ {
+ foreach(var w in this.warnings) {
+ print("%s\n",w);
+ }
+ }
+
+ }
+}
+
--- /dev/null
+/* Symbol.c generated by valac 0.36.6, the Vala compiler
+ * generated from Symbol.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <json-glib/json-glib.h>
+
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _JSDOCDocCommentPrivate JSDOCDocCommentPrivate;
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
+#define _json_array_unref0(var) ((var == NULL) ? NULL : (var = (json_array_unref (var), NULL)))
+
+struct _JSDOCSymbol {
+ GObject parent_instance;
+ JSDOCSymbolPrivate * priv;
+ GeeArrayList* augments;
+ GeeArrayList* methods;
+ GeeArrayList* properties;
+ GeeArrayList* returns;
+ GeeArrayList* childClasses;
+ GeeArrayList* inheritsFrom;
+ GeeHashMap* cfgs;
+ JSDOCDocComment* comment;
+ gchar* alias;
+ gchar* desc;
+ gchar* isa;
+ gboolean isEvent;
+ gboolean isConstant;
+ gboolean isIgnored;
+ gboolean isInner;
+ gboolean isNamespace;
+ gboolean isPrivate;
+ gboolean isStatic;
+ gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCSymbolPrivate {
+ gchar* private_string_name;
+ gchar* _assigned_name;
+ gchar* defaultValue;
+ GeeArrayList* private_doctag_params;
+ GeeArrayList* exceptions;
+ GeeArrayList* requires;
+ GeeArrayList* see;
+ gchar* addOn;
+ gchar* author;
+ gchar* classDesc;
+ gchar* deprecated;
+ gchar* example;
+ gchar* since;
+ gchar* type;
+ gchar* version;
+};
+
+struct _JSDOCDocComment {
+ GObject parent_instance;
+ JSDOCDocCommentPrivate * priv;
+ gboolean isUserComment;
+ gboolean hasTags;
+ gchar* src;
+ GeeArrayList* tags;
+};
+
+struct _JSDOCDocCommentClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_DOC_TAG_TITLE_NO_VALUE,
+ JSDOC_DOC_TAG_TITLE_PARAM,
+ JSDOC_DOC_TAG_TITLE_PROPERTY,
+ JSDOC_DOC_TAG_TITLE_CFG,
+ JSDOC_DOC_TAG_TITLE_EXAMPLE,
+ JSDOC_DOC_TAG_TITLE_SINGLETON,
+ JSDOC_DOC_TAG_TITLE_AUTHOR,
+ JSDOC_DOC_TAG_TITLE_METHOD,
+ JSDOC_DOC_TAG_TITLE_DESC,
+ JSDOC_DOC_TAG_TITLE_OVERVIEW,
+ JSDOC_DOC_TAG_TITLE_SINCE,
+ JSDOC_DOC_TAG_TITLE_CONSTANT,
+ JSDOC_DOC_TAG_TITLE_VERSION,
+ JSDOC_DOC_TAG_TITLE_DEPRECATED,
+ JSDOC_DOC_TAG_TITLE_SEE,
+ JSDOC_DOC_TAG_TITLE_CLASS,
+ JSDOC_DOC_TAG_TITLE_NAMESPACE,
+ JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+ JSDOC_DOC_TAG_TITLE_STATIC,
+ JSDOC_DOC_TAG_TITLE_INNER,
+ JSDOC_DOC_TAG_TITLE_FIELD,
+ JSDOC_DOC_TAG_TITLE_FUNCTION,
+ JSDOC_DOC_TAG_TITLE_EVENT,
+ JSDOC_DOC_TAG_TITLE_NAME,
+ JSDOC_DOC_TAG_TITLE_RETURN,
+ JSDOC_DOC_TAG_TITLE_THROWS,
+ JSDOC_DOC_TAG_TITLE_REQUIRES,
+ JSDOC_DOC_TAG_TITLE_TYPE,
+ JSDOC_DOC_TAG_TITLE_PRIVATE,
+ JSDOC_DOC_TAG_TITLE_IGNORE,
+ JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+ JSDOC_DOC_TAG_TITLE_EXTENDS,
+ JSDOC_DOC_TAG_TITLE_DEFAULT,
+ JSDOC_DOC_TAG_TITLE_MEMBEROF,
+ JSDOC_DOC_TAG_TITLE_PUBLIC,
+ JSDOC_DOC_TAG_TITLE_SCOPE,
+ JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+struct _JSDOCDocTag {
+ GObject parent_instance;
+ JSDOCDocTagPrivate * priv;
+ JSDOCDocTagTitle title;
+ gchar* type;
+ gchar* name;
+ gboolean isOptional;
+ gchar* defaultValue;
+ gchar* desc;
+ GeeArrayList* optvalues;
+ gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_symbol_parent_class = NULL;
+extern gboolean jsdoc_symbol_regex_init;
+gboolean jsdoc_symbol_regex_init = FALSE;
+extern gchar* jsdoc_symbol_srcFile;
+gchar* jsdoc_symbol_srcFile = NULL;
+extern gchar* jsdoc_doc_parser_currentSourceFile;
+
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+#define JSDOC_SYMBOL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_SYMBOL, JSDOCSymbolPrivate))
+enum {
+ JSDOC_SYMBOL_DUMMY_PROPERTY,
+ JSDOC_SYMBOL_PRIVATE_NAME_PROPERTY,
+ JSDOC_SYMBOL_NAME_PROPERTY,
+ JSDOC_SYMBOL_PARAMS_PROPERTY
+};
+gchar* jsdoc_symbol_asString (JSDOCSymbol* self);
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self);
+void jsdoc_symbol_initArrays (JSDOCSymbol* self);
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment);
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment);
+JSDOCSymbol* jsdoc_symbol_new_new_builtin (const gchar* name);
+JSDOCSymbol* jsdoc_symbol_construct_new_builtin (GType object_type, const gchar* name);
+void jsdoc_symbol_set_private_name (JSDOCSymbol* self, const gchar* value);
+JSDOCSymbol* jsdoc_symbol_new_new_populate_with_args (const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+JSDOCSymbol* jsdoc_symbol_construct_new_populate_with_args (GType object_type, const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+static void jsdoc_symbol_set_private_string_params (JSDOCSymbol* self, GeeArrayList* value);
+gboolean jsdoc_symbol_is (JSDOCSymbol* self, const gchar* what);
+static void jsdoc_symbol_tagsFromComment (JSDOCSymbol* self);
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+static void jsdoc_symbol_set_private_params (JSDOCSymbol* self, GeeArrayList* value);
+static void jsdoc_symbol_addProperty (JSDOCSymbol* self, JSDOCSymbol* symbol);
+void jsdoc_doc_parser_addSymbol (JSDOCSymbol* symbol);
+void jsdoc_symbol_addConfig (JSDOCSymbol* self, JSDOCDocTag* docTag);
+gboolean jsdoc_symbol_isaClass (JSDOCSymbol* self);
+gboolean jsdoc_symbol_isBuiltin (JSDOCSymbol* self);
+gboolean jsdoc_symbol_set_isBuiltin (const gchar* name);
+static void jsdoc_symbol_setType (JSDOCSymbol* self, const gchar* comment, gboolean overwrite);
+gchar* jsdoc_doc_comment_unwrapComment (const gchar* comment);
+void jsdoc_symbol_inherit (JSDOCSymbol* self, JSDOCSymbol* symbol);
+static gboolean jsdoc_symbol_hasMember (JSDOCSymbol* self, const gchar* name);
+static gboolean jsdoc_symbol_hasMethod (JSDOCSymbol* self, const gchar* name);
+static gboolean jsdoc_symbol_hasProperty (JSDOCSymbol* self, const gchar* name);
+void jsdoc_symbol_addMember (JSDOCSymbol* self, JSDOCSymbol* symbol);
+static void jsdoc_symbol_addMethod (JSDOCSymbol* self, JSDOCSymbol* symbol);
+void jsdoc_symbol_addDocTag (JSDOCSymbol* self, JSDOCDocTag* docTag);
+GeeArrayList* jsdoc_symbol_configToArray (JSDOCSymbol* self);
+gchar* jsdoc_symbol_makeFuncSkel (JSDOCSymbol* self);
+GeeArrayList* jsdoc_symbol_get_params (JSDOCSymbol* self);
+gchar* jsdoc_symbol_makeMethodSkel (JSDOCSymbol* self);
+gchar* jsdoc_doc_tag_asString (JSDOCDocTag* self);
+JsonArray* jsdoc_symbol_paramsToJson (JSDOCSymbol* self);
+JsonArray* jsdoc_symbol_returnsToJson (JSDOCSymbol* self);
+JSDOCSymbol* jsdoc_symbol_new (void);
+JSDOCSymbol* jsdoc_symbol_construct (GType object_type);
+JSDOCDocTag* jsdoc_doc_tag_new (const gchar* in_src);
+JSDOCDocTag* jsdoc_doc_tag_construct (GType object_type, const gchar* in_src);
+static void jsdoc_symbol_finalize (GObject * obj);
+static void _vala_jsdoc_symbol_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+static void _vala_jsdoc_symbol_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static GRegex* _tmp_regex_0 = NULL;
+static GRegex* _tmp_regex_1 = NULL;
+static GRegex* _tmp_regex_2 = NULL;
+
+gchar* jsdoc_symbol_asString (JSDOCSymbol* self) {
+ gchar* result = NULL;
+ const gchar* _tmp0_ = NULL;
+ gboolean _tmp1_;
+ const gchar* _tmp2_ = NULL;
+ gboolean _tmp3_;
+ const gchar* _tmp4_ = NULL;
+ gboolean _tmp5_;
+ const gchar* _tmp6_ = NULL;
+ gboolean _tmp7_;
+ const gchar* _tmp8_;
+ const gchar* _tmp9_;
+ const gchar* _tmp10_;
+ const gchar* _tmp11_;
+ gchar* _tmp12_;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = self->isStatic;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp1_) {
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = "static";
+#line 264 "Symbol.c"
+ } else {
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = "";
+#line 268 "Symbol.c"
+ }
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = self->isEvent;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp3_) {
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = "EV";
+#line 276 "Symbol.c"
+ } else {
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = "";
+#line 280 "Symbol.c"
+ }
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = self->isConstant;
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp5_) {
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = "CO";
+#line 288 "Symbol.c"
+ } else {
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = "";
+#line 292 "Symbol.c"
+ }
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = self->isNamespace;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp7_) {
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = "NS";
+#line 300 "Symbol.c"
+ } else {
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = "";
+#line 304 "Symbol.c"
+ }
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = self->memberOf;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = jsdoc_symbol_get_name (self);
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _tmp9_;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = self->priv->_assigned_name;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = g_strdup_printf ("NAME: %s:%s ASNAME: %s : %s%s%s%s", _tmp8_, _tmp10_, _tmp11_, _tmp0_, _tmp2_, _tmp4_, _tmp6_);
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp12_;
+#line 134 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 320 "Symbol.c"
+}
+
+
+void jsdoc_symbol_initArrays (JSDOCSymbol* self) {
+ GeeArrayList* _tmp0_;
+ gchar* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ GeeArrayList* _tmp5_;
+ GeeArrayList* _tmp6_;
+ GeeArrayList* _tmp7_;
+ GeeHashMap* _tmp8_;
+ GeeArrayList* _tmp9_;
+ GeeArrayList* _tmp10_;
+ JSDOCDocComment* _tmp11_;
+ JSDOCDocComment* _tmp12_;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->exceptions);
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->exceptions = _tmp0_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = g_strdup ("OBJECT");
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp1_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->methods);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->methods = _tmp2_;
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->properties);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->properties = _tmp3_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->requires);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->requires = _tmp4_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->returns);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->returns = _tmp5_;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->see);
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->see = _tmp6_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->augments);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->augments = _tmp7_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->cfgs);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->cfgs = _tmp8_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->inheritsFrom);
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->inheritsFrom = _tmp9_;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->childClasses);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->childClasses = _tmp10_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = jsdoc_doc_comment_new ("");
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->comment);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->comment = _tmp11_;
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = self->comment;
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_->isUserComment = FALSE;
+#line 416 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_construct_new_builtin (GType object_type, const gchar* name) {
+ JSDOCSymbol * self = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp2_;
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ JSDOCDocComment* _tmp7_;
+ JSDOCDocComment* _tmp8_;
+ gchar* _tmp9_;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self = (JSDOCSymbol*) g_object_new (object_type, NULL);
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_initArrays (self);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = jsdoc_doc_parser_currentSourceFile;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (jsdoc_symbol_srcFile);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_srcFile = _tmp1_;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = name;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (self, _tmp2_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = jsdoc_symbol_get_name (self);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp5_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = g_strdup ("CONSTRUCTOR");
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp6_;
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = jsdoc_doc_comment_new ("");
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->comment);
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->comment = _tmp7_;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = self->comment;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_->isUserComment = FALSE;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isNamespace = FALSE;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = g_strdup ("");
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (jsdoc_symbol_srcFile);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_srcFile = _tmp9_;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isPrivate = FALSE;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self;
+#line 488 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_new_new_builtin (const gchar* name) {
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return jsdoc_symbol_construct_new_builtin (JSDOC_TYPE_SYMBOL, name);
+#line 495 "Symbol.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 502 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_construct_new_populate_with_args (GType object_type, const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment) {
+ JSDOCSymbol * self = NULL;
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+ const gchar* _tmp2_;
+ gchar* _tmp3_;
+ GeeArrayList* _tmp4_;
+ const gchar* _tmp5_ = NULL;
+ const gchar* _tmp6_;
+ gchar* _tmp8_;
+ JSDOCDocComment* _tmp9_;
+ JSDOCDocComment* _tmp10_;
+ const gchar* _tmp11_;
+ gchar* _tmp12_;
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp14_;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (name != NULL, NULL);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (params != NULL, NULL);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (isa != NULL, NULL);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (comment != NULL, NULL);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self = (JSDOCSymbol*) g_object_new (object_type, NULL);
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_initArrays (self);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = name;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (self, _tmp0_);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = jsdoc_symbol_get_name (self);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = _tmp1_;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = g_strdup (_tmp2_);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp3_;
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = params;
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_string_params (self, _tmp4_);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = isa;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp6_, "VIRTUAL") == 0) {
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = "OBJECT";
+#line 558 "Symbol.c"
+ } else {
+ const gchar* _tmp7_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = isa;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = _tmp7_;
+#line 565 "Symbol.c"
+ }
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = g_strdup (_tmp5_);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp8_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = comment;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _g_object_ref0 (_tmp9_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->comment);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->comment = _tmp10_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = jsdoc_doc_parser_currentSourceFile;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = g_strdup (_tmp11_);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (jsdoc_symbol_srcFile);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_srcFile = _tmp12_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = jsdoc_symbol_is (self, "FILE");
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp14_) {
+#line 593 "Symbol.c"
+ const gchar* _tmp15_;
+ gint _tmp16_;
+ gint _tmp17_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = self->alias;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = strlen (_tmp15_);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = _tmp16_;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = _tmp17_ < 1;
+#line 605 "Symbol.c"
+ } else {
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = FALSE;
+#line 609 "Symbol.c"
+ }
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp13_) {
+#line 613 "Symbol.c"
+ const gchar* _tmp18_;
+ gchar* _tmp19_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = jsdoc_symbol_srcFile;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = g_strdup (_tmp18_);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp19_;
+#line 624 "Symbol.c"
+ }
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_tagsFromComment (self);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self;
+#line 630 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_new_new_populate_with_args (const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment) {
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return jsdoc_symbol_construct_new_populate_with_args (JSDOC_TYPE_SYMBOL, name, params, isa, comment);
+#line 637 "Symbol.c"
+}
+
+
+static gchar* string_strip (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 1234 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_strstrip (_tmp1_);
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 660 "Symbol.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 671 "Symbol.c"
+ }
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return *re;
+#line 675 "Symbol.c"
+}
+
+
+static gpointer _g_regex_ref0 (gpointer self) {
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self ? g_regex_ref (self) : NULL;
+#line 682 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_tagsFromComment (JSDOCSymbol* self) {
+ GeeArrayList* authors = NULL;
+ JSDOCDocComment* _tmp0_;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+ GeeArrayList* mth = NULL;
+ JSDOCDocComment* _tmp25_;
+ GeeArrayList* _tmp26_;
+ GeeArrayList* _tmp27_;
+ gint _tmp28_;
+ gint _tmp29_;
+ GeeArrayList* descs = NULL;
+ JSDOCDocComment* _tmp31_;
+ GeeArrayList* _tmp32_;
+ GeeArrayList* _tmp33_;
+ gint _tmp34_;
+ gint _tmp35_;
+ gboolean _tmp55_;
+ GeeArrayList* sinces = NULL;
+ JSDOCDocComment* _tmp84_;
+ GeeArrayList* _tmp85_;
+ GeeArrayList* _tmp86_;
+ gint _tmp87_;
+ gint _tmp88_;
+ JSDOCDocComment* _tmp108_;
+ GeeArrayList* _tmp109_;
+ GeeArrayList* _tmp110_;
+ gint _tmp111_;
+ gint _tmp112_;
+ gboolean _tmp113_;
+ GeeArrayList* versions = NULL;
+ JSDOCDocComment* _tmp115_;
+ GeeArrayList* _tmp116_;
+ GeeArrayList* _tmp117_;
+ gint _tmp118_;
+ gint _tmp119_;
+ GeeArrayList* deprecateds = NULL;
+ JSDOCDocComment* _tmp139_;
+ GeeArrayList* _tmp140_;
+ GeeArrayList* _tmp141_;
+ gint _tmp142_;
+ gint _tmp143_;
+ GeeArrayList* examples = NULL;
+ JSDOCDocComment* _tmp163_;
+ GeeArrayList* _tmp164_;
+ GeeArrayList* _tmp165_;
+ gint _tmp166_;
+ gint _tmp167_;
+ GeeArrayList* sees = NULL;
+ JSDOCDocComment* _tmp173_;
+ GeeArrayList* _tmp174_;
+ GeeArrayList* _tmp175_;
+ gint _tmp176_;
+ gint _tmp177_;
+ GeeArrayList* classes = NULL;
+ JSDOCDocComment* _tmp192_;
+ GeeArrayList* _tmp193_;
+ GeeArrayList* _tmp194_;
+ gint _tmp195_;
+ gint _tmp196_;
+ GeeArrayList* namespaces = NULL;
+ JSDOCDocComment* _tmp203_;
+ GeeArrayList* _tmp204_;
+ GeeArrayList* _tmp205_;
+ gint _tmp206_;
+ gint _tmp207_;
+ GeeArrayList* params = NULL;
+ JSDOCDocComment* _tmp216_;
+ GeeArrayList* _tmp217_;
+ GeeArrayList* _tmp218_;
+ gint _tmp219_;
+ gint _tmp220_;
+ JSDOCDocComment* _tmp286_;
+ GeeArrayList* _tmp287_;
+ GeeArrayList* _tmp288_;
+ gint _tmp289_;
+ gint _tmp290_;
+ gboolean _tmp291_;
+ JSDOCDocComment* _tmp293_;
+ GeeArrayList* _tmp294_;
+ GeeArrayList* _tmp295_;
+ gint _tmp296_;
+ gint _tmp297_;
+ gboolean _tmp298_;
+ JSDOCDocComment* _tmp300_;
+ GeeArrayList* _tmp301_;
+ GeeArrayList* _tmp302_;
+ gint _tmp303_;
+ gint _tmp304_;
+ gboolean _tmp305_;
+ JSDOCDocComment* _tmp306_;
+ GeeArrayList* _tmp307_;
+ GeeArrayList* _tmp308_;
+ gint _tmp309_;
+ gint _tmp310_;
+ gboolean _tmp311_;
+ JSDOCDocComment* _tmp312_;
+ GeeArrayList* _tmp313_;
+ GeeArrayList* _tmp314_;
+ gint _tmp315_;
+ gint _tmp316_;
+ gboolean _tmp317_;
+ JSDOCDocComment* _tmp319_;
+ GeeArrayList* _tmp320_;
+ GeeArrayList* _tmp321_;
+ gint _tmp322_;
+ gint _tmp323_;
+ gboolean _tmp324_;
+ gboolean _tmp326_ = FALSE;
+ JSDOCDocComment* _tmp327_;
+ GeeArrayList* _tmp328_;
+ GeeArrayList* _tmp329_;
+ gint _tmp330_;
+ gint _tmp331_;
+ gboolean _tmp332_;
+ GeeArrayList* events = NULL;
+ JSDOCDocComment* _tmp335_;
+ GeeArrayList* _tmp336_;
+ GeeArrayList* _tmp337_;
+ gint _tmp338_;
+ gint _tmp339_;
+ GeeArrayList* names = NULL;
+ JSDOCDocComment* _tmp341_;
+ GeeArrayList* _tmp342_;
+ GeeArrayList* _tmp343_;
+ gint _tmp344_;
+ gint _tmp345_;
+ GeeArrayList* properties = NULL;
+ JSDOCDocComment* _tmp352_;
+ GeeArrayList* _tmp353_;
+ GeeArrayList* _tmp354_;
+ gint _tmp355_;
+ gint _tmp356_;
+ GeeArrayList* conf = NULL;
+ JSDOCDocComment* _tmp451_;
+ GeeArrayList* _tmp452_;
+ GeeArrayList* _tmp453_;
+ gint _tmp454_;
+ gint _tmp455_;
+ GeeArrayList* returns = NULL;
+ JSDOCDocComment* _tmp466_;
+ GeeArrayList* _tmp467_;
+ GeeArrayList* _tmp468_;
+ gint _tmp469_;
+ gint _tmp470_;
+ JSDOCDocComment* _tmp493_;
+ GeeArrayList* _tmp494_;
+ GeeArrayList* requires = NULL;
+ JSDOCDocComment* _tmp495_;
+ GeeArrayList* _tmp496_;
+ GeeArrayList* _tmp497_;
+ gint _tmp498_;
+ gint _tmp499_;
+ GeeArrayList* types = NULL;
+ JSDOCDocComment* _tmp515_;
+ GeeArrayList* _tmp516_;
+ GeeArrayList* _tmp517_;
+ gint _tmp518_;
+ gint _tmp519_;
+ gboolean _tmp525_ = FALSE;
+ JSDOCDocComment* _tmp526_;
+ GeeArrayList* _tmp527_;
+ GeeArrayList* _tmp528_;
+ gint _tmp529_;
+ gint _tmp530_;
+ gboolean _tmp531_;
+ JSDOCDocComment* _tmp533_;
+ GeeArrayList* _tmp534_;
+ GeeArrayList* _tmp535_;
+ gint _tmp536_;
+ gint _tmp537_;
+ gboolean _tmp538_;
+ GeeArrayList* defaults = NULL;
+ JSDOCDocComment* _tmp567_;
+ GeeArrayList* _tmp568_;
+ GeeArrayList* _tmp569_;
+ gint _tmp570_;
+ gint _tmp571_;
+ GeeArrayList* memberOfs = NULL;
+ JSDOCDocComment* _tmp578_;
+ GeeArrayList* _tmp579_;
+ GeeArrayList* _tmp580_;
+ gint _tmp581_;
+ gint _tmp582_;
+ JSDOCDocComment* _tmp621_;
+ GeeArrayList* _tmp622_;
+ GeeArrayList* _tmp623_;
+ gint _tmp624_;
+ gint _tmp625_;
+ gboolean _tmp626_;
+ GError * _inner_error_ = NULL;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->comment;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = jsdoc_doc_comment_getTag (_tmp0_, JSDOC_DOC_TAG_TITLE_AUTHOR);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ authors = _tmp1_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = authors;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 244 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp4_ > 0) {
+#line 895 "Symbol.c"
+ gchar* _tmp5_;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = g_strdup ("");
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->author);
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->author = _tmp5_;
+#line 903 "Symbol.c"
+ {
+ GeeArrayList* _a_list = NULL;
+ GeeArrayList* _tmp6_;
+ GeeArrayList* _tmp7_;
+ gint _a_size = 0;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gint _tmp10_;
+ gint _a_index = 0;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = authors;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _g_object_ref0 (_tmp6_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _a_list = _tmp7_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _a_list;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp8_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _tmp9_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _a_size = _tmp10_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _a_index = -1;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 931 "Symbol.c"
+ gint _tmp11_;
+ gint _tmp12_;
+ gint _tmp13_;
+ JSDOCDocTag* a = NULL;
+ GeeArrayList* _tmp14_;
+ gint _tmp15_;
+ gpointer _tmp16_;
+ const gchar* _tmp17_ = NULL;
+ const gchar* _tmp18_;
+ const gchar* _tmp19_;
+ gchar* _tmp20_;
+ const gchar* _tmp21_;
+ JSDOCDocTag* _tmp22_;
+ const gchar* _tmp23_;
+ gchar* _tmp24_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = _a_index;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _a_index = _tmp11_ + 1;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = _a_index;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = _a_size;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp12_ < _tmp13_)) {
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 959 "Symbol.c"
+ }
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _a_list;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = _a_index;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, _tmp15_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ a = (JSDOCDocTag*) _tmp16_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = self->priv->author;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp18_, "") == 0) {
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = "";
+#line 975 "Symbol.c"
+ } else {
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = ", ";
+#line 979 "Symbol.c"
+ }
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = self->priv->author;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = g_strconcat (_tmp19_, _tmp17_, NULL);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->author);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->author = _tmp20_;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = self->priv->author;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = a;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = _tmp22_->desc;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = g_strconcat (_tmp21_, _tmp23_, NULL);
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->author);
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->author = _tmp24_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (a);
+#line 1003 "Symbol.c"
+ }
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_a_list);
+#line 1007 "Symbol.c"
+ }
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = self->comment;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = jsdoc_doc_comment_getTag (_tmp25_, JSDOC_DOC_TAG_TITLE_METHOD);
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ mth = _tmp26_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp27_ = mth;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp28_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp27_);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp29_ = _tmp28_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp29_ > 0) {
+#line 1024 "Symbol.c"
+ gchar* _tmp30_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp30_ = g_strdup ("FUNCTION");
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp30_;
+#line 1032 "Symbol.c"
+ }
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp31_ = self->comment;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp32_ = jsdoc_doc_comment_getTag (_tmp31_, JSDOC_DOC_TAG_TITLE_DESC);
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ descs = _tmp32_;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp33_ = descs;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp34_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp33_);
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp35_ = _tmp34_;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp35_ > 0) {
+#line 1048 "Symbol.c"
+ gchar* _tmp36_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp36_ = g_strdup ("");
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp36_;
+#line 1056 "Symbol.c"
+ {
+ GeeArrayList* _d_list = NULL;
+ GeeArrayList* _tmp37_;
+ GeeArrayList* _tmp38_;
+ gint _d_size = 0;
+ GeeArrayList* _tmp39_;
+ gint _tmp40_;
+ gint _tmp41_;
+ gint _d_index = 0;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp37_ = descs;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp38_ = _g_object_ref0 (_tmp37_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_list = _tmp38_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp39_ = _d_list;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp40_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp39_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp41_ = _tmp40_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_size = _tmp41_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = -1;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1084 "Symbol.c"
+ gint _tmp42_;
+ gint _tmp43_;
+ gint _tmp44_;
+ JSDOCDocTag* d = NULL;
+ GeeArrayList* _tmp45_;
+ gint _tmp46_;
+ gpointer _tmp47_;
+ const gchar* _tmp48_ = NULL;
+ const gchar* _tmp49_;
+ gchar* _tmp50_;
+ const gchar* _tmp51_;
+ JSDOCDocTag* _tmp52_;
+ const gchar* _tmp53_;
+ gchar* _tmp54_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp42_ = _d_index;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = _tmp42_ + 1;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp43_ = _d_index;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp44_ = _d_size;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp43_ < _tmp44_)) {
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1111 "Symbol.c"
+ }
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp45_ = _d_list;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp46_ = _d_index;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp47_ = gee_abstract_list_get ((GeeAbstractList*) _tmp45_, _tmp46_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ d = (JSDOCDocTag*) _tmp47_;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp49_ = self->desc;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp49_, "") == 0) {
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp48_ = "";
+#line 1127 "Symbol.c"
+ } else {
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp48_ = "\n";
+#line 1131 "Symbol.c"
+ }
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp50_ = g_strdup (_tmp48_);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp50_;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp51_ = self->desc;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp52_ = d;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp53_ = _tmp52_->desc;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp54_ = g_strconcat (_tmp51_, _tmp53_, NULL);
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp54_;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (d);
+#line 1153 "Symbol.c"
+ }
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_d_list);
+#line 1157 "Symbol.c"
+ }
+ }
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp55_ = jsdoc_symbol_is (self, "FILE");
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp55_) {
+#line 1164 "Symbol.c"
+ const gchar* _tmp56_;
+ gint _tmp57_;
+ gint _tmp58_;
+ GeeArrayList* overviews = NULL;
+ JSDOCDocComment* _tmp61_;
+ GeeArrayList* _tmp62_;
+ GeeArrayList* _tmp63_;
+ gint _tmp64_;
+ gint _tmp65_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp56_ = self->alias;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp57_ = strlen (_tmp56_);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp58_ = _tmp57_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp58_ < 1) {
+#line 1182 "Symbol.c"
+ const gchar* _tmp59_;
+ gchar* _tmp60_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp59_ = jsdoc_symbol_srcFile;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp60_ = g_strdup (_tmp59_);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp60_;
+#line 1193 "Symbol.c"
+ }
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp61_ = self->comment;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp62_ = jsdoc_doc_comment_getTag (_tmp61_, JSDOC_DOC_TAG_TITLE_OVERVIEW);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ overviews = _tmp62_;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp63_ = overviews;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp64_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp63_);
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp65_ = _tmp64_;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp65_ > 0) {
+#line 1209 "Symbol.c"
+ {
+ GeeArrayList* _d_list = NULL;
+ GeeArrayList* _tmp66_;
+ GeeArrayList* _tmp67_;
+ gint _d_size = 0;
+ GeeArrayList* _tmp68_;
+ gint _tmp69_;
+ gint _tmp70_;
+ gint _d_index = 0;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp66_ = overviews;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp67_ = _g_object_ref0 (_tmp66_);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_list = _tmp67_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp68_ = _d_list;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp69_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp68_);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp70_ = _tmp69_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_size = _tmp70_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = -1;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1237 "Symbol.c"
+ gint _tmp71_;
+ gint _tmp72_;
+ gint _tmp73_;
+ JSDOCDocTag* d = NULL;
+ GeeArrayList* _tmp74_;
+ gint _tmp75_;
+ gpointer _tmp76_;
+ const gchar* _tmp77_ = NULL;
+ const gchar* _tmp78_;
+ gchar* _tmp79_;
+ const gchar* _tmp80_;
+ JSDOCDocTag* _tmp81_;
+ const gchar* _tmp82_;
+ gchar* _tmp83_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp71_ = _d_index;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = _tmp71_ + 1;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp72_ = _d_index;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp73_ = _d_size;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp72_ < _tmp73_)) {
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1264 "Symbol.c"
+ }
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp74_ = _d_list;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp75_ = _d_index;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp76_ = gee_abstract_list_get ((GeeAbstractList*) _tmp74_, _tmp75_);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ d = (JSDOCDocTag*) _tmp76_;
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp78_ = self->desc;
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp78_, "") == 0) {
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp77_ = "";
+#line 1280 "Symbol.c"
+ } else {
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp77_ = "\n";
+#line 1284 "Symbol.c"
+ }
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp79_ = g_strdup (_tmp77_);
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp79_;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp80_ = self->desc;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp81_ = d;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp82_ = _tmp81_->desc;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp83_ = g_strconcat (_tmp80_, _tmp82_, NULL);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp83_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (d);
+#line 1306 "Symbol.c"
+ }
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_d_list);
+#line 1310 "Symbol.c"
+ }
+ }
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (overviews);
+#line 1315 "Symbol.c"
+ }
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp84_ = self->comment;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp85_ = jsdoc_doc_comment_getTag (_tmp84_, JSDOC_DOC_TAG_TITLE_SINCE);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ sinces = _tmp85_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp86_ = sinces;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp87_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp86_);
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp88_ = _tmp87_;
+#line 304 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp88_ > 0) {
+#line 1331 "Symbol.c"
+ gchar* _tmp89_;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp89_ = g_strdup ("");
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->since);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->since = _tmp89_;
+#line 1339 "Symbol.c"
+ {
+ GeeArrayList* _d_list = NULL;
+ GeeArrayList* _tmp90_;
+ GeeArrayList* _tmp91_;
+ gint _d_size = 0;
+ GeeArrayList* _tmp92_;
+ gint _tmp93_;
+ gint _tmp94_;
+ gint _d_index = 0;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp90_ = sinces;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp91_ = _g_object_ref0 (_tmp90_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_list = _tmp91_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp92_ = _d_list;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp93_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp92_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp94_ = _tmp93_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_size = _tmp94_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = -1;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1367 "Symbol.c"
+ gint _tmp95_;
+ gint _tmp96_;
+ gint _tmp97_;
+ JSDOCDocTag* d = NULL;
+ GeeArrayList* _tmp98_;
+ gint _tmp99_;
+ gpointer _tmp100_;
+ const gchar* _tmp101_ = NULL;
+ const gchar* _tmp102_;
+ gchar* _tmp103_;
+ const gchar* _tmp104_;
+ JSDOCDocTag* _tmp105_;
+ const gchar* _tmp106_;
+ gchar* _tmp107_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp95_ = _d_index;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = _tmp95_ + 1;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp96_ = _d_index;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp97_ = _d_size;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp96_ < _tmp97_)) {
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1394 "Symbol.c"
+ }
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp98_ = _d_list;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp99_ = _d_index;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp100_ = gee_abstract_list_get ((GeeAbstractList*) _tmp98_, _tmp99_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ d = (JSDOCDocTag*) _tmp100_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp102_ = self->priv->since;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp102_, "") == 0) {
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp101_ = "";
+#line 1410 "Symbol.c"
+ } else {
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp101_ = "\n";
+#line 1414 "Symbol.c"
+ }
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp103_ = g_strdup (_tmp101_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->since);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->since = _tmp103_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp104_ = self->priv->since;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp105_ = d;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp106_ = _tmp105_->desc;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp107_ = g_strconcat (_tmp104_, _tmp106_, NULL);
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->since);
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->since = _tmp107_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (d);
+#line 1436 "Symbol.c"
+ }
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_d_list);
+#line 1440 "Symbol.c"
+ }
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp108_ = self->comment;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp109_ = jsdoc_doc_comment_getTag (_tmp108_, JSDOC_DOC_TAG_TITLE_CONSTANT);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp110_ = _tmp109_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp111_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp110_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp112_ = _tmp111_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp113_ = _tmp112_ > 0;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp110_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp113_) {
+#line 1459 "Symbol.c"
+ gchar* _tmp114_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isConstant = TRUE;
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp114_ = g_strdup ("OBJECT");
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 320 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp114_;
+#line 1469 "Symbol.c"
+ }
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp115_ = self->comment;
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp116_ = jsdoc_doc_comment_getTag (_tmp115_, JSDOC_DOC_TAG_TITLE_VERSION);
+#line 329 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ versions = _tmp116_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp117_ = versions;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp118_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp117_);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp119_ = _tmp118_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp119_ > 0) {
+#line 1485 "Symbol.c"
+ gchar* _tmp120_;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp120_ = g_strdup ("");
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->version);
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->version = _tmp120_;
+#line 1493 "Symbol.c"
+ {
+ GeeArrayList* _d_list = NULL;
+ GeeArrayList* _tmp121_;
+ GeeArrayList* _tmp122_;
+ gint _d_size = 0;
+ GeeArrayList* _tmp123_;
+ gint _tmp124_;
+ gint _tmp125_;
+ gint _d_index = 0;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp121_ = versions;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp122_ = _g_object_ref0 (_tmp121_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_list = _tmp122_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp123_ = _d_list;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp124_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp123_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp125_ = _tmp124_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_size = _tmp125_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = -1;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1521 "Symbol.c"
+ gint _tmp126_;
+ gint _tmp127_;
+ gint _tmp128_;
+ JSDOCDocTag* d = NULL;
+ GeeArrayList* _tmp129_;
+ gint _tmp130_;
+ gpointer _tmp131_;
+ const gchar* _tmp132_ = NULL;
+ const gchar* _tmp133_;
+ gchar* _tmp134_;
+ const gchar* _tmp135_;
+ JSDOCDocTag* _tmp136_;
+ const gchar* _tmp137_;
+ gchar* _tmp138_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp126_ = _d_index;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = _tmp126_ + 1;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp127_ = _d_index;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp128_ = _d_size;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp127_ < _tmp128_)) {
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1548 "Symbol.c"
+ }
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp129_ = _d_list;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp130_ = _d_index;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp131_ = gee_abstract_list_get ((GeeAbstractList*) _tmp129_, _tmp130_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ d = (JSDOCDocTag*) _tmp131_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp133_ = self->priv->version;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp133_, "") == 0) {
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp132_ = "";
+#line 1564 "Symbol.c"
+ } else {
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp132_ = "\n";
+#line 1568 "Symbol.c"
+ }
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp134_ = g_strdup (_tmp132_);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->version);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->version = _tmp134_;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp135_ = self->priv->version;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp136_ = d;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp137_ = _tmp136_->desc;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp138_ = g_strconcat (_tmp135_, _tmp137_, NULL);
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->version);
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->version = _tmp138_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (d);
+#line 1590 "Symbol.c"
+ }
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_d_list);
+#line 1594 "Symbol.c"
+ }
+ }
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp139_ = self->comment;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp140_ = jsdoc_doc_comment_getTag (_tmp139_, JSDOC_DOC_TAG_TITLE_DEPRECATED);
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ deprecateds = _tmp140_;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp141_ = deprecateds;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp142_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp141_);
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp143_ = _tmp142_;
+#line 345 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp143_ > 0) {
+#line 1611 "Symbol.c"
+ gchar* _tmp144_;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp144_ = g_strdup ("");
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->deprecated);
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->deprecated = _tmp144_;
+#line 1619 "Symbol.c"
+ {
+ GeeArrayList* _d_list = NULL;
+ GeeArrayList* _tmp145_;
+ GeeArrayList* _tmp146_;
+ gint _d_size = 0;
+ GeeArrayList* _tmp147_;
+ gint _tmp148_;
+ gint _tmp149_;
+ gint _d_index = 0;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp145_ = deprecateds;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp146_ = _g_object_ref0 (_tmp145_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_list = _tmp146_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp147_ = _d_list;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp148_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp147_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp149_ = _tmp148_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_size = _tmp149_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = -1;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1647 "Symbol.c"
+ gint _tmp150_;
+ gint _tmp151_;
+ gint _tmp152_;
+ JSDOCDocTag* d = NULL;
+ GeeArrayList* _tmp153_;
+ gint _tmp154_;
+ gpointer _tmp155_;
+ const gchar* _tmp156_ = NULL;
+ const gchar* _tmp157_;
+ gchar* _tmp158_;
+ const gchar* _tmp159_;
+ JSDOCDocTag* _tmp160_;
+ const gchar* _tmp161_;
+ gchar* _tmp162_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp150_ = _d_index;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _d_index = _tmp150_ + 1;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp151_ = _d_index;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp152_ = _d_size;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp151_ < _tmp152_)) {
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1674 "Symbol.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp153_ = _d_list;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp154_ = _d_index;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp155_ = gee_abstract_list_get ((GeeAbstractList*) _tmp153_, _tmp154_);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ d = (JSDOCDocTag*) _tmp155_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp157_ = self->priv->deprecated;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp157_, "") == 0) {
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp156_ = "";
+#line 1690 "Symbol.c"
+ } else {
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp156_ = "\n";
+#line 1694 "Symbol.c"
+ }
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp158_ = g_strdup (_tmp156_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->deprecated);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->deprecated = _tmp158_;
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp159_ = self->priv->deprecated;
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp160_ = d;
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp161_ = _tmp160_->desc;
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp162_ = g_strconcat (_tmp159_, _tmp161_, NULL);
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->deprecated);
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->deprecated = _tmp162_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (d);
+#line 1716 "Symbol.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_d_list);
+#line 1720 "Symbol.c"
+ }
+ }
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp163_ = self->comment;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp164_ = jsdoc_doc_comment_getTag (_tmp163_, JSDOC_DOC_TAG_TITLE_EXAMPLE);
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ examples = _tmp164_;
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp165_ = examples;
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp166_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp165_);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp167_ = _tmp166_;
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp167_ > 0) {
+#line 1737 "Symbol.c"
+ GeeArrayList* _tmp168_;
+ gpointer _tmp169_;
+ JSDOCDocTag* _tmp170_;
+ const gchar* _tmp171_;
+ gchar* _tmp172_;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp168_ = examples;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp169_ = gee_abstract_list_get ((GeeAbstractList*) _tmp168_, 0);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp170_ = (JSDOCDocTag*) _tmp169_;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp171_ = _tmp170_->desc;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp172_ = g_strdup (_tmp171_);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->example);
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->example = _tmp172_;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp170_);
+#line 1759 "Symbol.c"
+ }
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp173_ = self->comment;
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp174_ = jsdoc_doc_comment_getTag (_tmp173_, JSDOC_DOC_TAG_TITLE_SEE);
+#line 370 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ sees = _tmp174_;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp175_ = sees;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp176_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp175_);
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp177_ = _tmp176_;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp177_ > 0) {
+#line 1775 "Symbol.c"
+ {
+ GeeArrayList* _s_list = NULL;
+ GeeArrayList* _tmp178_;
+ GeeArrayList* _tmp179_;
+ gint _s_size = 0;
+ GeeArrayList* _tmp180_;
+ gint _tmp181_;
+ gint _tmp182_;
+ gint _s_index = 0;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp178_ = sees;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp179_ = _g_object_ref0 (_tmp178_);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _s_list = _tmp179_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp180_ = _s_list;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp181_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp180_);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp182_ = _tmp181_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _s_size = _tmp182_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _s_index = -1;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 1803 "Symbol.c"
+ gint _tmp183_;
+ gint _tmp184_;
+ gint _tmp185_;
+ JSDOCDocTag* s = NULL;
+ GeeArrayList* _tmp186_;
+ gint _tmp187_;
+ gpointer _tmp188_;
+ GeeArrayList* _tmp189_;
+ JSDOCDocTag* _tmp190_;
+ const gchar* _tmp191_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp183_ = _s_index;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _s_index = _tmp183_ + 1;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp184_ = _s_index;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp185_ = _s_size;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp184_ < _tmp185_)) {
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 1826 "Symbol.c"
+ }
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp186_ = _s_list;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp187_ = _s_index;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp188_ = gee_abstract_list_get ((GeeAbstractList*) _tmp186_, _tmp187_);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ s = (JSDOCDocTag*) _tmp188_;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp189_ = self->priv->see;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp190_ = s;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp191_ = _tmp190_->desc;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp189_, _tmp191_);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (s);
+#line 1846 "Symbol.c"
+ }
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_s_list);
+#line 1850 "Symbol.c"
+ }
+ }
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp192_ = self->comment;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp193_ = jsdoc_doc_comment_getTag (_tmp192_, JSDOC_DOC_TAG_TITLE_CLASS);
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ classes = _tmp193_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp194_ = classes;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp195_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp194_);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp196_ = _tmp195_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp196_ > 0) {
+#line 1867 "Symbol.c"
+ gchar* _tmp197_;
+ GeeArrayList* _tmp198_;
+ gpointer _tmp199_;
+ JSDOCDocTag* _tmp200_;
+ const gchar* _tmp201_;
+ gchar* _tmp202_;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp197_ = g_strdup ("CONSTRUCTOR");
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp197_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp198_ = classes;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp199_ = gee_abstract_list_get ((GeeAbstractList*) _tmp198_, 0);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp200_ = (JSDOCDocTag*) _tmp199_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp201_ = _tmp200_->desc;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp202_ = g_strdup (_tmp201_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->classDesc);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->classDesc = _tmp202_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp200_);
+#line 1896 "Symbol.c"
+ }
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp203_ = self->comment;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp204_ = jsdoc_doc_comment_getTag (_tmp203_, JSDOC_DOC_TAG_TITLE_NAMESPACE);
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ namespaces = _tmp204_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp205_ = namespaces;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp206_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp205_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp207_ = _tmp206_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp207_ > 0) {
+#line 1912 "Symbol.c"
+ GeeArrayList* _tmp208_;
+ gpointer _tmp209_;
+ JSDOCDocTag* _tmp210_;
+ const gchar* _tmp211_;
+ gchar* _tmp212_;
+ gchar* _tmp213_;
+ const gchar* _tmp214_;
+ gchar* _tmp215_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp208_ = namespaces;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp209_ = gee_abstract_list_get ((GeeAbstractList*) _tmp208_, 0);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp210_ = (JSDOCDocTag*) _tmp209_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp211_ = _tmp210_->desc;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp212_ = g_strconcat (_tmp211_, "\n", NULL);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp213_ = _tmp212_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp214_ = self->desc;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp215_ = g_strconcat (_tmp213_, _tmp214_, NULL);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->classDesc);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->classDesc = _tmp215_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp213_);
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp210_);
+#line 406 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isNamespace = TRUE;
+#line 1947 "Symbol.c"
+ }
+#line 415 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp216_ = self->comment;
+#line 415 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp217_ = jsdoc_doc_comment_getTag (_tmp216_, JSDOC_DOC_TAG_TITLE_PARAM);
+#line 415 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ params = _tmp217_;
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp218_ = params;
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp219_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp218_);
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp220_ = _tmp219_;
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp220_ > 0) {
+#line 1963 "Symbol.c"
+ GeeArrayList* thisParams = NULL;
+ GeeArrayList* _tmp221_;
+ GeeArrayList* _tmp222_;
+ GeeArrayList* _tmp223_;
+ gint _tmp224_;
+ gint _tmp225_;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp221_ = params;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp222_ = _g_object_ref0 (_tmp221_);
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ thisParams = _tmp222_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp223_ = thisParams;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp224_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp223_);
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp225_ = _tmp224_;
+#line 420 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp225_ == 0) {
+#line 1984 "Symbol.c"
+ GeeArrayList* _tmp226_;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp226_ = params;
+#line 421 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_params (self, _tmp226_);
+#line 1990 "Symbol.c"
+ } else {
+ GeeArrayList* _tmp285_;
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp227_;
+ gint _tmp228_;
+ gint _tmp229_;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp227_ = params;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp228_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp227_);
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp229_ = _tmp228_;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ l = _tmp229_;
+#line 2009 "Symbol.c"
+ {
+ gboolean _tmp230_ = FALSE;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp230_ = TRUE;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 2016 "Symbol.c"
+ gint _tmp232_;
+ gint _tmp233_;
+ GeeArrayList* _tmp234_;
+ gint _tmp235_;
+ gint _tmp236_;
+ gint _tmp237_;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp230_) {
+#line 2025 "Symbol.c"
+ gint _tmp231_;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp231_ = i;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp231_ + 1;
+#line 2031 "Symbol.c"
+ }
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp230_ = FALSE;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp232_ = i;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp233_ = l;
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp232_ < _tmp233_)) {
+#line 424 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 2043 "Symbol.c"
+ }
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp234_ = thisParams;
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp235_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp234_);
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp236_ = _tmp235_;
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp237_ = i;
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp236_ <= _tmp237_) {
+#line 2055 "Symbol.c"
+ JSDOCDocTag* np = NULL;
+ GeeArrayList* _tmp238_;
+ gint _tmp239_;
+ gpointer _tmp240_;
+ JSDOCDocTag* _tmp241_;
+ const gchar* _tmp242_;
+ gint _tmp243_;
+ gint _tmp244_;
+ JSDOCDocTag* _tmp252_;
+ GeeArrayList* _tmp253_;
+ gint _tmp254_;
+ gpointer _tmp255_;
+ JSDOCDocTag* _tmp256_;
+ const gchar* _tmp257_;
+ gchar* _tmp258_;
+ JSDOCDocTag* _tmp259_;
+ GeeArrayList* _tmp260_;
+ gint _tmp261_;
+ gpointer _tmp262_;
+ JSDOCDocTag* _tmp263_;
+ const gchar* _tmp264_;
+ gchar* _tmp265_;
+ JSDOCDocTag* _tmp266_;
+ GeeArrayList* _tmp267_;
+ gint _tmp268_;
+ gpointer _tmp269_;
+ JSDOCDocTag* _tmp270_;
+ gboolean _tmp271_;
+ JSDOCDocTag* _tmp272_;
+ GeeArrayList* _tmp273_;
+ gint _tmp274_;
+ gpointer _tmp275_;
+ JSDOCDocTag* _tmp276_;
+ const gchar* _tmp277_;
+ gchar* _tmp278_;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp238_ = thisParams;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp239_ = i;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp240_ = gee_abstract_list_get ((GeeAbstractList*) _tmp238_, _tmp239_);
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ np = (JSDOCDocTag*) _tmp240_;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp241_ = np;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp242_ = _tmp241_->type;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp243_ = strlen (_tmp242_);
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp244_ = _tmp243_;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp244_ > 0) {
+#line 2109 "Symbol.c"
+ JSDOCDocTag* _tmp245_;
+ GeeArrayList* _tmp246_;
+ gint _tmp247_;
+ gpointer _tmp248_;
+ JSDOCDocTag* _tmp249_;
+ const gchar* _tmp250_;
+ gchar* _tmp251_;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp245_ = np;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp246_ = params;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp247_ = i;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp248_ = gee_abstract_list_get ((GeeAbstractList*) _tmp246_, _tmp247_);
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp249_ = (JSDOCDocTag*) _tmp248_;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp250_ = _tmp249_->type;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp251_ = g_strdup (_tmp250_);
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp245_->type);
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp245_->type = _tmp251_;
+#line 428 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp249_);
+#line 2137 "Symbol.c"
+ }
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp252_ = np;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp253_ = params;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp254_ = i;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp255_ = gee_abstract_list_get ((GeeAbstractList*) _tmp253_, _tmp254_);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp256_ = (JSDOCDocTag*) _tmp255_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp257_ = _tmp256_->name;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp258_ = g_strdup (_tmp257_);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp252_->name);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp252_->name = _tmp258_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp256_);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp259_ = np;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp260_ = params;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp261_ = i;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp262_ = gee_abstract_list_get ((GeeAbstractList*) _tmp260_, _tmp261_);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp263_ = (JSDOCDocTag*) _tmp262_;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp264_ = _tmp263_->desc;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp265_ = g_strdup (_tmp264_);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp259_->desc);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp259_->desc = _tmp265_;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp263_);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp266_ = np;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp267_ = params;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp268_ = i;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp269_ = gee_abstract_list_get ((GeeAbstractList*) _tmp267_, _tmp268_);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp270_ = (JSDOCDocTag*) _tmp269_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp271_ = _tmp270_->isOptional;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp266_->isOptional = _tmp271_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp270_);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp272_ = np;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp273_ = params;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp274_ = i;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp275_ = gee_abstract_list_get ((GeeAbstractList*) _tmp273_, _tmp274_);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp276_ = (JSDOCDocTag*) _tmp275_;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp277_ = _tmp276_->defaultValue;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp278_ = g_strdup (_tmp277_);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp272_->defaultValue);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp272_->defaultValue = _tmp278_;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp276_);
+#line 425 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (np);
+#line 2217 "Symbol.c"
+ } else {
+ GeeArrayList* _tmp279_;
+ gint _tmp280_;
+ GeeArrayList* _tmp281_;
+ gint _tmp282_;
+ gpointer _tmp283_;
+ JSDOCDocTag* _tmp284_;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp279_ = thisParams;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp280_ = i;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp281_ = params;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp282_ = i;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp283_ = gee_abstract_list_get ((GeeAbstractList*) _tmp281_, _tmp282_);
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp284_ = (JSDOCDocTag*) _tmp283_;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_list_set ((GeeAbstractList*) _tmp279_, _tmp280_, _tmp284_);
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp284_);
+#line 2241 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp285_ = thisParams;
+#line 437 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_params (self, _tmp285_);
+#line 2250 "Symbol.c"
+ }
+#line 416 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisParams);
+#line 2254 "Symbol.c"
+ }
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp286_ = self->comment;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp287_ = jsdoc_doc_comment_getTag (_tmp286_, JSDOC_DOC_TAG_TITLE_CONSTRUCTOR);
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp288_ = _tmp287_;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp289_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp288_);
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp290_ = _tmp289_;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp291_ = _tmp290_ > 0;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp288_);
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp291_) {
+#line 2272 "Symbol.c"
+ gchar* _tmp292_;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp292_ = g_strdup ("CONSTRUCTOR");
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp292_;
+#line 2280 "Symbol.c"
+ }
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp293_ = self->comment;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp294_ = jsdoc_doc_comment_getTag (_tmp293_, JSDOC_DOC_TAG_TITLE_STATIC);
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp295_ = _tmp294_;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp296_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp295_);
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp297_ = _tmp296_;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp298_ = _tmp297_ > 0;
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp295_);
+#line 451 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp298_) {
+#line 2298 "Symbol.c"
+ const gchar* _tmp299_;
+#line 452 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isStatic = TRUE;
+#line 453 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp299_ = self->isa;
+#line 453 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp299_, "CONSTRUCTOR") == 0) {
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isNamespace = TRUE;
+#line 2308 "Symbol.c"
+ }
+ }
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp300_ = self->comment;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp301_ = jsdoc_doc_comment_getTag (_tmp300_, JSDOC_DOC_TAG_TITLE_SINGLETON);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp302_ = _tmp301_;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp303_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp302_);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp304_ = _tmp303_;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp305_ = _tmp304_ > 0;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp302_);
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp305_) {
+#line 460 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isStatic = TRUE;
+#line 2329 "Symbol.c"
+ }
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp306_ = self->comment;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp307_ = jsdoc_doc_comment_getTag (_tmp306_, JSDOC_DOC_TAG_TITLE_INNER);
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp308_ = _tmp307_;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp309_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp308_);
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp310_ = _tmp309_;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp311_ = _tmp310_ > 0;
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp308_);
+#line 470 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp311_) {
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isInner = TRUE;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isStatic = FALSE;
+#line 2351 "Symbol.c"
+ }
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp312_ = self->comment;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp313_ = jsdoc_doc_comment_getTag (_tmp312_, JSDOC_DOC_TAG_TITLE_FIELD);
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp314_ = _tmp313_;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp315_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp314_);
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp316_ = _tmp315_;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp317_ = _tmp316_ > 0;
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp314_);
+#line 477 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp317_) {
+#line 2369 "Symbol.c"
+ gchar* _tmp318_;
+#line 478 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp318_ = g_strdup ("OBJECT");
+#line 478 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 478 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp318_;
+#line 2377 "Symbol.c"
+ }
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp319_ = self->comment;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp320_ = jsdoc_doc_comment_getTag (_tmp319_, JSDOC_DOC_TAG_TITLE_FUNCTION);
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp321_ = _tmp320_;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp322_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp321_);
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp323_ = _tmp322_;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp324_ = _tmp323_ > 0;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp321_);
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp324_) {
+#line 2395 "Symbol.c"
+ gchar* _tmp325_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp325_ = g_strdup ("FUNCTION");
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp325_;
+#line 2403 "Symbol.c"
+ }
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp327_ = self->comment;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp328_ = jsdoc_doc_comment_getTag (_tmp327_, JSDOC_DOC_TAG_TITLE_PARAM);
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp329_ = _tmp328_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp330_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp329_);
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp331_ = _tmp330_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp332_ = _tmp331_ > 0;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp329_);
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp332_) {
+#line 2421 "Symbol.c"
+ const gchar* _tmp333_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp333_ = self->isa;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp326_ = g_strcmp0 (_tmp333_, "OBJECT") == 0;
+#line 2427 "Symbol.c"
+ } else {
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp326_ = FALSE;
+#line 2431 "Symbol.c"
+ }
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp326_) {
+#line 2435 "Symbol.c"
+ gchar* _tmp334_;
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp334_ = g_strdup ("FUNCTION");
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp334_;
+#line 2443 "Symbol.c"
+ }
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp335_ = self->comment;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp336_ = jsdoc_doc_comment_getTag (_tmp335_, JSDOC_DOC_TAG_TITLE_EVENT);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ events = _tmp336_;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp337_ = events;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp338_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp337_);
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp339_ = _tmp338_;
+#line 499 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp339_ > 0) {
+#line 2459 "Symbol.c"
+ gchar* _tmp340_;
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp340_ = g_strdup ("FUNCTION");
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 500 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp340_;
+#line 501 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isEvent = TRUE;
+#line 2469 "Symbol.c"
+ }
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp341_ = self->comment;
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp342_ = jsdoc_doc_comment_getTag (_tmp341_, JSDOC_DOC_TAG_TITLE_NAME);
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ names = _tmp342_;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp343_ = names;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp344_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp343_);
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp345_ = _tmp344_;
+#line 508 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp345_ > 0) {
+#line 2485 "Symbol.c"
+ GeeArrayList* _tmp346_;
+ gpointer _tmp347_;
+ JSDOCDocTag* _tmp348_;
+ const gchar* _tmp349_;
+ gchar* _tmp350_;
+ gchar* _tmp351_;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp346_ = names;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp347_ = gee_abstract_list_get ((GeeAbstractList*) _tmp346_, 0);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp348_ = (JSDOCDocTag*) _tmp347_;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp349_ = _tmp348_->desc;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp350_ = string_strip (_tmp349_);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp351_ = _tmp350_;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (self, _tmp351_);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp351_);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp348_);
+#line 2510 "Symbol.c"
+ }
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp352_ = self->comment;
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp353_ = jsdoc_doc_comment_getTag (_tmp352_, JSDOC_DOC_TAG_TITLE_PROPERTY);
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ properties = _tmp353_;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp354_ = properties;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp355_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp354_);
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp356_ = _tmp355_;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp356_ > 0) {
+#line 2526 "Symbol.c"
+ {
+ gint i = 0;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 2531 "Symbol.c"
+ {
+ gboolean _tmp357_ = FALSE;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp357_ = TRUE;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 2538 "Symbol.c"
+ gint _tmp359_;
+ GeeArrayList* _tmp360_;
+ gint _tmp361_;
+ gint _tmp362_;
+ GeeArrayList* _tmp363_;
+ gint _tmp364_;
+ gpointer _tmp365_;
+ JSDOCDocTag* _tmp366_;
+ const gchar* _tmp367_;
+ gint _tmp368_;
+ gint _tmp369_;
+ gboolean _tmp370_;
+ JSDOCSymbol* property = NULL;
+ const gchar* _tmp371_;
+ gchar* _tmp372_;
+ gchar* _tmp373_;
+ GeeArrayList* _tmp374_;
+ gint _tmp375_;
+ gpointer _tmp376_;
+ JSDOCDocTag* _tmp377_;
+ const gchar* _tmp378_;
+ gchar* _tmp379_;
+ gchar* _tmp380_;
+ GeeArrayList* _tmp381_;
+ GeeArrayList* _tmp382_;
+ GeeArrayList* _tmp383_;
+ gint _tmp384_;
+ gpointer _tmp385_;
+ JSDOCDocTag* _tmp386_;
+ const gchar* _tmp387_;
+ gchar* _tmp388_;
+ gchar* _tmp389_;
+ gchar* _tmp390_;
+ gchar* _tmp391_;
+ GeeArrayList* _tmp392_;
+ gint _tmp393_;
+ gpointer _tmp394_;
+ JSDOCDocTag* _tmp395_;
+ const gchar* _tmp396_;
+ gchar* _tmp397_;
+ gchar* _tmp398_;
+ gchar* _tmp399_;
+ gchar* _tmp400_;
+ const gchar* _tmp401_;
+ gchar* _tmp402_;
+ gchar* _tmp403_;
+ gchar* _tmp404_;
+ gchar* _tmp405_;
+ JSDOCDocComment* _tmp406_;
+ JSDOCDocComment* _tmp407_;
+ JSDOCSymbol* _tmp408_;
+ JSDOCSymbol* _tmp409_;
+ JSDOCSymbol* _tmp410_;
+ GeeArrayList* _tmp411_;
+ gint _tmp412_;
+ gpointer _tmp413_;
+ JSDOCDocTag* _tmp414_;
+ const gchar* _tmp415_;
+ JSDOCSymbol* _tmp416_;
+ const gchar* _tmp417_;
+ gchar* _tmp418_;
+ GeeArrayList* _tmp419_;
+ gint _tmp420_;
+ gpointer _tmp421_;
+ JSDOCDocTag* _tmp422_;
+ const gchar* _tmp423_;
+ gint _tmp424_;
+ gint _tmp425_;
+ gboolean _tmp426_;
+ GeeArrayList* _tmp434_;
+ gint _tmp435_;
+ gpointer _tmp436_;
+ JSDOCDocTag* _tmp437_;
+ const gchar* _tmp438_;
+ gint _tmp439_;
+ gint _tmp440_;
+ gboolean _tmp441_;
+ JSDOCSymbol* _tmp449_;
+ JSDOCSymbol* _tmp450_;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp357_) {
+#line 2620 "Symbol.c"
+ gint _tmp358_;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp358_ = i;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp358_ + 1;
+#line 2626 "Symbol.c"
+ }
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp357_ = FALSE;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp359_ = i;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp360_ = properties;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp361_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp360_);
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp362_ = _tmp361_;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp359_ < _tmp362_)) {
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 2642 "Symbol.c"
+ }
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp363_ = properties;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp364_ = i;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp365_ = gee_abstract_list_get ((GeeAbstractList*) _tmp363_, _tmp364_);
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp366_ = (JSDOCDocTag*) _tmp365_;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp367_ = _tmp366_->name;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp368_ = strlen (_tmp367_);
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp369_ = _tmp368_;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp370_ = _tmp369_ < 1;
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp366_);
+#line 525 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp370_) {
+#line 526 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 2666 "Symbol.c"
+ }
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp371_ = self->alias;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp372_ = g_strconcat (_tmp371_, "#", NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp373_ = _tmp372_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp374_ = properties;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp375_ = i;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp376_ = gee_abstract_list_get ((GeeAbstractList*) _tmp374_, _tmp375_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp377_ = (JSDOCDocTag*) _tmp376_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp378_ = _tmp377_->name;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp379_ = g_strconcat (_tmp373_, _tmp378_, NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp380_ = _tmp379_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp381_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp382_ = _tmp381_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp383_ = properties;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp384_ = i;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp385_ = gee_abstract_list_get ((GeeAbstractList*) _tmp383_, _tmp384_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp386_ = (JSDOCDocTag*) _tmp385_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp387_ = _tmp386_->desc;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp388_ = g_strconcat ("/**\n", _tmp387_, NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp389_ = _tmp388_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp390_ = g_strconcat (_tmp389_, "\n@name ", NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp391_ = _tmp390_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp392_ = properties;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp393_ = i;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp394_ = gee_abstract_list_get ((GeeAbstractList*) _tmp392_, _tmp393_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp395_ = (JSDOCDocTag*) _tmp394_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp396_ = _tmp395_->name;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp397_ = g_strconcat (_tmp391_, _tmp396_, NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp398_ = _tmp397_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp399_ = g_strconcat (_tmp398_, "\n@memberOf ", NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp400_ = _tmp399_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp401_ = self->alias;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp402_ = g_strconcat (_tmp400_, _tmp401_, NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp403_ = _tmp402_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp404_ = g_strconcat (_tmp403_, "#*/", NULL);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp405_ = _tmp404_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp406_ = jsdoc_doc_comment_new (_tmp405_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp407_ = _tmp406_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp408_ = jsdoc_symbol_new_new_populate_with_args (_tmp380_, _tmp382_, "OBJECT", _tmp407_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp409_ = _tmp408_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp407_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp405_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp403_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp400_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp398_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp395_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp391_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp389_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp386_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp382_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp380_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp377_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp373_);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ property = _tmp409_;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp410_ = property;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp411_ = properties;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp412_ = i;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp413_ = gee_abstract_list_get ((GeeAbstractList*) _tmp411_, _tmp412_);
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp414_ = (JSDOCDocTag*) _tmp413_;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp415_ = _tmp414_->name;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (_tmp410_, _tmp415_);
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp414_);
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp416_ = property;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp417_ = self->alias;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp418_ = g_strdup (_tmp417_);
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp416_->memberOf);
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp416_->memberOf = _tmp418_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp419_ = properties;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp420_ = i;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp421_ = gee_abstract_list_get ((GeeAbstractList*) _tmp419_, _tmp420_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp422_ = (JSDOCDocTag*) _tmp421_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp423_ = _tmp422_->type;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp424_ = strlen (_tmp423_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp425_ = _tmp424_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp426_ = _tmp425_ > 0;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp422_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp426_) {
+#line 2820 "Symbol.c"
+ JSDOCSymbol* _tmp427_;
+ GeeArrayList* _tmp428_;
+ gint _tmp429_;
+ gpointer _tmp430_;
+ JSDOCDocTag* _tmp431_;
+ const gchar* _tmp432_;
+ gchar* _tmp433_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp427_ = property;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp428_ = properties;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp429_ = i;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp430_ = gee_abstract_list_get ((GeeAbstractList*) _tmp428_, _tmp429_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp431_ = (JSDOCDocTag*) _tmp430_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp432_ = _tmp431_->type;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp433_ = g_strdup (_tmp432_);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp427_->priv->type);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp427_->priv->type = _tmp433_;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp431_);
+#line 2848 "Symbol.c"
+ }
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp434_ = properties;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp435_ = i;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp436_ = gee_abstract_list_get ((GeeAbstractList*) _tmp434_, _tmp435_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp437_ = (JSDOCDocTag*) _tmp436_;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp438_ = _tmp437_->defaultValue;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp439_ = strlen (_tmp438_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp440_ = _tmp439_;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp441_ = _tmp440_ > 0;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp437_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp441_) {
+#line 2870 "Symbol.c"
+ JSDOCSymbol* _tmp442_;
+ GeeArrayList* _tmp443_;
+ gint _tmp444_;
+ gpointer _tmp445_;
+ JSDOCDocTag* _tmp446_;
+ const gchar* _tmp447_;
+ gchar* _tmp448_;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp442_ = property;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp443_ = properties;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp444_ = i;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp445_ = gee_abstract_list_get ((GeeAbstractList*) _tmp443_, _tmp444_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp446_ = (JSDOCDocTag*) _tmp445_;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp447_ = _tmp446_->defaultValue;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp448_ = g_strdup (_tmp447_);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp442_->priv->defaultValue);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp442_->priv->defaultValue = _tmp448_;
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp446_);
+#line 2898 "Symbol.c"
+ }
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp449_ = property;
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addProperty (self, _tmp449_);
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp450_ = property;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_doc_parser_addSymbol (_tmp450_);
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (property);
+#line 2910 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp451_ = self->comment;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp452_ = jsdoc_doc_comment_getTag (_tmp451_, JSDOC_DOC_TAG_TITLE_CFG);
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ conf = _tmp452_;
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp453_ = conf;
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp454_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp453_);
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp455_ = _tmp454_;
+#line 551 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp455_ > 0) {
+#line 2929 "Symbol.c"
+ {
+ gint i = 0;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 2934 "Symbol.c"
+ {
+ gboolean _tmp456_ = FALSE;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp456_ = TRUE;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 2941 "Symbol.c"
+ gint _tmp458_;
+ GeeArrayList* _tmp459_;
+ gint _tmp460_;
+ gint _tmp461_;
+ GeeArrayList* _tmp462_;
+ gint _tmp463_;
+ gpointer _tmp464_;
+ JSDOCDocTag* _tmp465_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp456_) {
+#line 2952 "Symbol.c"
+ gint _tmp457_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp457_ = i;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp457_ + 1;
+#line 2958 "Symbol.c"
+ }
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp456_ = FALSE;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp458_ = i;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp459_ = conf;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp460_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp459_);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp461_ = _tmp460_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp458_ < _tmp461_)) {
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 2974 "Symbol.c"
+ }
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp462_ = conf;
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp463_ = i;
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp464_ = gee_abstract_list_get ((GeeAbstractList*) _tmp462_, _tmp463_);
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp465_ = (JSDOCDocTag*) _tmp464_;
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addConfig (self, _tmp465_);
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp465_);
+#line 2988 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp466_ = self->comment;
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp467_ = jsdoc_doc_comment_getTag (_tmp466_, JSDOC_DOC_TAG_TITLE_RETURN);
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ returns = _tmp467_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp468_ = returns;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp469_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp468_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp470_ = _tmp469_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp470_ > 0) {
+#line 3007 "Symbol.c"
+ GeeArrayList* _tmp471_;
+ GeeArrayList* _tmp472_;
+ gchar* _tmp473_;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp471_ = returns;
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp472_ = _g_object_ref0 (_tmp471_);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->returns);
+#line 562 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->returns = _tmp472_;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp473_ = g_strdup ("");
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp473_;
+#line 3025 "Symbol.c"
+ {
+ GeeArrayList* _r_list = NULL;
+ GeeArrayList* _tmp474_;
+ GeeArrayList* _tmp475_;
+ gint _r_size = 0;
+ GeeArrayList* _tmp476_;
+ gint _tmp477_;
+ gint _tmp478_;
+ gint _r_index = 0;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp474_ = returns;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp475_ = _g_object_ref0 (_tmp474_);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_list = _tmp475_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp476_ = _r_list;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp477_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp476_);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp478_ = _tmp477_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_size = _tmp478_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_index = -1;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 3053 "Symbol.c"
+ gint _tmp479_;
+ gint _tmp480_;
+ gint _tmp481_;
+ JSDOCDocTag* r = NULL;
+ GeeArrayList* _tmp482_;
+ gint _tmp483_;
+ gpointer _tmp484_;
+ const gchar* _tmp485_ = NULL;
+ const gchar* _tmp486_;
+ const gchar* _tmp487_;
+ gchar* _tmp488_;
+ const gchar* _tmp489_;
+ JSDOCDocTag* _tmp490_;
+ const gchar* _tmp491_;
+ gchar* _tmp492_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp479_ = _r_index;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_index = _tmp479_ + 1;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp480_ = _r_index;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp481_ = _r_size;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp480_ < _tmp481_)) {
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 3081 "Symbol.c"
+ }
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp482_ = _r_list;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp483_ = _r_index;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp484_ = gee_abstract_list_get ((GeeAbstractList*) _tmp482_, _tmp483_);
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ r = (JSDOCDocTag*) _tmp484_;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp486_ = self->priv->type;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp486_, "") == 0) {
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp485_ = "";
+#line 3097 "Symbol.c"
+ } else {
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp485_ = ", ";
+#line 3101 "Symbol.c"
+ }
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp487_ = self->priv->type;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp488_ = g_strconcat (_tmp487_, _tmp485_, NULL);
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp488_;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp489_ = self->priv->type;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp490_ = r;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp491_ = _tmp490_->type;
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp492_ = g_strconcat (_tmp489_, _tmp491_, NULL);
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 567 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp492_;
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (r);
+#line 3125 "Symbol.c"
+ }
+#line 565 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_r_list);
+#line 3129 "Symbol.c"
+ }
+ }
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp493_ = self->comment;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp494_ = jsdoc_doc_comment_getTag (_tmp493_, JSDOC_DOC_TAG_TITLE_THROWS);
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->exceptions);
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->exceptions = _tmp494_;
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp495_ = self->comment;
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp496_ = jsdoc_doc_comment_getTag (_tmp495_, JSDOC_DOC_TAG_TITLE_REQUIRES);
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ requires = _tmp496_;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp497_ = requires;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp498_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp497_);
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp499_ = _tmp498_;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp499_ > 0) {
+#line 3154 "Symbol.c"
+ GeeArrayList* _tmp500_;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp500_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->requires);
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->requires = _tmp500_;
+#line 3162 "Symbol.c"
+ {
+ GeeArrayList* _r_list = NULL;
+ GeeArrayList* _tmp501_;
+ GeeArrayList* _tmp502_;
+ gint _r_size = 0;
+ GeeArrayList* _tmp503_;
+ gint _tmp504_;
+ gint _tmp505_;
+ gint _r_index = 0;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp501_ = requires;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp502_ = _g_object_ref0 (_tmp501_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_list = _tmp502_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp503_ = _r_list;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp504_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp503_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp505_ = _tmp504_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_size = _tmp505_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_index = -1;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 3190 "Symbol.c"
+ gint _tmp506_;
+ gint _tmp507_;
+ gint _tmp508_;
+ JSDOCDocTag* r = NULL;
+ GeeArrayList* _tmp509_;
+ gint _tmp510_;
+ gpointer _tmp511_;
+ GeeArrayList* _tmp512_;
+ JSDOCDocTag* _tmp513_;
+ const gchar* _tmp514_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp506_ = _r_index;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _r_index = _tmp506_ + 1;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp507_ = _r_index;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp508_ = _r_size;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp507_ < _tmp508_)) {
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 3213 "Symbol.c"
+ }
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp509_ = _r_list;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp510_ = _r_index;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp511_ = gee_abstract_list_get ((GeeAbstractList*) _tmp509_, _tmp510_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ r = (JSDOCDocTag*) _tmp511_;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp512_ = self->priv->requires;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp513_ = r;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp514_ = _tmp513_->desc;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp512_, _tmp514_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (r);
+#line 3233 "Symbol.c"
+ }
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_r_list);
+#line 3237 "Symbol.c"
+ }
+ }
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp515_ = self->comment;
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp516_ = jsdoc_doc_comment_getTag (_tmp515_, JSDOC_DOC_TAG_TITLE_TYPE);
+#line 588 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ types = _tmp516_;
+#line 589 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp517_ = types;
+#line 589 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp518_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp517_);
+#line 589 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp519_ = _tmp518_;
+#line 589 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp519_ > 0) {
+#line 3254 "Symbol.c"
+ GeeArrayList* _tmp520_;
+ gpointer _tmp521_;
+ JSDOCDocTag* _tmp522_;
+ const gchar* _tmp523_;
+ gchar* _tmp524_;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp520_ = types;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp521_ = gee_abstract_list_get ((GeeAbstractList*) _tmp520_, 0);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp522_ = (JSDOCDocTag*) _tmp521_;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp523_ = _tmp522_->desc;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp524_ = g_strdup (_tmp523_);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp524_;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp522_);
+#line 3276 "Symbol.c"
+ }
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp526_ = self->comment;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp527_ = jsdoc_doc_comment_getTag (_tmp526_, JSDOC_DOC_TAG_TITLE_PRIVATE);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp528_ = _tmp527_;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp529_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp528_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp530_ = _tmp529_;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp531_ = _tmp530_ > 0;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp528_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp531_) {
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp525_ = TRUE;
+#line 3296 "Symbol.c"
+ } else {
+ gboolean _tmp532_;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp532_ = self->isInner;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp525_ = _tmp532_;
+#line 3303 "Symbol.c"
+ }
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp525_) {
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isPrivate = TRUE;
+#line 3309 "Symbol.c"
+ }
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp533_ = self->comment;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp534_ = jsdoc_doc_comment_getTag (_tmp533_, JSDOC_DOC_TAG_TITLE_IGNORE);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp535_ = _tmp534_;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp536_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp535_);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp537_ = _tmp536_;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp538_ = _tmp537_ > 0;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp535_);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp538_) {
+#line 602 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isIgnored = TRUE;
+#line 3329 "Symbol.c"
+ }
+ {
+ GeeArrayList* _dt_list = NULL;
+ JSDOCDocComment* _tmp539_;
+ GeeArrayList* _tmp540_;
+ gint _dt_size = 0;
+ GeeArrayList* _tmp541_;
+ gint _tmp542_;
+ gint _tmp543_;
+ gint _dt_index = 0;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp539_ = self->comment;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp540_ = jsdoc_doc_comment_getTag (_tmp539_, JSDOC_DOC_TAG_TITLE_ARGUMENTS);
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_list = _tmp540_;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp541_ = _dt_list;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp542_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp541_);
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp543_ = _tmp542_;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_size = _tmp543_;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_index = -1;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 3358 "Symbol.c"
+ gint _tmp544_;
+ gint _tmp545_;
+ gint _tmp546_;
+ JSDOCDocTag* dt = NULL;
+ GeeArrayList* _tmp547_;
+ gint _tmp548_;
+ gpointer _tmp549_;
+ GeeArrayList* _tmp550_;
+ JSDOCDocTag* _tmp551_;
+ const gchar* _tmp552_;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp544_ = _dt_index;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_index = _tmp544_ + 1;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp545_ = _dt_index;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp546_ = _dt_size;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp545_ < _tmp546_)) {
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 3381 "Symbol.c"
+ }
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp547_ = _dt_list;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp548_ = _dt_index;
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp549_ = gee_abstract_list_get ((GeeAbstractList*) _tmp547_, _tmp548_);
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ dt = (JSDOCDocTag*) _tmp549_;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp550_ = self->augments;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp551_ = dt;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp552_ = _tmp551_->desc;
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp550_, _tmp552_);
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (dt);
+#line 3401 "Symbol.c"
+ }
+#line 642 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_dt_list);
+#line 3405 "Symbol.c"
+ }
+ {
+ GeeArrayList* _dt_list = NULL;
+ JSDOCDocComment* _tmp553_;
+ GeeArrayList* _tmp554_;
+ gint _dt_size = 0;
+ GeeArrayList* _tmp555_;
+ gint _tmp556_;
+ gint _tmp557_;
+ gint _dt_index = 0;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp553_ = self->comment;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp554_ = jsdoc_doc_comment_getTag (_tmp553_, JSDOC_DOC_TAG_TITLE_EXTENDS);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_list = _tmp554_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp555_ = _dt_list;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp556_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp555_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp557_ = _tmp556_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_size = _tmp557_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_index = -1;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 3434 "Symbol.c"
+ gint _tmp558_;
+ gint _tmp559_;
+ gint _tmp560_;
+ JSDOCDocTag* dt = NULL;
+ GeeArrayList* _tmp561_;
+ gint _tmp562_;
+ gpointer _tmp563_;
+ GeeArrayList* _tmp564_;
+ JSDOCDocTag* _tmp565_;
+ const gchar* _tmp566_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp558_ = _dt_index;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dt_index = _tmp558_ + 1;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp559_ = _dt_index;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp560_ = _dt_size;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp559_ < _tmp560_)) {
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 3457 "Symbol.c"
+ }
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp561_ = _dt_list;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp562_ = _dt_index;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp563_ = gee_abstract_list_get ((GeeAbstractList*) _tmp561_, _tmp562_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ dt = (JSDOCDocTag*) _tmp563_;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp564_ = self->augments;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp565_ = dt;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp566_ = _tmp565_->desc;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp564_, _tmp566_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (dt);
+#line 3477 "Symbol.c"
+ }
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_dt_list);
+#line 3481 "Symbol.c"
+ }
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp567_ = self->comment;
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp568_ = jsdoc_doc_comment_getTag (_tmp567_, JSDOC_DOC_TAG_TITLE_DEFAULT);
+#line 653 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ defaults = _tmp568_;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp569_ = defaults;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp570_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp569_);
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp571_ = _tmp570_;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp571_ > 0) {
+#line 3497 "Symbol.c"
+ gboolean _tmp572_;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp572_ = jsdoc_symbol_is (self, "OBJECT");
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp572_) {
+#line 3503 "Symbol.c"
+ GeeArrayList* _tmp573_;
+ gpointer _tmp574_;
+ JSDOCDocTag* _tmp575_;
+ const gchar* _tmp576_;
+ gchar* _tmp577_;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp573_ = defaults;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp574_ = gee_abstract_list_get ((GeeAbstractList*) _tmp573_, 0);
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp575_ = (JSDOCDocTag*) _tmp574_;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp576_ = _tmp575_->desc;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp577_ = g_strdup (_tmp576_);
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->defaultValue);
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->defaultValue = _tmp577_;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp575_);
+#line 3525 "Symbol.c"
+ }
+ }
+#line 665 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp578_ = self->comment;
+#line 665 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp579_ = jsdoc_doc_comment_getTag (_tmp578_, JSDOC_DOC_TAG_TITLE_MEMBEROF);
+#line 665 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ memberOfs = _tmp579_;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp580_ = memberOfs;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp581_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp580_);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp582_ = _tmp581_;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp582_ > 0) {
+#line 3542 "Symbol.c"
+ GeeArrayList* _tmp583_;
+ gpointer _tmp584_;
+ JSDOCDocTag* _tmp585_;
+ const gchar* _tmp586_;
+ gchar* _tmp587_;
+ GRegex* pr_reg = NULL;
+ GRegex* _tmp588_;
+ gchar* _tmp589_ = NULL;
+ GRegex* _tmp590_;
+ const gchar* _tmp591_;
+ const gchar* _tmp592_;
+ gint _tmp593_;
+ gint _tmp594_;
+ gchar* _tmp595_;
+ gchar* _tmp596_;
+ gchar** dname = NULL;
+ const gchar* _tmp597_;
+ const gchar* _tmp598_;
+ gchar** _tmp599_;
+ gchar** _tmp600_;
+ gint dname_length1;
+ gint _dname_size_;
+ gchar* name = NULL;
+ gchar** _tmp601_;
+ gint _tmp601__length1;
+ gchar** _tmp602_;
+ gint _tmp602__length1;
+ const gchar* _tmp603_;
+ gchar* _tmp604_;
+ gchar** hname = NULL;
+ const gchar* _tmp605_;
+ gchar** _tmp606_;
+ gchar** _tmp607_;
+ gint hname_length1;
+ gint _hname_size_;
+ gchar** _tmp608_;
+ gint _tmp608__length1;
+ gchar** _tmp609_;
+ gint _tmp609__length1;
+ const gchar* _tmp610_;
+ gchar* _tmp611_;
+ const gchar* _tmp612_;
+ gchar* _tmp613_;
+ gchar* _tmp614_;
+ const gchar* _tmp615_;
+ gchar* _tmp616_;
+ gchar* _tmp617_;
+ const gchar* _tmp618_;
+ const gchar* _tmp619_;
+ gchar* _tmp620_;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp583_ = memberOfs;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp584_ = gee_abstract_list_get ((GeeAbstractList*) _tmp583_, 0);
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp585_ = (JSDOCDocTag*) _tmp584_;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp586_ = _tmp585_->desc;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp587_ = g_strdup (_tmp586_);
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->memberOf);
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->memberOf = _tmp587_;
+#line 667 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp585_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp588_ = _g_regex_ref0 (_thread_safe_regex_init (&_tmp_regex_0, "\\.prototype\\.?", 0));
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ pr_reg = _tmp588_;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp590_ = pr_reg;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp591_ = self->memberOf;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp592_ = self->memberOf;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp593_ = strlen (_tmp592_);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp594_ = _tmp593_;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp595_ = g_regex_replace (_tmp590_, _tmp591_, (gssize) _tmp594_, 0, "#", 0, &_inner_error_);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp589_ = _tmp595_;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_regex_unref0 (pr_reg);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (memberOfs);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (defaults);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (types);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (requires);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (returns);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (conf);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (properties);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (names);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (events);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (params);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (namespaces);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (classes);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (sees);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (examples);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (deprecateds);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (versions);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (sinces);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (descs);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (mth);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (authors);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_clear_error (&_inner_error_);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 3677 "Symbol.c"
+ }
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp596_ = _tmp589_;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp589_ = NULL;
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->memberOf);
+#line 670 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->memberOf = _tmp596_;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp597_ = jsdoc_symbol_get_name (self);
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp598_ = _tmp597_;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp600_ = _tmp599_ = g_strsplit (_tmp598_, ".", 0);
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ dname = _tmp600_;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ dname_length1 = _vala_array_length (_tmp599_);
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _dname_size_ = dname_length1;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp601_ = dname;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp601__length1 = dname_length1;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp602_ = dname;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp602__length1 = dname_length1;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp603_ = _tmp601_[_tmp602__length1 - 1];
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp604_ = g_strdup (_tmp603_);
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ name = _tmp604_;
+#line 674 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp605_ = name;
+#line 674 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp607_ = _tmp606_ = g_strsplit (_tmp605_, "#", 0);
+#line 674 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ hname = _tmp607_;
+#line 674 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ hname_length1 = _vala_array_length (_tmp606_);
+#line 674 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _hname_size_ = hname_length1;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp608_ = hname;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp608__length1 = hname_length1;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp609_ = hname;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp609__length1 = hname_length1;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp610_ = _tmp608_[_tmp609__length1 - 1];
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp611_ = g_strdup (_tmp610_);
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (name);
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ name = _tmp611_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp612_ = self->memberOf;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp613_ = g_strconcat (_tmp612_, ".", NULL);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp614_ = _tmp613_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp615_ = name;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp616_ = g_strconcat (_tmp614_, _tmp615_, NULL);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp617_ = _tmp616_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (self, _tmp617_);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp617_);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp614_);
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp618_ = jsdoc_symbol_get_name (self);
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp619_ = _tmp618_;
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp620_ = g_strdup (_tmp619_);
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 677 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp620_;
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ hname = (_vala_array_free (hname, hname_length1, (GDestroyNotify) g_free), NULL);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (name);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ dname = (_vala_array_free (dname, dname_length1, (GDestroyNotify) g_free), NULL);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp589_);
+#line 666 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_regex_unref0 (pr_reg);
+#line 3777 "Symbol.c"
+ }
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp621_ = self->comment;
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp622_ = jsdoc_doc_comment_getTag (_tmp621_, JSDOC_DOC_TAG_TITLE_PUBLIC);
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp623_ = _tmp622_;
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp624_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp623_);
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp625_ = _tmp624_;
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp626_ = _tmp625_ > 0;
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp623_);
+#line 685 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp626_) {
+#line 686 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isPrivate = FALSE;
+#line 3797 "Symbol.c"
+ }
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (memberOfs);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (defaults);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (types);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (requires);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (returns);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (conf);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (properties);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (names);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (events);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (params);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (namespaces);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (classes);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (sees);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (examples);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (deprecateds);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (versions);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (sinces);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (descs);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (mth);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (authors);
+#line 3839 "Symbol.c"
+}
+
+
+gboolean jsdoc_symbol_is (JSDOCSymbol* self, const gchar* what) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (what != NULL, FALSE);
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->isa;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = what;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = g_strcmp0 (_tmp0_, _tmp1_) == 0;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 3859 "Symbol.c"
+}
+
+
+gboolean jsdoc_symbol_isaClass (JSDOCSymbol* self) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_;
+#line 697 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = jsdoc_symbol_is (self, "CONSTRUCTOR");
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp1_) {
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = TRUE;
+#line 3875 "Symbol.c"
+ } else {
+ gboolean _tmp2_;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = self->isNamespace;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = _tmp2_;
+#line 3882 "Symbol.c"
+ }
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp0_;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 3888 "Symbol.c"
+}
+
+
+gboolean jsdoc_symbol_isBuiltin (JSDOCSymbol* self) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->alias;
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = jsdoc_symbol_set_isBuiltin (_tmp0_);
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp1_;
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 3906 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_setType (JSDOCSymbol* self, const gchar* comment, gboolean overwrite) {
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_;
+ gchar* typeComment = NULL;
+ const gchar* _tmp5_;
+ gchar* _tmp6_;
+ const gchar* _tmp7_;
+ gchar* _tmp8_;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (comment != NULL);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = overwrite;
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp1_) {
+#line 3926 "Symbol.c"
+ const gchar* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = self->priv->type;
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = strlen (_tmp2_);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = _tmp4_ > 0;
+#line 3938 "Symbol.c"
+ } else {
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = FALSE;
+#line 3942 "Symbol.c"
+ }
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp0_) {
+#line 710 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 3948 "Symbol.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = comment;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = jsdoc_doc_comment_unwrapComment (_tmp5_);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ typeComment = _tmp6_;
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = typeComment;
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = g_strdup (_tmp7_);
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp8_;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (typeComment);
+#line 3966 "Symbol.c"
+}
+
+
+void jsdoc_symbol_inherit (JSDOCSymbol* self, JSDOCSymbol* symbol) {
+ gboolean _tmp0_ = FALSE;
+ JSDOCSymbol* _tmp1_;
+ const gchar* _tmp2_;
+ const gchar* _tmp3_;
+ gboolean _tmp4_;
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 716 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (symbol != NULL);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = symbol;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = jsdoc_symbol_get_name (_tmp1_);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _tmp2_;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = jsdoc_symbol_hasMember (self, _tmp3_);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp4_) {
+#line 3990 "Symbol.c"
+ JSDOCSymbol* _tmp5_;
+ gboolean _tmp6_;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = symbol;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _tmp5_->isInner;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = !_tmp6_;
+#line 3999 "Symbol.c"
+ } else {
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = FALSE;
+#line 4003 "Symbol.c"
+ }
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp0_) {
+#line 4007 "Symbol.c"
+ JSDOCSymbol* _tmp7_;
+ gboolean _tmp8_;
+#line 718 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = symbol;
+#line 718 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = jsdoc_symbol_is (_tmp7_, "FUNCTION");
+#line 718 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp8_) {
+#line 4016 "Symbol.c"
+ GeeArrayList* _tmp9_;
+ JSDOCSymbol* _tmp10_;
+#line 719 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = self->methods;
+#line 719 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = symbol;
+#line 719 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp9_, _tmp10_);
+#line 4025 "Symbol.c"
+ } else {
+ JSDOCSymbol* _tmp11_;
+ gboolean _tmp12_;
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = symbol;
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = jsdoc_symbol_is (_tmp11_, "OBJECT");
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp12_) {
+#line 4035 "Symbol.c"
+ GeeArrayList* _tmp13_;
+ JSDOCSymbol* _tmp14_;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = self->properties;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = symbol;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp13_, _tmp14_);
+#line 4044 "Symbol.c"
+ }
+ }
+ }
+}
+
+
+static gboolean jsdoc_symbol_hasMember (JSDOCSymbol* self, const gchar* name) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ const gchar* _tmp1_;
+ gboolean _tmp2_;
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (name != NULL, FALSE);
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = name;
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = jsdoc_symbol_hasMethod (self, _tmp1_);
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp2_) {
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = TRUE;
+#line 4068 "Symbol.c"
+ } else {
+ const gchar* _tmp3_;
+ gboolean _tmp4_;
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = name;
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = jsdoc_symbol_hasProperty (self, _tmp3_);
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = _tmp4_;
+#line 4078 "Symbol.c"
+ }
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp0_;
+#line 726 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4084 "Symbol.c"
+}
+
+
+void jsdoc_symbol_addMember (JSDOCSymbol* self, JSDOCSymbol* symbol) {
+ JSDOCSymbol* _tmp0_;
+ JSDOCDocComment* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gboolean _tmp6_;
+ JSDOCSymbol* _tmp21_;
+ gboolean _tmp22_;
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (symbol != NULL);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = symbol;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_->comment;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = jsdoc_doc_comment_getTag (_tmp1_, JSDOC_DOC_TAG_TITLE_CFG);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _tmp2_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = _tmp4_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _tmp5_ == 1;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp3_);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp6_) {
+#line 4120 "Symbol.c"
+ JSDOCSymbol* _tmp7_;
+ JSDOCDocComment* _tmp8_;
+ GeeArrayList* _tmp9_;
+ GeeArrayList* _tmp10_;
+ gpointer _tmp11_;
+ JSDOCDocTag* _tmp12_;
+ const gchar* _tmp13_;
+ gchar* _tmp14_;
+ JSDOCSymbol* _tmp15_;
+ JSDOCDocComment* _tmp16_;
+ GeeArrayList* _tmp17_;
+ GeeArrayList* _tmp18_;
+ gpointer _tmp19_;
+ JSDOCDocTag* _tmp20_;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = symbol;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _tmp7_->comment;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = jsdoc_doc_comment_getTag (_tmp8_, JSDOC_DOC_TAG_TITLE_CFG);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _tmp9_;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, 0);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = (JSDOCDocTag*) _tmp11_;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = self->alias;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = g_strdup (_tmp13_);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp12_->memberOf);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_->memberOf = _tmp14_;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp12_);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp10_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = symbol;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = _tmp15_->comment;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = jsdoc_doc_comment_getTag (_tmp16_, JSDOC_DOC_TAG_TITLE_CFG);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = _tmp17_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp18_, 0);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = (JSDOCDocTag*) _tmp19_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addConfig (self, _tmp20_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp20_);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp18_);
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 4179 "Symbol.c"
+ }
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = symbol;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = jsdoc_symbol_is (_tmp21_, "FUNCTION");
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp22_) {
+#line 4187 "Symbol.c"
+ JSDOCSymbol* _tmp23_;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = symbol;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addMethod (self, _tmp23_);
+#line 4193 "Symbol.c"
+ } else {
+ JSDOCSymbol* _tmp24_;
+ gboolean _tmp25_;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = symbol;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = jsdoc_symbol_is (_tmp24_, "OBJECT");
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp25_) {
+#line 4203 "Symbol.c"
+ JSDOCSymbol* _tmp26_;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = symbol;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addProperty (self, _tmp26_);
+#line 4209 "Symbol.c"
+ }
+ }
+}
+
+
+static gboolean jsdoc_symbol_hasMethod (JSDOCSymbol* self, const gchar* name) {
+ gboolean result = FALSE;
+ GeeArrayList* thisMethods = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+#line 742 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 742 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (name != NULL, FALSE);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->methods;
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 743 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ thisMethods = _tmp1_;
+#line 4230 "Symbol.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = thisMethods;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ l = _tmp4_;
+#line 4247 "Symbol.c"
+ {
+ gboolean _tmp5_ = FALSE;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = TRUE;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 4254 "Symbol.c"
+ gint _tmp7_;
+ gint _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCSymbol* _tmp12_;
+ const gchar* _tmp13_;
+ const gchar* _tmp14_;
+ const gchar* _tmp15_;
+ gboolean _tmp16_;
+ GeeArrayList* _tmp17_;
+ gint _tmp18_;
+ gpointer _tmp19_;
+ JSDOCSymbol* _tmp20_;
+ const gchar* _tmp21_;
+ const gchar* _tmp22_;
+ gboolean _tmp23_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp5_) {
+#line 4274 "Symbol.c"
+ gint _tmp6_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = i;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp6_ + 1;
+#line 4280 "Symbol.c"
+ }
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = FALSE;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = i;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = l;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 4292 "Symbol.c"
+ }
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = thisMethods;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = (JSDOCSymbol*) _tmp11_;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = jsdoc_symbol_get_name (_tmp12_);
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _tmp13_;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = name;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = g_strcmp0 (_tmp14_, _tmp15_) == 0;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp12_);
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp16_) {
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = TRUE;
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisMethods);
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4320 "Symbol.c"
+ }
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = thisMethods;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = i;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _tmp18_);
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = (JSDOCSymbol*) _tmp19_;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = _tmp20_->alias;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = name;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = g_strcmp0 (_tmp21_, _tmp22_) == 0;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp20_);
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp23_) {
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = TRUE;
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisMethods);
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4346 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = FALSE;
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisMethods);
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4357 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_addMethod (JSDOCSymbol* self, JSDOCSymbol* symbol) {
+ gchar* methodAlias = NULL;
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ GeeArrayList* thisMethods = NULL;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ GeeArrayList* _tmp22_;
+ JSDOCSymbol* _tmp23_;
+#line 751 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 751 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (symbol != NULL);
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = symbol;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_->alias;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ methodAlias = _tmp2_;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = self->methods;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ thisMethods = _tmp4_;
+#line 4389 "Symbol.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = thisMethods;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ l = _tmp7_;
+#line 4406 "Symbol.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = TRUE;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 4413 "Symbol.c"
+ gint _tmp10_;
+ gint _tmp11_;
+ GeeArrayList* _tmp12_;
+ gint _tmp13_;
+ gpointer _tmp14_;
+ JSDOCSymbol* _tmp15_;
+ const gchar* _tmp16_;
+ const gchar* _tmp17_;
+ gboolean _tmp18_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp8_) {
+#line 4425 "Symbol.c"
+ gint _tmp9_;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = i;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp9_ + 1;
+#line 4431 "Symbol.c"
+ }
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = FALSE;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = l;
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 754 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 4443 "Symbol.c"
+ }
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = thisMethods;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = i;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, _tmp13_);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = (JSDOCSymbol*) _tmp14_;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = _tmp15_->alias;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = methodAlias;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = g_strcmp0 (_tmp16_, _tmp17_) == 0;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp15_);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp18_) {
+#line 4463 "Symbol.c"
+ GeeArrayList* _tmp19_;
+ gint _tmp20_;
+ JSDOCSymbol* _tmp21_;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = thisMethods;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = i;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = symbol;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_list_set ((GeeAbstractList*) _tmp19_, _tmp20_, _tmp21_);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisMethods);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (methodAlias);
+#line 757 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 4481 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = thisMethods;
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = symbol;
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp22_, _tmp23_);
+#line 751 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisMethods);
+#line 751 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (methodAlias);
+#line 4496 "Symbol.c"
+}
+
+
+static gboolean jsdoc_symbol_hasProperty (JSDOCSymbol* self, const gchar* name) {
+ gboolean result = FALSE;
+ GeeArrayList* thisProperties = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (name != NULL, FALSE);
+#line 764 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->properties;
+#line 764 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 764 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ thisProperties = _tmp1_;
+#line 4515 "Symbol.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = thisProperties;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ l = _tmp4_;
+#line 4532 "Symbol.c"
+ {
+ gboolean _tmp5_ = FALSE;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = TRUE;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 4539 "Symbol.c"
+ gint _tmp7_;
+ gint _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCSymbol* _tmp12_;
+ const gchar* _tmp13_;
+ const gchar* _tmp14_;
+ const gchar* _tmp15_;
+ gboolean _tmp16_;
+ GeeArrayList* _tmp17_;
+ gint _tmp18_;
+ gpointer _tmp19_;
+ JSDOCSymbol* _tmp20_;
+ const gchar* _tmp21_;
+ const gchar* _tmp22_;
+ gboolean _tmp23_;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp5_) {
+#line 4559 "Symbol.c"
+ gint _tmp6_;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = i;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp6_ + 1;
+#line 4565 "Symbol.c"
+ }
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = FALSE;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = i;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = l;
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 4577 "Symbol.c"
+ }
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = thisProperties;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = (JSDOCSymbol*) _tmp11_;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = jsdoc_symbol_get_name (_tmp12_);
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _tmp13_;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = name;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = g_strcmp0 (_tmp14_, _tmp15_) == 0;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp12_);
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp16_) {
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = TRUE;
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisProperties);
+#line 766 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4605 "Symbol.c"
+ }
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = thisProperties;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = i;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _tmp18_);
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = (JSDOCSymbol*) _tmp19_;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = _tmp20_->alias;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = name;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = g_strcmp0 (_tmp21_, _tmp22_) == 0;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp20_);
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp23_) {
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = TRUE;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisProperties);
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4631 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 769 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = FALSE;
+#line 769 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisProperties);
+#line 769 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 4642 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_addProperty (JSDOCSymbol* self, JSDOCSymbol* symbol) {
+ gchar* propertyAlias = NULL;
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ GeeArrayList* thisProperties = NULL;
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ GeeArrayList* _tmp22_;
+ JSDOCSymbol* _tmp23_;
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (symbol != NULL);
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = symbol;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_->alias;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ propertyAlias = _tmp2_;
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = self->properties;
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _g_object_ref0 (_tmp3_);
+#line 774 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ thisProperties = _tmp4_;
+#line 4674 "Symbol.c"
+ {
+ gint i = 0;
+ gint l = 0;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = thisProperties;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ l = _tmp7_;
+#line 4691 "Symbol.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = TRUE;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 4698 "Symbol.c"
+ gint _tmp10_;
+ gint _tmp11_;
+ GeeArrayList* _tmp12_;
+ gint _tmp13_;
+ gpointer _tmp14_;
+ JSDOCSymbol* _tmp15_;
+ const gchar* _tmp16_;
+ const gchar* _tmp17_;
+ gboolean _tmp18_;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp8_) {
+#line 4710 "Symbol.c"
+ gint _tmp9_;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = i;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp9_ + 1;
+#line 4716 "Symbol.c"
+ }
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = FALSE;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = l;
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp10_ < _tmp11_)) {
+#line 775 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 4728 "Symbol.c"
+ }
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = thisProperties;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = i;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = gee_abstract_list_get ((GeeAbstractList*) _tmp12_, _tmp13_);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = (JSDOCSymbol*) _tmp14_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = _tmp15_->alias;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = propertyAlias;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = g_strcmp0 (_tmp16_, _tmp17_) == 0;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp15_);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp18_) {
+#line 4748 "Symbol.c"
+ GeeArrayList* _tmp19_;
+ gint _tmp20_;
+ JSDOCSymbol* _tmp21_;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = thisProperties;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = i;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = symbol;
+#line 777 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_list_set ((GeeAbstractList*) _tmp19_, _tmp20_, _tmp21_);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisProperties);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (propertyAlias);
+#line 778 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 4766 "Symbol.c"
+ }
+ }
+ }
+ }
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = thisProperties;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = symbol;
+#line 782 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp22_, _tmp23_);
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (thisProperties);
+#line 772 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (propertyAlias);
+#line 4781 "Symbol.c"
+}
+
+
+void jsdoc_symbol_addDocTag (JSDOCSymbol* self, JSDOCDocTag* docTag) {
+ JSDOCDocComment* _tmp0_;
+ GeeArrayList* _tmp1_;
+ JSDOCDocTag* _tmp2_;
+ JSDOCDocTag* _tmp3_;
+ JSDOCDocTagTitle _tmp4_;
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (docTag != NULL);
+#line 787 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->comment;
+#line 787 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_->tags;
+#line 787 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = docTag;
+#line 787 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp1_, _tmp2_);
+#line 788 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = docTag;
+#line 788 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_->title;
+#line 788 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp4_ == JSDOC_DOC_TAG_TITLE_CFG) {
+#line 4809 "Symbol.c"
+ JSDOCDocTag* _tmp5_;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = docTag;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_addConfig (self, _tmp5_);
+#line 4815 "Symbol.c"
+ }
+}
+
+
+void jsdoc_symbol_addConfig (JSDOCSymbol* self, JSDOCDocTag* docTag) {
+ JSDOCDocTag* _tmp0_;
+ const gchar* _tmp1_;
+ GeeHashMap* _tmp5_;
+ JSDOCDocTag* _tmp6_;
+ const gchar* _tmp7_;
+ gboolean _tmp8_;
+#line 794 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 794 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (docTag != NULL);
+#line 796 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = docTag;
+#line 796 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_->memberOf;
+#line 796 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp1_, "") == 0) {
+#line 4837 "Symbol.c"
+ JSDOCDocTag* _tmp2_;
+ const gchar* _tmp3_;
+ gchar* _tmp4_;
+#line 800 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = docTag;
+#line 800 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = self->alias;
+#line 800 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = g_strdup (_tmp3_);
+#line 800 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp2_->memberOf);
+#line 800 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_->memberOf = _tmp4_;
+#line 4851 "Symbol.c"
+ }
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = self->cfgs;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = docTag;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_->name;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp5_, _tmp7_);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp8_) {
+#line 4863 "Symbol.c"
+ GeeHashMap* _tmp9_;
+ JSDOCDocTag* _tmp10_;
+ const gchar* _tmp11_;
+ JSDOCDocTag* _tmp12_;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = self->cfgs;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = docTag;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = _tmp10_->name;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = docTag;
+#line 803 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp9_, _tmp11_, _tmp12_);
+#line 4878 "Symbol.c"
+ }
+}
+
+
+static gboolean string_contains (const gchar* self, const gchar* needle) {
+ gboolean result = FALSE;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+#line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 1403 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, FALSE);
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = needle;
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = strstr ((gchar*) self, (gchar*) _tmp0_);
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_ != NULL;
+#line 1404 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 4899 "Symbol.c"
+}
+
+
+GeeArrayList* jsdoc_symbol_configToArray (JSDOCSymbol* self) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* r = NULL;
+ GeeArrayList* _tmp0_;
+#line 808 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 810 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ r = _tmp0_;
+#line 4913 "Symbol.c"
+ {
+ GeeIterator* _ci_it = NULL;
+ GeeHashMap* _tmp1_;
+ GeeSet* _tmp2_;
+ GeeSet* _tmp3_;
+ GeeSet* _tmp4_;
+ GeeIterator* _tmp5_;
+ GeeIterator* _tmp6_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = self->cfgs;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp1_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _tmp2_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _tmp3_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _tmp5_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp4_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _ci_it = _tmp6_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 4940 "Symbol.c"
+ GeeIterator* _tmp7_;
+ gboolean _tmp8_;
+ gchar* ci = NULL;
+ GeeIterator* _tmp9_;
+ gpointer _tmp10_;
+ GeeHashMap* _tmp11_;
+ const gchar* _tmp12_;
+ gpointer _tmp13_;
+ JSDOCDocTag* _tmp14_;
+ const gchar* _tmp15_;
+ gboolean _tmp16_;
+ gboolean _tmp17_;
+ GeeArrayList* _tmp18_;
+ GeeHashMap* _tmp19_;
+ const gchar* _tmp20_;
+ gpointer _tmp21_;
+ JSDOCDocTag* _tmp22_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _ci_it;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = gee_iterator_next (_tmp7_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp8_) {
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 4966 "Symbol.c"
+ }
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = _ci_it;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = gee_iterator_get (_tmp9_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ci = (gchar*) _tmp10_;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = self->cfgs;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = ci;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp11_, _tmp12_);
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = (JSDOCDocTag*) _tmp13_;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = _tmp14_->desc;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = string_contains (_tmp15_, "@hide");
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = _tmp16_;
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp14_);
+#line 813 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp17_) {
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ci);
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 4996 "Symbol.c"
+ }
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = r;
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = self->cfgs;
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = ci;
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp19_, _tmp20_);
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = (JSDOCDocTag*) _tmp21_;
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp18_, _tmp22_);
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp22_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ci);
+#line 5014 "Symbol.c"
+ }
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_ci_it);
+#line 5018 "Symbol.c"
+ }
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = r;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5024 "Symbol.c"
+}
+
+
+gchar* jsdoc_symbol_makeFuncSkel (JSDOCSymbol* self) {
+ gchar* result = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _tmp2_;
+ gint _tmp3_;
+ gchar* ret = NULL;
+ gchar* _tmp5_;
+ gboolean f = FALSE;
+ const gchar* _tmp32_;
+ gchar* _tmp33_;
+#line 824 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = jsdoc_symbol_get_params (self);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _tmp2_;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp3_ < 1) {
+#line 5051 "Symbol.c"
+ gchar* _tmp4_;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = g_strdup ("function ()\n{\n\n}");
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp4_;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5059 "Symbol.c"
+ }
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = g_strdup ("function (");
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp5_;
+#line 827 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ f = FALSE;
+#line 5067 "Symbol.c"
+ {
+ GeeArrayList* _p_list = NULL;
+ GeeArrayList* _tmp6_;
+ GeeArrayList* _tmp7_;
+ GeeArrayList* _tmp8_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+ gint _p_index = 0;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = jsdoc_symbol_get_params (self);
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _g_object_ref0 (_tmp7_);
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_list = _tmp8_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = _p_list;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp9_);
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = _tmp10_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_size = _tmp11_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = -1;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 5098 "Symbol.c"
+ gint _tmp12_;
+ gint _tmp13_;
+ gint _tmp14_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp15_;
+ gint _tmp16_;
+ gpointer _tmp17_;
+ JSDOCDocTag* _tmp18_;
+ const gchar* _tmp19_;
+ gboolean _tmp20_;
+ const gchar* _tmp21_ = NULL;
+ gboolean _tmp22_;
+ const gchar* _tmp23_;
+ gchar* _tmp24_;
+ const gchar* _tmp25_ = NULL;
+ JSDOCDocTag* _tmp26_;
+ const gchar* _tmp27_;
+ const gchar* _tmp30_;
+ gchar* _tmp31_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = _p_index;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = _tmp12_ + 1;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = _p_index;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _p_size;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp13_ < _tmp14_)) {
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5130 "Symbol.c"
+ }
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = _p_list;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = _p_index;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, _tmp16_);
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ p = (JSDOCDocTag*) _tmp17_;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = p;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = _tmp18_->name;
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = string_contains (_tmp19_, ".");
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp20_) {
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 829 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 5152 "Symbol.c"
+ }
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = f;
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp22_) {
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = ", ";
+#line 5160 "Symbol.c"
+ } else {
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = "";
+#line 5164 "Symbol.c"
+ }
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = ret;
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = g_strconcat (_tmp23_, _tmp21_, NULL);
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 830 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp24_;
+#line 831 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ f = TRUE;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = p;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp27_ = _tmp26_->name;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (g_strcmp0 (_tmp27_, "this") == 0) {
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = "_self";
+#line 5184 "Symbol.c"
+ } else {
+ JSDOCDocTag* _tmp28_;
+ const gchar* _tmp29_;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp28_ = p;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp29_ = _tmp28_->name;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = _tmp29_;
+#line 5194 "Symbol.c"
+ }
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp30_ = ret;
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp31_ = g_strconcat (_tmp30_, _tmp25_, NULL);
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 832 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp31_;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 5206 "Symbol.c"
+ }
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_p_list);
+#line 5210 "Symbol.c"
+ }
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp32_ = ret;
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp33_ = g_strconcat (_tmp32_, ")\n{\n\n}", NULL);
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp33_;
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 834 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5222 "Symbol.c"
+}
+
+
+gchar* jsdoc_symbol_makeMethodSkel (JSDOCSymbol* self) {
+ gchar* result = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _tmp2_;
+ gint _tmp3_;
+ gchar* ret = NULL;
+ gchar* _tmp5_;
+ gboolean f = FALSE;
+ const gchar* _tmp41_;
+ gchar* _tmp42_;
+#line 836 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = jsdoc_symbol_get_params (self);
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_;
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _tmp2_;
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp3_ < 1) {
+#line 5249 "Symbol.c"
+ gchar* _tmp4_;
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = g_strdup ("()\n{\n\n}");
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp4_;
+#line 837 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5257 "Symbol.c"
+ }
+#line 838 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = g_strdup ("(");
+#line 838 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp5_;
+#line 839 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ f = FALSE;
+#line 5265 "Symbol.c"
+ {
+ GeeArrayList* _p_list = NULL;
+ GeeArrayList* _tmp6_;
+ GeeArrayList* _tmp7_;
+ GeeArrayList* _tmp8_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+ gint _p_index = 0;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = jsdoc_symbol_get_params (self);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _g_object_ref0 (_tmp7_);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_list = _tmp8_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = _p_list;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp9_);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = _tmp10_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_size = _tmp11_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = -1;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 5296 "Symbol.c"
+ gint _tmp12_;
+ gint _tmp13_;
+ gint _tmp14_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp15_;
+ gint _tmp16_;
+ gpointer _tmp17_;
+ JSDOCDocTag* _tmp18_;
+ gchar* _tmp19_;
+ gchar* _tmp20_;
+ JSDOCDocTag* _tmp21_;
+ const gchar* _tmp22_;
+ gboolean _tmp23_;
+ const gchar* _tmp24_ = NULL;
+ gboolean _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+ JSDOCDocTag* _tmp28_;
+ const gchar* _tmp29_;
+ const gchar* _tmp30_;
+ GQuark _tmp32_ = 0U;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ static GQuark _tmp31_label0 = 0;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ static GQuark _tmp31_label1 = 0;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = _p_index;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = _tmp12_ + 1;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = _p_index;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _p_size;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp13_ < _tmp14_)) {
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5334 "Symbol.c"
+ }
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = _p_list;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = _p_index;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, _tmp16_);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ p = (JSDOCDocTag*) _tmp17_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = p;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = jsdoc_doc_tag_asString (_tmp18_);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = _tmp19_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_debug ("Symbol.vala:841: got param: %s", _tmp20_);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp20_);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = p;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = _tmp21_->name;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = string_contains (_tmp22_, ".");
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp23_) {
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 5366 "Symbol.c"
+ }
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = f;
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp25_) {
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = ", ";
+#line 5374 "Symbol.c"
+ } else {
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = "";
+#line 5378 "Symbol.c"
+ }
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = ret;
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp27_ = g_strconcat (_tmp26_, _tmp24_, NULL);
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 843 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp27_;
+#line 844 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ f = TRUE;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp28_ = p;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp29_ = _tmp28_->name;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp30_ = _tmp29_;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp32_ = (NULL == _tmp30_) ? 0 : g_quark_from_string (_tmp30_);
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp32_ == ((0 != _tmp31_label0) ? _tmp31_label0 : (_tmp31_label0 = g_quark_from_static_string ("this")))) {
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ switch (0) {
+#line 5402 "Symbol.c"
+ default:
+ {
+ const gchar* _tmp33_;
+ gchar* _tmp34_;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp33_ = ret;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp34_ = g_strconcat (_tmp33_, "this", NULL);
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp34_;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5417 "Symbol.c"
+ }
+ }
+ } else if (_tmp32_ == ((0 != _tmp31_label1) ? _tmp31_label1 : (_tmp31_label1 = g_quark_from_static_string ("function")))) {
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ switch (0) {
+#line 5423 "Symbol.c"
+ default:
+ {
+ const gchar* _tmp35_;
+ gchar* _tmp36_;
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp35_ = ret;
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp36_ = g_strconcat (_tmp35_, "function() {\n\n}", NULL);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp36_;
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5438 "Symbol.c"
+ }
+ }
+ } else {
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ switch (0) {
+#line 5444 "Symbol.c"
+ default:
+ {
+ const gchar* _tmp37_;
+ JSDOCDocTag* _tmp38_;
+ const gchar* _tmp39_;
+ gchar* _tmp40_;
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp37_ = ret;
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp38_ = p;
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp39_ = _tmp38_->name;
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp40_ = g_strconcat (_tmp37_, _tmp39_, NULL);
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp40_;
+#line 848 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5465 "Symbol.c"
+ }
+ }
+ }
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 5471 "Symbol.c"
+ }
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_p_list);
+#line 5475 "Symbol.c"
+ }
+#line 851 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp41_ = ret;
+#line 851 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp42_ = g_strconcat (_tmp41_, ")", NULL);
+#line 851 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp42_;
+#line 851 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (ret);
+#line 851 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5487 "Symbol.c"
+}
+
+
+static gpointer _json_object_ref0 (gpointer self) {
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self ? json_object_ref (self) : NULL;
+#line 5494 "Symbol.c"
+}
+
+
+JsonArray* jsdoc_symbol_paramsToJson (JSDOCSymbol* self) {
+ JsonArray* result = NULL;
+ JsonArray* ret = NULL;
+ JsonArray* _tmp0_;
+#line 854 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 856 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = json_array_new ();
+#line 856 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp0_;
+#line 5508 "Symbol.c"
+ {
+ GeeArrayList* _p_list = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _p_index = 0;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = jsdoc_symbol_get_params (self);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = _tmp1_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_list = _tmp3_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = _p_list;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _tmp5_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_size = _tmp6_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = -1;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 5539 "Symbol.c"
+ gint _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gpointer _tmp12_;
+ JSDOCDocTag* _tmp13_;
+ const gchar* _tmp14_;
+ gboolean _tmp15_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp16_;
+ JsonObject* _tmp17_;
+ JSDOCDocTag* _tmp18_;
+ const gchar* _tmp19_;
+ JsonObject* _tmp20_;
+ JSDOCDocTag* _tmp21_;
+ const gchar* _tmp22_;
+ JsonObject* _tmp23_;
+ JSDOCDocTag* _tmp24_;
+ const gchar* _tmp25_;
+ JsonObject* _tmp26_;
+ JSDOCDocTag* _tmp27_;
+ gboolean _tmp28_;
+ JsonArray* _tmp29_;
+ JsonObject* _tmp30_;
+ JsonObject* _tmp31_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _p_index;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = _tmp7_ + 1;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _p_index;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = _p_size;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp8_ < _tmp9_)) {
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5579 "Symbol.c"
+ }
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _p_list;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = _p_index;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ p = (JSDOCDocTag*) _tmp12_;
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = p;
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _tmp13_->name;
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = string_contains (_tmp14_, ".");
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp15_) {
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 859 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 5601 "Symbol.c"
+ }
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = json_object_new ();
+#line 860 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ add = _tmp16_;
+#line 861 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = add;
+#line 861 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = p;
+#line 861 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = _tmp18_->name;
+#line 861 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp17_, "name", _tmp19_);
+#line 862 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = add;
+#line 862 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = p;
+#line 862 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = _tmp21_->type;
+#line 862 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp20_, "type", _tmp22_);
+#line 863 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = add;
+#line 863 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = p;
+#line 863 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = _tmp24_->desc;
+#line 863 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp23_, "desc", _tmp25_);
+#line 864 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = add;
+#line 864 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp27_ = p;
+#line 864 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp28_ = _tmp27_->isOptional;
+#line 864 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_boolean_member (_tmp26_, "isOptional", _tmp28_);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp29_ = ret;
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp30_ = add;
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp31_ = _json_object_ref0 (_tmp30_);
+#line 865 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_array_add_object_element (_tmp29_, _tmp31_);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _json_object_unref0 (add);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 5651 "Symbol.c"
+ }
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_p_list);
+#line 5655 "Symbol.c"
+ }
+#line 868 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = ret;
+#line 868 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5661 "Symbol.c"
+}
+
+
+JsonArray* jsdoc_symbol_returnsToJson (JSDOCSymbol* self) {
+ JsonArray* result = NULL;
+ JsonArray* ret = NULL;
+ JsonArray* _tmp0_;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 873 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = json_array_new ();
+#line 873 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ ret = _tmp0_;
+#line 5675 "Symbol.c"
+ {
+ GeeArrayList* _p_list = NULL;
+ GeeArrayList* _tmp1_;
+ GeeArrayList* _tmp2_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _p_index = 0;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = self->returns;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = _g_object_ref0 (_tmp1_);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_list = _tmp2_;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = _p_list;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = _tmp4_;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_size = _tmp5_;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = -1;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 5703 "Symbol.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ JSDOCDocTag* p = NULL;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCDocTag* _tmp12_;
+ const gchar* _tmp13_;
+ gboolean _tmp14_;
+ JsonObject* add = NULL;
+ JsonObject* _tmp15_;
+ JsonObject* _tmp16_;
+ JSDOCDocTag* _tmp17_;
+ const gchar* _tmp18_;
+ JsonObject* _tmp19_;
+ JSDOCDocTag* _tmp20_;
+ const gchar* _tmp21_;
+ JsonObject* _tmp22_;
+ JSDOCDocTag* _tmp23_;
+ const gchar* _tmp24_;
+ JsonArray* _tmp25_;
+ JsonObject* _tmp26_;
+ JsonObject* _tmp27_;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _p_index;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _p_index = _tmp6_ + 1;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _p_index;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _p_size;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp7_ < _tmp8_)) {
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 5740 "Symbol.c"
+ }
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = _p_list;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = _p_index;
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ p = (JSDOCDocTag*) _tmp11_;
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = p;
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = _tmp12_->name;
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = string_contains (_tmp13_, ".");
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp14_) {
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 876 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ continue;
+#line 5762 "Symbol.c"
+ }
+#line 877 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = json_object_new ();
+#line 877 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ add = _tmp15_;
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = add;
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = p;
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = _tmp17_->name;
+#line 878 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp16_, "name", _tmp18_);
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = add;
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = p;
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = _tmp20_->type;
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp19_, "type", _tmp21_);
+#line 880 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = add;
+#line 880 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = p;
+#line 880 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp24_ = _tmp23_->desc;
+#line 880 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_object_set_string_member (_tmp22_, "desc", _tmp24_);
+#line 882 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp25_ = ret;
+#line 882 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp26_ = add;
+#line 882 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp27_ = _json_object_ref0 (_tmp26_);
+#line 882 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ json_array_add_object_element (_tmp25_, _tmp27_);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _json_object_unref0 (add);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (p);
+#line 5804 "Symbol.c"
+ }
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_p_list);
+#line 5808 "Symbol.c"
+ }
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = ret;
+#line 885 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 5814 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_construct (GType object_type) {
+ JSDOCSymbol * self = NULL;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self = (JSDOCSymbol*) g_object_new (object_type, NULL);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return self;
+#line 5824 "Symbol.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_new (void) {
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return jsdoc_symbol_construct (JSDOC_TYPE_SYMBOL);
+#line 5831 "Symbol.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 5854 "Symbol.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5862 "Symbol.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5874 "Symbol.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 5898 "Symbol.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 5904 "Symbol.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 5908 "Symbol.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 5912 "Symbol.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 5924 "Symbol.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 5934 "Symbol.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 5940 "Symbol.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 5954 "Symbol.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 5964 "Symbol.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 5970 "Symbol.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 5979 "Symbol.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 5999 "Symbol.c"
+}
+
+
+void jsdoc_symbol_set_private_name (JSDOCSymbol* self, const gchar* value) {
+ const gchar* _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* n = NULL;
+ const gchar* _tmp3_;
+ const gchar* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_ = NULL;
+ const gchar* _tmp9_;
+ const gchar* _tmp10_;
+ gint _tmp11_;
+ gint _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ const gchar* _tmp22_;
+ gchar* _tmp23_;
+ GError * _inner_error_ = NULL;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = jsdoc_symbol_get_name (self);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = _tmp0_;
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->_assigned_name);
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->_assigned_name = _tmp2_;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = value;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = value;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = strlen (_tmp4_);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = _tmp5_;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_1, "^_global_[.#-]", 0), _tmp3_, (gssize) _tmp6_, 0, "", 0, &_inner_error_);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ n = _tmp7_;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_clear_error (&_inner_error_);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 6055 "Symbol.c"
+ }
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = n;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = n;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = strlen (_tmp10_);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = _tmp11_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_2, "\\.prototype\\.?", 0), _tmp9_, (gssize) _tmp12_, 0, "#", 0, &_inner_error_);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = _tmp13_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (n);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_clear_error (&_inner_error_);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return;
+#line 6079 "Symbol.c"
+ }
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _tmp8_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = NULL;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (n);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ n = _tmp14_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 6091 "Symbol.c"
+ const gchar* _tmp15_;
+ gboolean _tmp16_;
+ const gchar* _tmp17_;
+ const gchar* _tmp18_;
+ gint _tmp19_;
+ gint _tmp20_;
+ gchar* _tmp21_;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp15_ = n;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp16_ = g_str_has_suffix (_tmp15_, "#");
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp16_) {
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6107 "Symbol.c"
+ }
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp17_ = n;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp18_ = n;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp19_ = strlen (_tmp18_);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp20_ = _tmp19_;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp21_ = string_substring (_tmp17_, (glong) 0, (glong) (_tmp20_ - 1));
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (n);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ n = _tmp21_;
+#line 6123 "Symbol.c"
+ }
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp22_ = n;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp23_ = g_strdup (_tmp22_);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->private_string_name);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_string_name = _tmp23_;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp8_);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (n);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_object_notify ((GObject *) self, "private-name");
+#line 6139 "Symbol.c"
+}
+
+
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self) {
+ const gchar* result;
+ const gchar* _tmp0_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->priv->private_string_name;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp0_;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 6154 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_set_private_params (JSDOCSymbol* self, GeeArrayList* value) {
+ GeeArrayList* _tmp0_;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->priv->private_doctag_params;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp0_ == NULL) {
+#line 6166 "Symbol.c"
+ GeeArrayList* _tmp1_;
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->private_doctag_params);
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_doctag_params = _tmp1_;
+#line 6174 "Symbol.c"
+ }
+ {
+ gint i = 0;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 6180 "Symbol.c"
+ {
+ gboolean _tmp2_ = FALSE;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = TRUE;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 6187 "Symbol.c"
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ GeeArrayList* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ JSDOCDocTag* _tmp12_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp2_) {
+#line 6199 "Symbol.c"
+ gint _tmp3_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = i;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp3_ + 1;
+#line 6205 "Symbol.c"
+ }
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = FALSE;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = i;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = value;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp4_ < _tmp7_)) {
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6221 "Symbol.c"
+ }
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = self->priv->private_doctag_params;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = value;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = (JSDOCDocTag*) _tmp11_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp8_, _tmp12_);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp12_);
+#line 6237 "Symbol.c"
+ }
+ }
+ }
+}
+
+
+static void jsdoc_symbol_set_private_string_params (JSDOCSymbol* self, GeeArrayList* value) {
+ GeeArrayList* _tmp0_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_if_fail (self != NULL);
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->priv->private_doctag_params;
+#line 63 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp0_ == NULL) {
+#line 6252 "Symbol.c"
+ GeeArrayList* _tmp1_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->private_doctag_params);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_doctag_params = _tmp1_;
+#line 6260 "Symbol.c"
+ }
+ {
+ gint i = 0;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = 0;
+#line 6266 "Symbol.c"
+ {
+ gboolean _tmp2_ = FALSE;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = TRUE;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ while (TRUE) {
+#line 6273 "Symbol.c"
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ GeeArrayList* _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ gchar* _tmp12_;
+ JSDOCDocTag* _tmp13_;
+ JSDOCDocTag* _tmp14_;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!_tmp2_) {
+#line 6287 "Symbol.c"
+ gint _tmp3_;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = i;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ i = _tmp3_ + 1;
+#line 6293 "Symbol.c"
+ }
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = FALSE;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = i;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = value;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = _tmp6_;
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (!(_tmp4_ < _tmp7_)) {
+#line 66 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6309 "Symbol.c"
+ }
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = self->priv->private_doctag_params;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = value;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = i;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = (gchar*) _tmp11_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = jsdoc_doc_tag_new (_tmp12_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = _tmp13_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp8_, _tmp14_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (_tmp14_);
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (_tmp12_);
+#line 6331 "Symbol.c"
+ }
+ }
+ }
+}
+
+
+GeeArrayList* jsdoc_symbol_get_params (JSDOCSymbol* self) {
+ GeeArrayList* result;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp2_;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = self->priv->private_doctag_params;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ if (_tmp0_ == NULL) {
+#line 6348 "Symbol.c"
+ GeeArrayList* _tmp1_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_DOC_TAG, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->private_doctag_params);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_doctag_params = _tmp1_;
+#line 6356 "Symbol.c"
+ }
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = self->priv->private_doctag_params;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ result = _tmp2_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ return result;
+#line 6364 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_class_init (JSDOCSymbolClass * klass) {
+ gchar* _tmp0_;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_parent_class = g_type_class_peek_parent (klass);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCSymbolPrivate));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_jsdoc_symbol_get_property;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_CLASS (klass)->set_property = _vala_jsdoc_symbol_set_property;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_symbol_finalize;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), JSDOC_SYMBOL_PRIVATE_NAME_PROPERTY, g_param_spec_string ("private-name", "private-name", "private-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), JSDOC_SYMBOL_NAME_PROPERTY, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), JSDOC_SYMBOL_PARAMS_PROPERTY, g_param_spec_object ("params", "params", "params", GEE_TYPE_ARRAY_LIST, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = g_strdup ("");
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_srcFile = _tmp0_;
+#line 6390 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_instance_init (JSDOCSymbol * self) {
+ gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv = JSDOC_SYMBOL_GET_PRIVATE (self);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp0_ = g_strdup ("");
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_string_name = _tmp0_;
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp1_ = g_strdup ("");
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->_assigned_name = _tmp1_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp2_ = g_strdup ("");
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->defaultValue = _tmp2_;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->private_doctag_params = NULL;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp3_ = g_strdup ("");
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->addOn = _tmp3_;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp4_ = g_strdup ("");
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->alias = _tmp4_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp5_ = g_strdup ("");
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->author = _tmp5_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp6_ = g_strdup ("");
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->classDesc = _tmp6_;
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp7_ = g_strdup ("");
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->deprecated = _tmp7_;
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp8_ = g_strdup ("");
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->desc = _tmp8_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp9_ = g_strdup ("");
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->example = _tmp9_;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp10_ = g_strdup ("OBJECT");
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isa = _tmp10_;
+#line 122 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isEvent = FALSE;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isConstant = FALSE;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isIgnored = FALSE;
+#line 125 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isInner = FALSE;
+#line 126 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isNamespace = FALSE;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isPrivate = FALSE;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->isStatic = FALSE;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp11_ = g_strdup ("");
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->memberOf = _tmp11_;
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp12_ = g_strdup ("");
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->since = _tmp12_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp13_ = g_strdup ("");
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->type = _tmp13_;
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _tmp14_ = g_strdup ("");
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self->priv->version = _tmp14_;
+#line 6488 "Symbol.c"
+}
+
+
+static void jsdoc_symbol_finalize (GObject * obj) {
+ JSDOCSymbol * self;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_SYMBOL, JSDOCSymbol);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->private_string_name);
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->_assigned_name);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->defaultValue);
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->private_doctag_params);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->augments);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->exceptions);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->methods);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->properties);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->requires);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->returns);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->priv->see);
+#line 100 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->childClasses);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->inheritsFrom);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->cfgs);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_object_unref0 (self->comment);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->addOn);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->alias);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->author);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->classDesc);
+#line 114 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->deprecated);
+#line 115 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->desc);
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->example);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->isa);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->memberOf);
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->since);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->type);
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ _g_free0 (self->priv->version);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_CLASS (jsdoc_symbol_parent_class)->finalize (obj);
+#line 6552 "Symbol.c"
+}
+
+
+GType jsdoc_symbol_get_type (void) {
+ static volatile gsize jsdoc_symbol_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_symbol_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCSymbolClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_symbol_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCSymbol), 0, (GInstanceInitFunc) jsdoc_symbol_instance_init, NULL };
+ GType jsdoc_symbol_type_id;
+ jsdoc_symbol_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCSymbol", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_symbol_type_id__volatile, jsdoc_symbol_type_id);
+ }
+ return jsdoc_symbol_type_id__volatile;
+}
+
+
+static void _vala_jsdoc_symbol_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ JSDOCSymbol * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, JSDOC_TYPE_SYMBOL, JSDOCSymbol);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ switch (property_id) {
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ case JSDOC_SYMBOL_NAME_PROPERTY:
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_value_set_string (value, jsdoc_symbol_get_name (self));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ case JSDOC_SYMBOL_PARAMS_PROPERTY:
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ g_value_set_object (value, jsdoc_symbol_get_params (self));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6585 "Symbol.c"
+ default:
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6591 "Symbol.c"
+ }
+}
+
+
+static void _vala_jsdoc_symbol_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec) {
+ JSDOCSymbol * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, JSDOC_TYPE_SYMBOL, JSDOCSymbol);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ switch (property_id) {
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ case JSDOC_SYMBOL_PRIVATE_NAME_PROPERTY:
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ jsdoc_symbol_set_private_name (self, g_value_get_string (value));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6607 "Symbol.c"
+ default:
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Symbol.vala"
+ break;
+#line 6613 "Symbol.c"
+ }
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+
+/**
+ Create a new Symbol.
+ @class Represents a symbol in the source code.
+ */
+
+
+namespace JSDOC {
+
+
+ public class Symbol : Object
+ {
+ // debugging?
+
+
+ public static bool regex_init = false;
+
+
+ private string private_string_name = "";
+ private string _assigned_name = "";
+ // called by symbolset...
+ public string private_name {
+ set {
+ this._assigned_name = name;
+ var n = /^_global_[.#-]/.replace(value, value.length, 0, "");
+ n = /\.prototype\.?/.replace(n,n.length, 0, "#");
+ while (true) {
+ if (!n.has_suffix("#")) {
+ break;
+ }
+ n = n.substring(0, n.length-1);
+ }
+
+ this.private_string_name = n;
+ }
+
+ }
+
+ public string name {
+ get { return this.private_string_name; }
+ }
+
+
+ string defaultValue = "";
+
+ private Gee.ArrayList<DocTag> private_doctag_params = null;
+
+ private Gee.ArrayList<DocTag> private_params{
+ set {
+ if (this.private_doctag_params == null) {
+ this.private_doctag_params = new Gee.ArrayList<DocTag>();
+ }
+ for (var i = 0; i < value.size; i++) {
+
+ this.private_doctag_params.add(value.get(i));
+ }
+ //this.params = this._params;
+ }
+ }
+
+ Gee.ArrayList<string> private_string_params{
+ set {
+ if (this.private_doctag_params == null) {
+ this.private_doctag_params = new Gee.ArrayList<DocTag>();
+ }
+ for (var i = 0; i < value.size; i++) {
+
+ //var ty = v[i].hasOwnProperty('type') ? v[i].type : '';
+ this.private_doctag_params.add( new DocTag(value.get(i)));
+
+ //"param"+((ty)?" {"+ty+"}":"")+" "+v.get(i).name);
+
+ }
+
+ }
+ }
+ public Gee.ArrayList<DocTag> params {
+ get {
+ if (this.private_doctag_params == null) {
+ this.private_doctag_params = new Gee.ArrayList<DocTag>();
+ }
+ return this.private_doctag_params;
+ }
+
+ }
+
+ public Gee.ArrayList<string> augments ;
+
+
+ private Gee.ArrayList<DocTag> exceptions ;
+
+ //public Gee.ArrayList<DocTag> inherits;
+ public Gee.ArrayList<Symbol> methods;
+
+ public Gee.ArrayList<Symbol> properties;
+ private Gee.ArrayList<string> requires;
+ public Gee.ArrayList<DocTag> returns;
+ private Gee.ArrayList<string> see ;
+
+ public Gee.ArrayList<string> childClasses;
+ public Gee.ArrayList<string> inheritsFrom;
+ public Gee.HashMap<string,DocTag>cfgs;
+
+
+ public DocComment comment;
+
+ //$args : [], // original arguments used when constructing.
+ string addOn = "";
+ public string alias = "";
+
+ string author = "";
+ string classDesc = "";
+
+ string deprecated = "";
+ public string desc = "";
+ //events : false,
+ string example = "";
+
+
+ public string isa = "OBJECT"; // OBJECT//FUNCTION
+
+ public bool isEvent = false;
+ public bool isConstant = false;
+ public bool isIgnored = false;
+ public bool isInner = false;
+ public bool isNamespace = false;
+ public bool isPrivate = false;
+ public bool isStatic = false;
+
+ public string memberOf = "";
+
+ public string asString()
+ {
+ return "NAME: %s:%s ASNAME: %s : %s%s%s%s".printf(
+ this.memberOf,
+ this.name,
+ this._assigned_name,
+ isStatic ? "static": "",
+ isEvent ? "EV": "",
+ isConstant ? "CO": "",
+ isNamespace ? "NS": ""
+ );
+
+
+ }
+
+
+ string since = "";
+
+ string type = "";
+ string version = "";
+
+ public static string srcFile = "";
+
+
+
+ public void initArrays()
+ {
+ // only initialize arrays / objects..
+
+
+ //this.params = [];
+ //this.$args = [];
+
+ //this.events = [];
+ this.exceptions = new Gee.ArrayList<DocTag>();
+ //this.inherits = new Gee.ArrayList<DocTag>();
+ //
+ this.isa = "OBJECT"; // OBJECT//FUNCTION
+ this.methods = new Gee.ArrayList<Symbol>();
+ //this.private_params = new Gee.ArrayList<DocTag>();
+ this.properties = new Gee.ArrayList<Symbol>();
+ this.requires = new Gee.ArrayList<string>();
+ this.returns = new Gee.ArrayList<DocTag>();
+ this.see = new Gee.ArrayList<string>();
+ this.augments = new Gee.ArrayList<string>();
+
+
+ this.cfgs = new Gee.HashMap<string,DocTag>();
+ // derived later?
+ this.inheritsFrom = new Gee.ArrayList<string>();
+
+ this.childClasses = new Gee.ArrayList<string>();
+
+ this.comment = new DocComment();
+ this.comment.isUserComment = false;
+
+
+ }
+
+ public Symbol.new_builtin(string name)
+ {
+
+ this.initArrays();
+ this.srcFile = JSDOC.DocParser.currentSourceFile;
+ this.private_name = name ;
+ this.alias = this.name;
+ this.isa = "CONSTRUCTOR";
+ this.comment = new DocComment("");
+ this.comment.isUserComment = false;
+ this.isNamespace = false;
+ this.srcFile = "";
+ this.isPrivate = false;
+ // init arrays....
+
+
+
+ }
+
+
+
+
+ public Symbol.new_populate_with_args(
+ string name,
+ Gee.ArrayList<string> params, // fixme???
+ string isa,
+ DocComment comment
+ ) {
+
+ this.initArrays();
+ // this.$args = arguments;
+ //println("Symbol created: " + isa + ":" + name);
+ this.private_name = name;
+ this.alias = this.name;
+ this.private_string_params = params;
+ this.isa = (isa == "VIRTUAL")? "OBJECT":isa;
+ this.comment = comment;
+
+ this.srcFile = DocParser.currentSourceFile;
+
+
+
+ if (this.is("FILE") && this.alias.length < 1) { // this will never hapen???
+ this.alias = this.srcFile;
+ }
+
+ this.tagsFromComment();
+
+ }
+
+ void tagsFromComment() {
+ // @author
+ var authors = this.comment.getTag(DocTagTitle.AUTHOR);
+ if (authors.size > 0) {
+ // turns author into a string....
+ this.author = "";
+ foreach(var a in authors) {
+ this.author += (this.author == "") ? "": ", ";
+ this.author += a.desc;
+ }
+ }
+
+ /*~t
+ assert("testing Symbol");
+
+ requires("../lib/JSDOC/DocComment.js");
+ requires("../frame/String.js");
+ requires("../lib/JSDOC/DocTag.js");
+
+ var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@author Joe Smith*"+"/"));
+ assertEqual(sym.author, "Joe Smith", "@author tag, author is found.");
+ */
+ // @desc
+ var mth = this.comment.getTag(DocTagTitle.METHOD);
+ if (mth.size > 0) {
+ this.isa = "FUNCTION";
+ }
+ // @desc
+ var descs = this.comment.getTag(DocTagTitle.DESC);
+ if (descs.size> 0) {
+ this.desc = "";
+ foreach(var d in descs) {
+ this.desc = this.desc == "" ? "": "\n";
+ this.desc += d.desc;
+ }
+
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@desc This is a description.*"+"/"));
+ assertEqual(sym.desc, "This is a description.", "@desc tag, description is found.");
+ */
+
+ // @overview
+ if (this.is("FILE")) {
+ if (this.alias.length < 1) this.alias = this.srcFile;
+
+ var overviews = this.comment.getTag(DocTagTitle.OVERVIEW);
+ if (overviews.size > 0) {
+ foreach(var d in overviews) {
+ this.desc = this.desc == "" ? "": "\n";
+ this.desc += d.desc;
+ }
+ }
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@overview This is an overview.*"+"/"));
+ assertEqual(sym.desc, "\nThis is an overview.", "@overview tag, description is found.");
+ */
+
+ // @since
+ var sinces = this.comment.getTag(DocTagTitle.SINCE);
+ if (sinces.size > 0) {
+ this.since = "";
+ foreach(var d in sinces) {
+ this.since = this.since == "" ? "": "\n";
+ this.since += d.desc;
+ }
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@since 1.01*"+"/"));
+ assertEqual(sym.since, "1.01", "@since tag, description is found.");
+ */
+
+ // @constant
+ if (this.comment.getTag(DocTagTitle.CONSTANT).size > 0) {
+ this.isConstant = true;
+ this.isa = "OBJECT";
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@constant*"+"/"));
+ assertEqual(sym.isConstant, true, "@constant tag, isConstant set.");
+ */
+
+ // @version
+ var versions = this.comment.getTag(DocTagTitle.VERSION);
+ if (versions.size > 0 ) {
+ this.version = "";
+ foreach(var d in versions) {
+ this.version = this.version == "" ? "": "\n";
+ this.version += d.desc;
+ }
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@version 2.0x*"+"/"));
+ assertEqual(sym.version, "2.0x", "@version tag, version is found.");
+ */
+
+ // @deprecated
+ var deprecateds = this.comment.getTag(DocTagTitle.DEPRECATED);
+ if (deprecateds.size > 0) {
+ this.deprecated = "";
+ foreach(var d in deprecateds) {
+ this.deprecated = this.deprecated == "" ? "": "\n";
+ this.deprecated += d.desc;
+ }
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@deprecated Use other method.*"+"/"));
+ assertEqual(sym.deprecated, "Use other method.", "@deprecated tag, desc is found.");
+ */
+
+ // @example
+ var examples = this.comment.getTag(DocTagTitle.EXAMPLE);
+ if (examples.size > 0) {
+ this.example = examples.get(0).desc;
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@example This\n is an example.*"+"/"));
+ assertEqual(sym.example, "This\n is an example.", "@deprecated tag, desc is found.");
+ */
+
+ // @see
+ var sees = this.comment.getTag(DocTagTitle.SEE);
+ if (sees.size > 0) {
+
+ foreach(var s in sees) {
+ this.see.add(s.desc);
+ }
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "FILE", new DocComment("/**@see The other thing.*"+"/"));
+ assertEqual(sym.see, "The other thing.", "@see tag, desc is found.");
+ */
+
+ // @class
+ var classes = this.comment.getTag(DocTagTitle.CLASS);
+ if (classes.size > 0) {
+ //print(JSON.stringify(this,null,4));
+ this.isa = "CONSTRUCTOR";
+ this.classDesc = classes[0].desc; // desc can't apply to the constructor as there is none.
+ //if (!this.classDesc.leg) {
+ // this.classDesc = this.desc;
+ // }
+
+
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@class This describes the class.*"+"/"));
+ assertEqual(sym.isa, "CONSTRUCTOR", "@class tag, makes symbol a constructor.");
+ assertEqual(sym.classDesc, "This describes the class.", "@class tag, class description is found.");
+ */
+
+ // @namespace
+ var namespaces = this.comment.getTag(DocTagTitle.NAMESPACE);
+ if (namespaces.size > 0) {
+ this.classDesc = namespaces[0].desc+"\n"+this.desc; // desc can't apply to the constructor as there is none.
+ this.isNamespace = true;
+ }
+
+ /*~t
+ var sym = new Symbol("foo", [], "OBJECT", new DocComment("/**@namespace This describes the namespace.*"+"/"));
+ assertEqual(sym.classDesc, "This describes the namespace.\n", "@namespace tag, class description is found.");
+ */
+
+ // @param
+ var params = this.comment.getTag(DocTagTitle.PARAM);
+ if (params.size > 0) {
+ // user-defined params overwrite those with same name defined by the parser
+ var thisParams = params;
+
+ if (thisParams.size == 0) { // none exist yet, so just bung all these user-defined params straight in
+ this.private_params = params;
+ }
+ else { // need to overlay these user-defined params on to existing parser-defined params
+ for (var i = 0, l = params.size; i < l; i++) {
+ if (thisParams.size <= i) {
+ var np = thisParams.get(i);
+
+ if (np.type.length > 0) np.type = params[i].type;
+ np.name = params[i].name;
+ np.desc = params[i].desc;
+ np.isOptional = params[i].isOptional;
+ np.defaultValue = params[i].defaultValue;
+ //thisParams.set(i, np); ///?? needed OO ?
+ }
+ else thisParams.set(i, params[i]);
+ }
+ this.private_params = thisParams;
+ }
+ }
+
+
+
+ // @constructor
+ if (this.comment.getTag(DocTagTitle.CONSTRUCTOR).size > 0) {
+ this.isa = "CONSTRUCTOR";
+ }
+
+
+
+ // @static
+ if (this.comment.getTag(DocTagTitle.STATIC).size > 0) {
+ this.isStatic = true;
+ if (this.isa == "CONSTRUCTOR") {
+ this.isNamespace = true;
+ }
+ }
+
+ // @static
+ if (this.comment.getTag(DocTagTitle.SINGLETON).size > 0) {
+ this.isStatic = true;
+ //print('------------- got singleton ---------------' + this.isa);
+ //if (this.isa == "CONSTRUCTOR") {
+ // this.isNamespace = true;
+ //}
+ }
+
+
+
+ // @inner
+ if (this.comment.getTag(DocTagTitle.INNER).size > 0) {
+ this.isInner = true;
+ this.isStatic = false;
+ }
+
+
+ // @field
+ if (this.comment.getTag(DocTagTitle.FIELD).size > 0) {
+ this.isa = "OBJECT";
+ }
+
+
+
+ // @function
+ if (this.comment.getTag(DocTagTitle.FUNCTION).size > 0) {
+ this.isa = "FUNCTION";
+ }
+
+ // @param
+ if (this.comment.getTag(DocTagTitle.PARAM).size > 0 && this.isa == "OBJECT" ) {
+ // change a property to a function..
+ this.isa = "FUNCTION";
+ }
+
+
+
+
+ // @event
+ var events = this.comment.getTag(DocTagTitle.EVENT);
+ if (events.size > 0) {
+ this.isa = "FUNCTION";
+ this.isEvent = true;
+ }
+
+
+
+ // @name
+ var names = this.comment.getTag(DocTagTitle.NAME);
+ if (names.size > 0) {
+ this.private_name = names.get(0).desc.strip();
+ }
+
+ /*~t
+ // todo
+ */
+
+ // @property
+ var properties = this.comment.getTag(DocTagTitle.PROPERTY);
+ if (properties.size > 0) {
+ //var thisProperties = this.properties;
+ for (var i = 0; i < properties.size; i++) {
+
+
+ // if the doc tag just says @property ... but no name etc..
+ // then name will not be filled in..
+ if (properties[i].name.length < 1 ) {
+ continue;
+ }
+
+ var property = new Symbol.new_populate_with_args(
+ this.alias+"#"+properties[i].name,
+ new Gee.ArrayList<string>(),
+ "OBJECT",
+ new DocComment(
+ "/**\n"+
+ properties[i].desc+
+ "\n@name "+ properties[i].name
+ +"\n@memberOf "+this.alias+"#*/"
+ ));
+ // TODO: shouldn't the following happen in the addProperty method of Symbol?
+ property.private_name = properties[i].name;
+ property.memberOf = this.alias;
+ if (properties[i].type.length > 0) property.type = properties[i].type;
+ if (properties[i].defaultValue.length > 0) property.defaultValue = properties[i].defaultValue;
+ this.addProperty(property);
+ JSDOC.DocParser.addSymbol(property);
+ }
+ }
+
+ // config..
+ var conf = this.comment.getTag(DocTagTitle.CFG);
+ if (conf.size > 0) {
+ for (var i = 0; i < conf.size; i++) {
+ this.addConfig(conf.get(i));
+ }
+ }
+
+
+
+ // @return
+ var returns = this.comment.getTag(DocTagTitle.RETURN);
+ if (returns.size > 0) { // there can be many return tags in a single doclet
+ this.returns = returns;
+
+ this.type = "";
+ foreach(var r in returns) {
+ this.type += this.type == "" ? "": ", ";
+ this.type += r.type;
+ }
+ }
+
+
+
+ // @exception
+ this.exceptions = this.comment.getTag(DocTagTitle.THROWS);
+
+
+ // @requires
+ var requires = this.comment.getTag(DocTagTitle.REQUIRES);
+ if (requires.size > 0) {
+ this.requires = new Gee.ArrayList<string>();
+ foreach(var r in requires) {
+ this.requires.add(r.desc);
+ }
+ }
+
+
+ // @type
+ var types = this.comment.getTag(DocTagTitle.TYPE);
+ if (types.size > 0) {
+ this.type = types.get(0).desc; //multiple type tags are ignored
+ }
+
+
+
+ // @private
+ if (this.comment.getTag(DocTagTitle.PRIVATE).size > 0 || this.isInner) {
+ this.isPrivate = true;
+ }
+
+ // @ignore
+ if (this.comment.getTag(DocTagTitle.IGNORE).size > 0) {
+ this.isIgnored = true;
+ }
+
+ /*~t
+ // todo
+ */
+
+ // @inherits ... as ... -- not used!!!
+ /*
+ var inherits = this.comment.getTag("inherits");
+ if (inherits.length) {
+ for (var i = 0; i < inherits.length; i++) {
+ if (/^\s*([a-z$0-9_.#-]+)(?:\s+as\s+([a-z$0-9_.#]+))?/i.test(inherits[i].desc)) {
+ var inAlias = RegExp.$1;
+ var inAs = RegExp.$2 || inAlias;
+
+ if (inAlias) inAlias = inAlias.replace(/\.prototype\.?/g, "#");
+
+ if (inAs) {
+ inAs = inAs.replace(/\.prototype\.?/g, "#");
+ inAs = inAs.replace(/^this\.?/, "#");
+ }
+
+ if (inAs.indexOf(inAlias) != 0) { //not a full namepath
+ var joiner = ".";
+ if (this.alias.charAt(this.alias.length-1) == "#" || inAs.charAt(0) == "#") {
+ joiner = "";
+ }
+ inAs = this.alias + joiner + inAs;
+ }
+ }
+ this.inherits.push({alias: inAlias, as: inAs});
+ }
+ }
+ */
+ /*~t
+ // todo
+ */
+
+ // @augments
+ foreach(var dt in this.comment.getTag(DocTagTitle.ARGUMENTS)) {
+ this.augments.add(dt.desc);
+ }
+ //@extends - Ext
+ foreach(var dt in this.comment.getTag(DocTagTitle.EXTENDS)) {
+ this.augments.add(dt.desc);
+ }
+
+
+
+ // @default
+ var defaults = this.comment.getTag(DocTagTitle.DEFAULT);
+ if (defaults.size > 0) {
+ if (this.is("OBJECT")) {
+ this.defaultValue = defaults.get(0).desc;
+ }
+ }
+
+ /*~t
+ // todo
+ */
+
+ // @memberOf
+ var memberOfs = this.comment.getTag(DocTagTitle.MEMBEROF);
+ if (memberOfs.size > 0) {
+ this.memberOf = memberOfs[0].desc;
+ var pr_reg = /\.prototype\.?/;
+
+ this.memberOf = pr_reg.replace(this.memberOf, this.memberOf.length, 0, "#");
+ var dname = this.name.split(".");
+ var name = dname[dname.length-1];
+
+ var hname = name.split("#");
+ name = hname[hname.length-1];
+ this.private_name = this.memberOf + "." + name; //?? "." ???
+ this.alias = this.name;
+ }
+
+ /*~t
+ // todo
+ */
+
+ // @public
+ if (this.comment.getTag(DocTagTitle.PUBLIC).size > 0) {
+ this.isPrivate = false;
+ }
+
+ /*~t
+ // todo
+ */
+ }
+
+ public bool is (string what) {
+ return this.isa == what;
+ }
+ public bool isaClass()
+ {
+
+ return (this.is("CONSTRUCTOR") || this.isNamespace ); //|| this.isClass);
+ }
+
+
+ public bool isBuiltin() {
+ return SymbolSet.isBuiltin(this.alias);
+ }
+
+ void setType(string comment,bool overwrite) {
+ if (!overwrite && this.type.length > 0) {
+ return;
+ }
+ var typeComment = DocComment.unwrapComment(comment);
+ this.type = typeComment;
+ }
+
+ public void inherit (Symbol symbol) {
+ if (!this.hasMember(symbol.name) && !symbol.isInner) {
+ if (symbol.is("FUNCTION"))
+ this.methods.add(symbol);
+ else if (symbol.is("OBJECT"))
+ this.properties.add(symbol);
+ }
+ }
+
+ bool hasMember (string name) {
+ return (this.hasMethod(name) || this.hasProperty(name));
+ }
+
+ public void addMember (Symbol symbol) {
+ //println("ADDMEMBER: " + this.name + " ++ " + symbol.name);
+
+ if (symbol.comment.getTag(DocTagTitle.CFG).size == 1) {
+ symbol.comment.getTag(DocTagTitle.CFG).get(0).memberOf = this.alias;
+ this.addConfig(symbol.comment.getTag(DocTagTitle.CFG).get(0));
+ return;
+ }
+
+ if (symbol.is("FUNCTION")) { this.addMethod(symbol); }
+ else if (symbol.is("OBJECT")) { this.addProperty(symbol); }
+ }
+
+ bool hasMethod (string name) {
+ var thisMethods = this.methods;
+ for (var i = 0, l = thisMethods.size; i < l; i++) {
+ if (thisMethods.get(i).name == name) return true;
+ if (thisMethods.get(i).alias == name) return true;
+ }
+ return false;
+ }
+
+ void addMethod (Symbol symbol) {
+ var methodAlias = symbol.alias;
+ var thisMethods = this.methods;
+ for (var i = 0, l = thisMethods.size; i < l; i++) {
+ if (thisMethods.get(i).alias == methodAlias) {
+ thisMethods.set(i, symbol); // overwriting previous method
+ return;
+ }
+ }
+ thisMethods.add(symbol); // new method with this alias
+ }
+
+ bool hasProperty(string name) {
+ var thisProperties = this.properties;
+ for (var i = 0, l = thisProperties.size; i < l; i++) {
+ if (thisProperties.get(i).name == name) return true;
+ if (thisProperties.get(i).alias == name) return true;
+ }
+ return false;
+ }
+
+ void addProperty(Symbol symbol) {
+ var propertyAlias = symbol.alias;
+ var thisProperties = this.properties;
+ for (var i = 0, l = thisProperties.size; i < l; i++) {
+ if (thisProperties.get(i).alias == propertyAlias) {
+ thisProperties.set(i, symbol); // overwriting previous property
+ return;
+ }
+ }
+
+ thisProperties.add(symbol); // new property with this alias
+ }
+
+ public void addDocTag(DocTag docTag)
+ {
+ this.comment.tags.add(docTag);
+ if (docTag.title == DocTagTitle.CFG) {
+ this.addConfig(docTag);
+ }
+
+ }
+
+ public void addConfig(DocTag docTag)
+ {
+ if (docTag.memberOf == "") {
+ // remove prototype data...
+ //var a = this.alias.split('#')[0];
+ //docTag.memberOf = a;
+ docTag.memberOf = this.alias;
+ }
+ if (!this.cfgs.has_key(docTag.name)) {
+ this.cfgs.set(docTag.name, docTag);
+ }
+
+ }
+
+ public Gee.ArrayList<DocTag> configToArray()
+ {
+ var r = new Gee.ArrayList<DocTag>();
+ foreach(var ci in this.cfgs.keys) {
+ // dont show hidden!!
+ if (this.cfgs.get(ci).desc.contains("@hide")) {
+ continue;
+ }
+ r.add(this.cfgs.get(ci));
+
+ }
+ return r;
+ }
+
+
+
+ public string makeFuncSkel() {
+ if (this.params.size < 1) return "function ()\n{\n\n}";
+ var ret = "function (";
+ var f = false;
+ foreach(var p in this.params) {
+ if (p.name.contains(".")) continue;
+ ret += f ? ", " : "";
+ f = true;
+ ret += p.name == "this" ? "_self" : p.name;
+ }
+ return ret + ")\n{\n\n}";
+ }
+ public string makeMethodSkel() {
+ if (this.params.size < 1) return "()\n{\n\n}";
+ var ret = "(";
+ var f = false;
+ foreach(var p in this.params) {
+ GLib.debug("got param: %s", p.asString());
+ if (p.name.contains(".")) continue;
+ ret += f ? ", " : "";
+ f = true;
+ switch(p.name) {
+ case "this" : ret += "this"; break;
+ case "function" : ret += "function() {\n\n}"; break;
+ default : ret += p.name; break;
+ }
+ }
+ return ret + ")";
+ }
+
+ public Json.Array paramsToJson()
+ {
+ var ret = new Json.Array();
+ foreach(var p in this.params) {
+ //GLib.debug("got param: %s", p.asString());
+ if (p.name.contains(".")) continue;// ?? why?
+ var add = new Json.Object();
+ add.set_string_member("name",p.name);
+ add.set_string_member("type",p.type);
+ add.set_string_member("desc",p.desc);
+ add.set_boolean_member("isOptional",p.isOptional);
+ ret.add_object_element(add) ;
+ }
+
+ return ret;
+
+ }
+ public Json.Array returnsToJson()
+ {
+ var ret = new Json.Array();
+ foreach(var p in this.returns) {
+ //GLib.debug("got param: %s", p.asString());
+ if (p.name.contains(".")) continue;// ?? why?
+ var add = new Json.Object();
+ add.set_string_member("name",p.name);
+ add.set_string_member("type",p.type);
+ add.set_string_member("desc",p.desc);
+
+ ret.add_object_element(add) ;
+ }
+
+ return ret;
+
+ }
+ }
+
+
+
+ //static string[] hide = { "$args" };
+ //static string srcFile = "";
+
+}
+
+
+/*
+Symbol.fromDump = function(t)
+{
+ var ns = new Symbol();
+ for (var i in t) {
+ if (typeof(ns[i]) == "undefined") {
+ println("ERR:no default for Symbol:"+ i);
+ }
+ ns[i] = t[i];
+ }
+ return ns;
+}
+*/
--- /dev/null
+/* SymbolSet.c generated by valac 0.36.6, the Vala compiler
+ * generated from SymbolSet.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_SYMBOL_SET (jsdoc_symbol_set_get_type ())
+#define JSDOC_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet))
+#define JSDOC_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+#define JSDOC_IS_SYMBOL_SET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_IS_SYMBOL_SET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL_SET))
+#define JSDOC_SYMBOL_SET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetClass))
+
+typedef struct _JSDOCSymbolSet JSDOCSymbolSet;
+typedef struct _JSDOCSymbolSetClass JSDOCSymbolSetClass;
+typedef struct _JSDOCSymbolSetPrivate JSDOCSymbolSetPrivate;
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+#define _g_free0(var) (var = (g_free (var), NULL))
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+#define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL)))
+#define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL)))
+
+struct _JSDOCSymbolSet {
+ GObject parent_instance;
+ JSDOCSymbolSetPrivate * priv;
+};
+
+struct _JSDOCSymbolSetClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCSymbolSetPrivate {
+ GeeHashMap* __index;
+};
+
+struct _JSDOCSymbol {
+ GObject parent_instance;
+ JSDOCSymbolPrivate * priv;
+ GeeArrayList* augments;
+ GeeArrayList* methods;
+ GeeArrayList* properties;
+ GeeArrayList* returns;
+ GeeArrayList* childClasses;
+ GeeArrayList* inheritsFrom;
+ GeeHashMap* cfgs;
+ JSDOCDocComment* comment;
+ gchar* alias;
+ gchar* desc;
+ gchar* isa;
+ gboolean isEvent;
+ gboolean isConstant;
+ gboolean isIgnored;
+ gboolean isInner;
+ gboolean isNamespace;
+ gboolean isPrivate;
+ gboolean isStatic;
+ gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_symbol_set_parent_class = NULL;
+static gchar** jsdoc_symbol_set_coreObjects;
+static gint jsdoc_symbol_set_coreObjects_length1;
+static gchar** jsdoc_symbol_set_coreObjects = NULL;
+static gint jsdoc_symbol_set_coreObjects_length1 = 0;
+static gint _jsdoc_symbol_set_coreObjects_size_ = 0;
+
+GType jsdoc_symbol_set_get_type (void) G_GNUC_CONST;
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+#define JSDOC_SYMBOL_SET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSetPrivate))
+enum {
+ JSDOC_SYMBOL_SET_DUMMY_PROPERTY
+};
+JSDOCSymbolSet* jsdoc_symbol_set_new (void);
+JSDOCSymbolSet* jsdoc_symbol_set_construct (GType object_type);
+GeeArrayList* jsdoc_symbol_set_keys (JSDOCSymbolSet* self);
+GeeHashMap* jsdoc_symbol_set_get__index (JSDOCSymbolSet* self);
+GeeArrayList* jsdoc_symbol_set_values (JSDOCSymbolSet* self);
+gboolean jsdoc_symbol_set_hasSymbol (JSDOCSymbolSet* self, const gchar* alias);
+void jsdoc_symbol_set_addSymbol (JSDOCSymbolSet* self, JSDOCSymbol* symbol);
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+JSDOCSymbol* jsdoc_symbol_set_getSymbol (JSDOCSymbolSet* self, const gchar* alias);
+void jsdoc_symbol_set_deleteSymbol (JSDOCSymbolSet* self, const gchar* alias);
+gchar* jsdoc_symbol_set_renameSymbol (JSDOCSymbolSet* self, const gchar* oldName, const gchar* newName);
+void jsdoc_symbol_set_relate (JSDOCSymbolSet* self);
+gchar* jsdoc_symbol_asString (JSDOCSymbol* self);
+static void jsdoc_symbol_set_resolveBorrows (JSDOCSymbolSet* self);
+static void jsdoc_symbol_set_resolveMemberOf (JSDOCSymbolSet* self);
+static void jsdoc_symbol_set_resolveAugments (JSDOCSymbolSet* self);
+gboolean jsdoc_symbol_is (JSDOCSymbol* self, const gchar* what);
+void jsdoc_symbol_set_private_name (JSDOCSymbol* self, const gchar* value);
+const gchar* jsdoc_symbol_get_name (JSDOCSymbol* self);
+gboolean jsdoc_symbol_set_isBuiltin (const gchar* name);
+JSDOCSymbol* jsdoc_doc_parser_addBuiltin (const gchar* name);
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment);
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment);
+JSDOCSymbol* jsdoc_symbol_new_new_populate_with_args (const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+JSDOCSymbol* jsdoc_symbol_construct_new_populate_with_args (GType object_type, const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+void jsdoc_symbol_addMember (JSDOCSymbol* self, JSDOCSymbol* symbol);
+static void jsdoc_symbol_set_buildAugmentsList (JSDOCSymbolSet* self, JSDOCSymbol* symbol);
+void jsdoc_symbol_inherit (JSDOCSymbol* self, JSDOCSymbol* symbol);
+void jsdoc_symbol_addConfig (JSDOCSymbol* self, JSDOCDocTag* docTag);
+static void jsdoc_symbol_set_addAugments (JSDOCSymbolSet* self, JSDOCSymbol* symbol, GeeArrayList* alist, gboolean forceit);
+static void jsdoc_symbol_set_finalize (GObject * obj);
+static void _vala_jsdoc_symbol_set_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+
+static GRegex* _tmp_regex_0 = NULL;
+static GRegex* _tmp_regex_1 = NULL;
+static GRegex* _tmp_regex_2 = NULL;
+
+JSDOCSymbolSet* jsdoc_symbol_set_construct (GType object_type) {
+ JSDOCSymbolSet * self = NULL;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ self = (JSDOCSymbolSet*) g_object_new (object_type, NULL);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return self;
+#line 158 "SymbolSet.c"
+}
+
+
+JSDOCSymbolSet* jsdoc_symbol_set_new (void) {
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return jsdoc_symbol_set_construct (JSDOC_TYPE_SYMBOL_SET);
+#line 165 "SymbolSet.c"
+}
+
+
+GeeArrayList* jsdoc_symbol_set_keys (JSDOCSymbolSet* self) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* r = NULL;
+ GeeArrayList* _tmp0_;
+#line 24 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ r = _tmp0_;
+#line 179 "SymbolSet.c"
+ {
+ GeeIterator* _k_it = NULL;
+ GeeHashMap* _tmp1_;
+ GeeHashMap* _tmp2_;
+ GeeSet* _tmp3_;
+ GeeSet* _tmp4_;
+ GeeSet* _tmp5_;
+ GeeIterator* _tmp6_;
+ GeeIterator* _tmp7_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = jsdoc_symbol_set_get__index (self);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = _tmp1_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp2_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = _tmp4_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = gee_iterable_iterator ((GeeIterable*) _tmp5_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _tmp6_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp5_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _k_it = _tmp7_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 209 "SymbolSet.c"
+ GeeIterator* _tmp8_;
+ gboolean _tmp9_;
+ gchar* k = NULL;
+ GeeIterator* _tmp10_;
+ gpointer _tmp11_;
+ GeeArrayList* _tmp12_;
+ const gchar* _tmp13_;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = _k_it;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = gee_iterator_next (_tmp8_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp9_) {
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 225 "SymbolSet.c"
+ }
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = _k_it;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = gee_iterator_get (_tmp10_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ k = (gchar*) _tmp11_;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = r;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = k;
+#line 28 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp12_, _tmp13_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (k);
+#line 241 "SymbolSet.c"
+ }
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_k_it);
+#line 245 "SymbolSet.c"
+ }
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = r;
+#line 30 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 251 "SymbolSet.c"
+}
+
+
+GeeArrayList* jsdoc_symbol_set_values (JSDOCSymbolSet* self) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* r = NULL;
+ GeeArrayList* _tmp0_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ r = _tmp0_;
+#line 265 "SymbolSet.c"
+ {
+ GeeIterator* _k_it = NULL;
+ GeeHashMap* _tmp1_;
+ GeeHashMap* _tmp2_;
+ GeeCollection* _tmp3_;
+ GeeCollection* _tmp4_;
+ GeeCollection* _tmp5_;
+ GeeIterator* _tmp6_;
+ GeeIterator* _tmp7_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = jsdoc_symbol_set_get__index (self);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = _tmp1_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = gee_abstract_map_get_values ((GeeAbstractMap*) _tmp2_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = _tmp4_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = gee_iterable_iterator ((GeeIterable*) _tmp5_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _tmp6_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp5_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _k_it = _tmp7_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 295 "SymbolSet.c"
+ GeeIterator* _tmp8_;
+ gboolean _tmp9_;
+ JSDOCSymbol* k = NULL;
+ GeeIterator* _tmp10_;
+ gpointer _tmp11_;
+ GeeArrayList* _tmp12_;
+ JSDOCSymbol* _tmp13_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = _k_it;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = gee_iterator_next (_tmp8_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp9_) {
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 311 "SymbolSet.c"
+ }
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = _k_it;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = gee_iterator_get (_tmp10_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ k = (JSDOCSymbol*) _tmp11_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = r;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = k;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp12_, _tmp13_);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (k);
+#line 327 "SymbolSet.c"
+ }
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_k_it);
+#line 331 "SymbolSet.c"
+ }
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = r;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 337 "SymbolSet.c"
+}
+
+
+gboolean jsdoc_symbol_set_hasSymbol (JSDOCSymbolSet* self, const gchar* alias) {
+ gboolean result = FALSE;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ const gchar* _tmp2_;
+ gboolean _tmp3_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (alias != NULL, FALSE);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = jsdoc_symbol_set_get__index (self);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = _tmp0_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = alias;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp1_, _tmp2_);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = _tmp3_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 363 "SymbolSet.c"
+}
+
+
+void jsdoc_symbol_set_addSymbol (JSDOCSymbolSet* self, JSDOCSymbol* symbol) {
+ JSDOCSymbol* _tmp0_;
+ const gchar* _tmp1_;
+ JSDOCSymbol* _tmp2_;
+ const gchar* _tmp3_;
+ gboolean _tmp4_;
+ GeeHashMap* _tmp7_;
+ GeeHashMap* _tmp8_;
+ JSDOCSymbol* _tmp9_;
+ const gchar* _tmp10_;
+ JSDOCSymbol* _tmp11_;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (symbol != NULL);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = symbol;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = _tmp0_->alias;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:50: ADDING SYMBOL: %s", _tmp1_);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = symbol;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_->alias;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = jsdoc_symbol_set_hasSymbol (self, _tmp3_);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp4_) {
+#line 396 "SymbolSet.c"
+ JSDOCSymbol* _tmp5_;
+ const gchar* _tmp6_;
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = symbol;
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = _tmp5_->alias;
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_warning ("SymbolSet.vala:54: Overwriting symbol documentation for: %s.", _tmp6_);
+#line 405 "SymbolSet.c"
+ }
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = jsdoc_symbol_set_get__index (self);
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = _tmp7_;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = symbol;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = _tmp9_->alias;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = symbol;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp8_, _tmp10_, _tmp11_);
+#line 419 "SymbolSet.c"
+}
+
+
+JSDOCSymbol* jsdoc_symbol_set_getSymbol (JSDOCSymbolSet* self, const gchar* alias) {
+ JSDOCSymbol* result = NULL;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (alias != NULL, NULL);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = alias;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = jsdoc_symbol_set_hasSymbol (self, _tmp0_);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp1_) {
+#line 437 "SymbolSet.c"
+ GeeHashMap* _tmp2_;
+ GeeHashMap* _tmp3_;
+ const gchar* _tmp4_;
+ gpointer _tmp5_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = jsdoc_symbol_set_get__index (self);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = alias;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp3_, _tmp4_);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = (JSDOCSymbol*) _tmp5_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 454 "SymbolSet.c"
+ }
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = NULL;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 460 "SymbolSet.c"
+}
+
+
+/**
+ * for serializing
+ *
+ toJSON : function() {
+ return {
+ '*object' : 'SymbolSet',
+ _index : this._index
+ };
+
+ },
+*/
+void jsdoc_symbol_set_deleteSymbol (JSDOCSymbolSet* self, const gchar* alias) {
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+ GeeHashMap* _tmp2_;
+ GeeHashMap* _tmp3_;
+ const gchar* _tmp4_;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (alias != NULL);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = alias;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = jsdoc_symbol_set_hasSymbol (self, _tmp0_);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp1_) {
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 493 "SymbolSet.c"
+ }
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = jsdoc_symbol_set_get__index (self);
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = alias;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_map_unset ((GeeAbstractMap*) _tmp3_, _tmp4_, NULL);
+#line 503 "SymbolSet.c"
+}
+
+
+gchar* jsdoc_symbol_set_renameSymbol (JSDOCSymbolSet* self, const gchar* oldName, const gchar* newName) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gboolean _tmp1_;
+ GeeHashMap* _tmp12_;
+ GeeHashMap* _tmp13_;
+ const gchar* _tmp14_;
+ GeeHashMap* _tmp15_;
+ GeeHashMap* _tmp16_;
+ const gchar* _tmp17_;
+ gpointer _tmp18_;
+ JSDOCSymbol* _tmp19_;
+ const gchar* _tmp20_;
+ GeeHashMap* _tmp21_;
+ GeeHashMap* _tmp22_;
+ const gchar* _tmp23_;
+ gpointer _tmp24_;
+ JSDOCSymbol* _tmp25_;
+ const gchar* _tmp26_;
+ gchar* _tmp27_;
+ const gchar* _tmp28_;
+ gchar* _tmp29_;
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (oldName != NULL, NULL);
+#line 90 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (newName != NULL, NULL);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = oldName;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = jsdoc_symbol_set_hasSymbol (self, _tmp0_);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp1_) {
+#line 541 "SymbolSet.c"
+ const gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ const gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+ gchar* _tmp11_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = oldName;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = g_strconcat ("Cant rename ", _tmp2_, NULL);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = g_strconcat (_tmp4_, " to ", NULL);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = _tmp5_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = newName;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = g_strconcat (_tmp6_, _tmp7_, NULL);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = _tmp8_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = g_strconcat (_tmp9_, " As it doesnt exist", NULL);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = _tmp10_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_error ("SymbolSet.vala:93: %s", _tmp11_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp11_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp9_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp6_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp4_);
+#line 582 "SymbolSet.c"
+ }
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = jsdoc_symbol_set_get__index (self);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = _tmp12_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = newName;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp15_ = jsdoc_symbol_set_get__index (self);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp16_ = _tmp15_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp17_ = oldName;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp18_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp16_, _tmp17_);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp19_ = (JSDOCSymbol*) _tmp18_;
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp13_, _tmp14_, _tmp19_);
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp19_);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = oldName;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_deleteSymbol (self, _tmp20_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp21_ = jsdoc_symbol_set_get__index (self);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp22_ = _tmp21_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = newName;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp24_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp22_, _tmp23_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = (JSDOCSymbol*) _tmp24_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp26_ = newName;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp27_ = g_strdup (_tmp26_);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp25_->alias);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_->alias = _tmp27_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp25_);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp28_ = newName;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp29_ = g_strdup (_tmp28_);
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = _tmp29_;
+#line 98 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 636 "SymbolSet.c"
+}
+
+
+void jsdoc_symbol_set_relate (JSDOCSymbolSet* self) {
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:103: RELATE called");
+#line 645 "SymbolSet.c"
+ {
+ GeeIterator* _s_it = NULL;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ GeeSet* _tmp2_;
+ GeeSet* _tmp3_;
+ GeeSet* _tmp4_;
+ GeeIterator* _tmp5_;
+ GeeIterator* _tmp6_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = jsdoc_symbol_set_get__index (self);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = _tmp0_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp1_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = _tmp5_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp4_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _s_it = _tmp6_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 675 "SymbolSet.c"
+ GeeIterator* _tmp7_;
+ gboolean _tmp8_;
+ gchar* s = NULL;
+ GeeIterator* _tmp9_;
+ gpointer _tmp10_;
+ GeeHashMap* _tmp11_;
+ GeeHashMap* _tmp12_;
+ const gchar* _tmp13_;
+ gpointer _tmp14_;
+ JSDOCSymbol* _tmp15_;
+ gchar* _tmp16_;
+ gchar* _tmp17_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _s_it;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = gee_iterator_next (_tmp7_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp8_) {
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 696 "SymbolSet.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = _s_it;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = gee_iterator_get (_tmp9_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ s = (gchar*) _tmp10_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = jsdoc_symbol_set_get__index (self);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = _tmp11_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = s;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp12_, _tmp13_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp15_ = (JSDOCSymbol*) _tmp14_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp16_ = jsdoc_symbol_asString (_tmp15_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp17_ = _tmp16_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:105: %s", _tmp17_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp17_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp15_);
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (s);
+#line 726 "SymbolSet.c"
+ }
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_s_it);
+#line 730 "SymbolSet.c"
+ }
+#line 107 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_resolveBorrows (self);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_resolveMemberOf (self);
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_resolveAugments (self);
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:110: AFTER RELATE called");
+#line 740 "SymbolSet.c"
+ {
+ GeeIterator* _s_it = NULL;
+ GeeHashMap* _tmp18_;
+ GeeHashMap* _tmp19_;
+ GeeSet* _tmp20_;
+ GeeSet* _tmp21_;
+ GeeSet* _tmp22_;
+ GeeIterator* _tmp23_;
+ GeeIterator* _tmp24_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp18_ = jsdoc_symbol_set_get__index (self);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp19_ = _tmp18_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp19_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp21_ = _tmp20_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp22_ = _tmp21_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = gee_iterable_iterator ((GeeIterable*) _tmp22_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp24_ = _tmp23_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp22_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _s_it = _tmp24_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 770 "SymbolSet.c"
+ GeeIterator* _tmp25_;
+ gboolean _tmp26_;
+ gchar* s = NULL;
+ GeeIterator* _tmp27_;
+ gpointer _tmp28_;
+ GeeHashMap* _tmp29_;
+ GeeHashMap* _tmp30_;
+ const gchar* _tmp31_;
+ gpointer _tmp32_;
+ JSDOCSymbol* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = _s_it;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp26_ = gee_iterator_next (_tmp25_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp26_) {
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 791 "SymbolSet.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp27_ = _s_it;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp28_ = gee_iterator_get (_tmp27_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ s = (gchar*) _tmp28_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp29_ = jsdoc_symbol_set_get__index (self);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp30_ = _tmp29_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp31_ = s;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp32_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp30_, _tmp31_);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp33_ = (JSDOCSymbol*) _tmp32_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp34_ = jsdoc_symbol_asString (_tmp33_);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp35_ = _tmp34_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:112: %s", _tmp35_);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp35_);
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp33_);
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (s);
+#line 821 "SymbolSet.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_s_it);
+#line 825 "SymbolSet.c"
+ }
+}
+
+
+static void jsdoc_symbol_set_resolveBorrows (JSDOCSymbolSet* self) {
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 119 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 835 "SymbolSet.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 858 "SymbolSet.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 866 "SymbolSet.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 878 "SymbolSet.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 902 "SymbolSet.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 908 "SymbolSet.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 912 "SymbolSet.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 916 "SymbolSet.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 928 "SymbolSet.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 938 "SymbolSet.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 944 "SymbolSet.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 958 "SymbolSet.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 968 "SymbolSet.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 974 "SymbolSet.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 983 "SymbolSet.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1003 "SymbolSet.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 1014 "SymbolSet.c"
+ }
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return *re;
+#line 1018 "SymbolSet.c"
+}
+
+
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1036 "SymbolSet.c"
+}
+
+
+static void jsdoc_symbol_set_resolveMemberOf (JSDOCSymbolSet* self) {
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ GeeSet* _tmp2_;
+ GeeSet* _tmp3_;
+ GeeSet* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gboolean _tmp7_;
+ GError * _inner_error_ = NULL;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = jsdoc_symbol_set_get__index (self);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = _tmp0_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp1_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = gee_collection_get_size ((GeeCollection*) _tmp4_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = _tmp5_;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _tmp6_ < 1;
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp4_);
+#line 167 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp7_) {
+#line 168 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 1074 "SymbolSet.c"
+ }
+ {
+ GeeArrayList* _p_list = NULL;
+ GeeArrayList* _tmp8_;
+ gint _p_size = 0;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+ gint _p_index = 0;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = jsdoc_symbol_set_keys (self);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _p_list = _tmp8_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = _p_list;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp9_);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = _tmp10_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _p_size = _tmp11_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _p_index = -1;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 1100 "SymbolSet.c"
+ gint _tmp12_;
+ gint _tmp13_;
+ gint _tmp14_;
+ gchar* p = NULL;
+ GeeArrayList* _tmp15_;
+ gint _tmp16_;
+ gpointer _tmp17_;
+ JSDOCSymbol* symbol = NULL;
+ const gchar* _tmp18_;
+ JSDOCSymbol* _tmp19_;
+ gboolean _tmp20_ = FALSE;
+ JSDOCSymbol* _tmp21_;
+ gboolean _tmp22_;
+ JSDOCSymbol* _tmp85_;
+ const gchar* _tmp86_;
+ gint _tmp87_;
+ gint _tmp88_;
+ gboolean _tmp102_ = FALSE;
+ gboolean _tmp103_ = FALSE;
+ JSDOCSymbol* _tmp104_;
+ gboolean _tmp105_;
+ JSDOCSymbol* _tmp112_;
+ const gchar* _tmp113_;
+ gboolean _tmp114_;
+ JSDOCSymbol* _tmp123_;
+ const gchar* _tmp124_;
+ gint _tmp125_;
+ gint _tmp126_;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = _p_index;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _p_index = _tmp12_ + 1;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = _p_index;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = _p_size;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp13_ < _tmp14_)) {
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1141 "SymbolSet.c"
+ }
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp15_ = _p_list;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp16_ = _p_index;
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp15_, _tmp16_);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ p = (gchar*) _tmp17_;
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp18_ = p;
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp19_ = jsdoc_symbol_set_getSymbol (self, _tmp18_);
+#line 171 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ symbol = _tmp19_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp21_ = symbol;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp22_ = jsdoc_symbol_is (_tmp21_, "FILE");
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp22_) {
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = TRUE;
+#line 1165 "SymbolSet.c"
+ } else {
+ JSDOCSymbol* _tmp23_;
+ gboolean _tmp24_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = symbol;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp24_ = jsdoc_symbol_is (_tmp23_, "GLOBAL");
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = _tmp24_;
+#line 1175 "SymbolSet.c"
+ }
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp20_) {
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 1185 "SymbolSet.c"
+ } else {
+ JSDOCSymbol* _tmp25_;
+ const gchar* _tmp26_;
+ gint _tmp27_;
+ gint _tmp28_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = symbol;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp26_ = _tmp25_->memberOf;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp27_ = strlen (_tmp26_);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp28_ = _tmp27_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp28_ > 0) {
+#line 1201 "SymbolSet.c"
+ GRegex* regex = NULL;
+ JSDOCSymbol* _tmp29_;
+ const gchar* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+ GRegex* _tmp35_;
+ GRegex* _tmp36_;
+ GMatchInfo* minfo = NULL;
+ gboolean parts = FALSE;
+ GRegex* _tmp37_;
+ JSDOCSymbol* _tmp38_;
+ const gchar* _tmp39_;
+ GMatchInfo* _tmp40_ = NULL;
+ gboolean _tmp41_;
+ gboolean _tmp42_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp29_ = symbol;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp30_ = _tmp29_->memberOf;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp31_ = g_strconcat ("^(", _tmp30_, NULL);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp32_ = _tmp31_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp33_ = g_strconcat (_tmp32_, "[.#-])(.+)$", NULL);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp34_ = _tmp33_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp35_ = g_regex_new (_tmp34_, 0, 0, &_inner_error_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp36_ = _tmp35_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp34_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp32_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ regex = _tmp36_;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_p_list);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_clear_error (&_inner_error_);
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 1255 "SymbolSet.c"
+ }
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp37_ = regex;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp38_ = symbol;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp39_ = _tmp38_->alias;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp41_ = g_regex_match_full (_tmp37_, _tmp39_, (gssize) -1, 0, 0, &_tmp40_, &_inner_error_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ minfo = _tmp40_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ parts = _tmp41_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_regex_unref0 (regex);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_p_list);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_clear_error (&_inner_error_);
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 1289 "SymbolSet.c"
+ }
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp42_ = parts;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp42_) {
+#line 1295 "SymbolSet.c"
+ JSDOCSymbol* _tmp43_;
+ GMatchInfo* _tmp44_;
+ gchar* _tmp45_;
+ JSDOCSymbol* _tmp46_;
+ GMatchInfo* _tmp47_;
+ gchar* _tmp48_;
+ gchar* _tmp49_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp43_ = symbol;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp44_ = minfo;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp45_ = g_match_info_fetch (_tmp44_, 1);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp43_->memberOf);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp43_->memberOf = _tmp45_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp46_ = symbol;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp47_ = minfo;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp48_ = g_match_info_fetch (_tmp47_, 2);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp49_ = _tmp48_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_private_name (_tmp46_, _tmp49_);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp49_);
+#line 1325 "SymbolSet.c"
+ } else {
+ gchar* joiner = NULL;
+ JSDOCSymbol* _tmp50_;
+ const gchar* _tmp51_;
+ JSDOCSymbol* _tmp52_;
+ const gchar* _tmp53_;
+ gint _tmp54_;
+ gint _tmp55_;
+ gchar* _tmp56_;
+ const gchar* _tmp57_;
+ gboolean _tmp58_;
+ const gchar* _tmp63_;
+ JSDOCSymbol* _tmp64_;
+ const gchar* _tmp65_;
+ JSDOCSymbol* _tmp66_;
+ const gchar* _tmp67_;
+ const gchar* _tmp68_;
+ gchar* _tmp69_;
+ gchar* _tmp70_;
+ gchar* _tmp71_;
+ gchar* _tmp72_;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp50_ = symbol;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp51_ = _tmp50_->memberOf;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp52_ = symbol;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp53_ = _tmp52_->memberOf;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp54_ = strlen (_tmp53_);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp55_ = _tmp54_;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp56_ = string_substring (_tmp51_, (glong) (_tmp55_ - 1), (glong) -1);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ joiner = _tmp56_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp57_ = joiner;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp58_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_0, "[.#-]", 0), _tmp57_, 0, NULL);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp58_) {
+#line 1369 "SymbolSet.c"
+ JSDOCSymbol* _tmp59_;
+ JSDOCSymbol* _tmp60_;
+ const gchar* _tmp61_;
+ gchar* _tmp62_;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp59_ = symbol;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp60_ = symbol;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp61_ = _tmp60_->memberOf;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp62_ = g_strconcat (_tmp61_, ".", NULL);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp60_->memberOf);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp60_->memberOf = _tmp62_;
+#line 1386 "SymbolSet.c"
+ }
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp63_ = p;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp64_ = symbol;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp65_ = _tmp64_->memberOf;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp66_ = symbol;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp67_ = jsdoc_symbol_get_name (_tmp66_);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp68_ = _tmp67_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp69_ = g_strconcat (_tmp65_, _tmp68_, NULL);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp70_ = _tmp69_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp71_ = jsdoc_symbol_set_renameSymbol (self, _tmp63_, _tmp70_);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp72_ = _tmp71_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp72_);
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp70_);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (joiner);
+#line 1414 "SymbolSet.c"
+ }
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_regex_unref0 (regex);
+#line 1420 "SymbolSet.c"
+ } else {
+ GMatchInfo* minfo = NULL;
+ gboolean parts = FALSE;
+ JSDOCSymbol* _tmp73_;
+ const gchar* _tmp74_;
+ GMatchInfo* _tmp75_ = NULL;
+ gboolean _tmp76_;
+ gboolean _tmp77_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp73_ = symbol;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp74_ = _tmp73_->alias;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp76_ = g_regex_match_full (_thread_safe_regex_init (&_tmp_regex_1, "^(.*[.#-])([^.#-]+)$", 0), _tmp74_, (gssize) -1, 0, 0, &_tmp75_, &_inner_error_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ minfo = _tmp75_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ parts = _tmp76_;
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_p_list);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_clear_error (&_inner_error_);
+#line 198 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 1457 "SymbolSet.c"
+ }
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp77_ = parts;
+#line 200 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp77_) {
+#line 1463 "SymbolSet.c"
+ JSDOCSymbol* _tmp78_;
+ GMatchInfo* _tmp79_;
+ gchar* _tmp80_;
+ JSDOCSymbol* _tmp81_;
+ GMatchInfo* _tmp82_;
+ gchar* _tmp83_;
+ gchar* _tmp84_;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp78_ = symbol;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp79_ = minfo;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp80_ = g_match_info_fetch (_tmp79_, 1);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp78_->memberOf);
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp78_->memberOf = _tmp80_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp81_ = symbol;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp82_ = minfo;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp83_ = g_match_info_fetch (_tmp82_, 2);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp84_ = _tmp83_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_private_name (_tmp81_, _tmp84_);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp84_);
+#line 1493 "SymbolSet.c"
+ }
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_match_info_unref0 (minfo);
+#line 1497 "SymbolSet.c"
+ }
+ }
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp85_ = symbol;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp86_ = _tmp85_->memberOf;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp87_ = strlen (_tmp86_);
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp88_ = _tmp87_;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp88_ > 0) {
+#line 1510 "SymbolSet.c"
+ JSDOCSymbol* _tmp89_;
+ const gchar* _tmp90_;
+ JSDOCSymbol* _tmp91_;
+ const gchar* _tmp92_;
+ gint _tmp93_;
+ gint _tmp94_;
+ gchar _tmp95_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp89_ = symbol;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp90_ = _tmp89_->memberOf;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp91_ = symbol;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp92_ = _tmp91_->memberOf;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp93_ = strlen (_tmp92_);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp94_ = _tmp93_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp95_ = string_get (_tmp90_, (glong) (_tmp94_ - 1));
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ switch (_tmp95_) {
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ case '#':
+#line 1536 "SymbolSet.c"
+ {
+ JSDOCSymbol* _tmp96_;
+ JSDOCSymbol* _tmp97_;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp96_ = symbol;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp96_->isStatic = FALSE;
+#line 211 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp97_ = symbol;
+#line 211 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp97_->isInner = FALSE;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1550 "SymbolSet.c"
+ }
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ case '.':
+#line 1554 "SymbolSet.c"
+ {
+ JSDOCSymbol* _tmp98_;
+ JSDOCSymbol* _tmp99_;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp98_ = symbol;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp98_->isStatic = TRUE;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp99_ = symbol;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp99_->isInner = FALSE;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1568 "SymbolSet.c"
+ }
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ case '-':
+#line 1572 "SymbolSet.c"
+ {
+ JSDOCSymbol* _tmp100_;
+ JSDOCSymbol* _tmp101_;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp100_ = symbol;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp100_->isStatic = FALSE;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp101_ = symbol;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp101_->isInner = TRUE;
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1586 "SymbolSet.c"
+ }
+ default:
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1591 "SymbolSet.c"
+ }
+ }
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp104_ = symbol;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp105_ = jsdoc_symbol_is (_tmp104_, "CONSTRUCTOR");
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp105_) {
+#line 1600 "SymbolSet.c"
+ JSDOCSymbol* _tmp106_;
+ gboolean _tmp107_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp106_ = symbol;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp107_ = _tmp106_->isNamespace;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp103_ = !_tmp107_;
+#line 1609 "SymbolSet.c"
+ } else {
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp103_ = FALSE;
+#line 1613 "SymbolSet.c"
+ }
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp103_) {
+#line 1617 "SymbolSet.c"
+ JSDOCSymbol* _tmp108_;
+ const gchar* _tmp109_;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp108_ = symbol;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp109_ = _tmp108_->memberOf;
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp102_ = g_strcmp0 (_tmp109_, "") == 0;
+#line 1626 "SymbolSet.c"
+ } else {
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp102_ = FALSE;
+#line 1630 "SymbolSet.c"
+ }
+#line 228 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp102_) {
+#line 1634 "SymbolSet.c"
+ JSDOCSymbol* _tmp110_;
+ gchar* _tmp111_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp110_ = symbol;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp111_ = g_strdup ("_global_");
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp110_->memberOf);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp110_->memberOf = _tmp111_;
+#line 1645 "SymbolSet.c"
+ }
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp112_ = symbol;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp113_ = _tmp112_->memberOf;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp114_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_2, "[.#-]$", 0), _tmp113_, 0, NULL);
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp114_) {
+#line 1655 "SymbolSet.c"
+ JSDOCSymbol* _tmp115_;
+ JSDOCSymbol* _tmp116_;
+ const gchar* _tmp117_;
+ JSDOCSymbol* _tmp118_;
+ const gchar* _tmp119_;
+ gint _tmp120_;
+ gint _tmp121_;
+ gchar* _tmp122_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp115_ = symbol;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp116_ = symbol;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp117_ = _tmp116_->memberOf;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp118_ = symbol;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp119_ = _tmp118_->memberOf;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp120_ = strlen (_tmp119_);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp121_ = _tmp120_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp122_ = string_substring (_tmp117_, (glong) 0, (glong) (_tmp121_ - 1));
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp115_->memberOf);
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp115_->memberOf = _tmp122_;
+#line 1684 "SymbolSet.c"
+ }
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp123_ = symbol;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp124_ = _tmp123_->memberOf;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp125_ = strlen (_tmp124_);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp126_ = _tmp125_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp126_ > 0) {
+#line 1696 "SymbolSet.c"
+ JSDOCSymbol* container = NULL;
+ JSDOCSymbol* _tmp127_;
+ const gchar* _tmp128_;
+ JSDOCSymbol* _tmp129_;
+ JSDOCSymbol* _tmp130_;
+ gboolean _tmp146_ = FALSE;
+ JSDOCSymbol* _tmp147_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp127_ = symbol;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp128_ = _tmp127_->memberOf;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp129_ = jsdoc_symbol_set_getSymbol (self, _tmp128_);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ container = _tmp129_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp130_ = container;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp130_ == NULL) {
+#line 1716 "SymbolSet.c"
+ JSDOCSymbol* _tmp131_;
+ const gchar* _tmp132_;
+ gboolean _tmp133_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp131_ = symbol;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp132_ = _tmp131_->memberOf;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp133_ = jsdoc_symbol_set_isBuiltin (_tmp132_);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp133_) {
+#line 1728 "SymbolSet.c"
+ JSDOCSymbol* _tmp134_;
+ const gchar* _tmp135_;
+ JSDOCSymbol* _tmp136_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp134_ = symbol;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp135_ = _tmp134_->memberOf;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp136_ = jsdoc_doc_parser_addBuiltin (_tmp135_);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (container);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ container = _tmp136_;
+#line 1742 "SymbolSet.c"
+ } else {
+ JSDOCSymbol* _tmp137_;
+ const gchar* _tmp138_;
+ GeeArrayList* _tmp139_;
+ GeeArrayList* _tmp140_;
+ JSDOCDocComment* _tmp141_;
+ JSDOCDocComment* _tmp142_;
+ JSDOCSymbol* _tmp143_;
+ JSDOCSymbol* _tmp144_;
+ JSDOCSymbol* _tmp145_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp137_ = symbol;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp138_ = _tmp137_->memberOf;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp139_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp140_ = _tmp139_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp141_ = jsdoc_doc_comment_new ("");
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp142_ = _tmp141_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp143_ = jsdoc_symbol_new_new_populate_with_args (_tmp138_, _tmp140_, "OBJECT", _tmp142_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (container);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ container = _tmp143_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp142_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp140_);
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp144_ = container;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp144_->isNamespace = TRUE;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp145_ = container;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_addSymbol (self, _tmp145_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (container);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 1791 "SymbolSet.c"
+ }
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp147_ = container;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp147_ != NULL) {
+#line 1798 "SymbolSet.c"
+ JSDOCSymbol* _tmp148_;
+ gboolean _tmp149_;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp148_ = container;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp149_ = _tmp148_->isNamespace;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp146_ = !_tmp149_;
+#line 1807 "SymbolSet.c"
+ } else {
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp146_ = FALSE;
+#line 1811 "SymbolSet.c"
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp146_) {
+#line 1815 "SymbolSet.c"
+ JSDOCSymbol* _tmp150_;
+ JSDOCSymbol* _tmp151_;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp150_ = container;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp151_ = symbol;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_addMember (_tmp150_, _tmp151_);
+#line 1824 "SymbolSet.c"
+ }
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (container);
+#line 1828 "SymbolSet.c"
+ }
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 1834 "SymbolSet.c"
+ }
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_p_list);
+#line 1838 "SymbolSet.c"
+ }
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 1846 "SymbolSet.c"
+}
+
+
+static void jsdoc_symbol_set_resolveAugments (JSDOCSymbolSet* self) {
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 1853 "SymbolSet.c"
+ {
+ GeeIterator* _p_it = NULL;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp1_;
+ GeeSet* _tmp2_;
+ GeeSet* _tmp3_;
+ GeeSet* _tmp4_;
+ GeeIterator* _tmp5_;
+ GeeIterator* _tmp6_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = jsdoc_symbol_set_get__index (self);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = _tmp0_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp1_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = _tmp2_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = _tmp3_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = gee_iterable_iterator ((GeeIterable*) _tmp4_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = _tmp5_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp4_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _p_it = _tmp6_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 1883 "SymbolSet.c"
+ GeeIterator* _tmp7_;
+ gboolean _tmp8_;
+ gchar* p = NULL;
+ GeeIterator* _tmp9_;
+ gpointer _tmp10_;
+ JSDOCSymbol* symbol = NULL;
+ const gchar* _tmp11_;
+ JSDOCSymbol* _tmp12_;
+ JSDOCSymbol* _tmp13_;
+ gboolean _tmp14_ = FALSE;
+ JSDOCSymbol* _tmp15_;
+ const gchar* _tmp16_;
+ GeeArrayList* augments = NULL;
+ JSDOCSymbol* _tmp19_;
+ GeeArrayList* _tmp20_;
+ GeeArrayList* _tmp21_;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _p_it;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = gee_iterator_next (_tmp7_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp8_) {
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 1908 "SymbolSet.c"
+ }
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = _p_it;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = gee_iterator_get (_tmp9_);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ p = (gchar*) _tmp10_;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = p;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = jsdoc_symbol_set_getSymbol (self, _tmp11_);
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ symbol = _tmp12_;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = symbol;
+#line 278 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_buildAugmentsList (self, _tmp13_);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp15_ = symbol;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp16_ = _tmp15_->alias;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (g_strcmp0 (_tmp16_, "_global_") == 0) {
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = TRUE;
+#line 1934 "SymbolSet.c"
+ } else {
+ JSDOCSymbol* _tmp17_;
+ gboolean _tmp18_;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp17_ = symbol;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp18_ = jsdoc_symbol_is (_tmp17_, "FILE");
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = _tmp18_;
+#line 1944 "SymbolSet.c"
+ }
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp14_) {
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 1954 "SymbolSet.c"
+ }
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp19_ = symbol;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = _tmp19_->augments;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp21_ = _g_object_ref0 (_tmp20_);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ augments = _tmp21_;
+#line 1964 "SymbolSet.c"
+ {
+ gint ii = 0;
+ gint il = 0;
+ GeeArrayList* _tmp22_;
+ gint _tmp23_;
+ gint _tmp24_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ii = 0;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp22_ = augments;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp22_);
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp24_ = _tmp23_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ il = _tmp24_;
+#line 1981 "SymbolSet.c"
+ {
+ gboolean _tmp25_ = FALSE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = TRUE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 1988 "SymbolSet.c"
+ gint _tmp27_;
+ gint _tmp28_;
+ JSDOCSymbol* contributer = NULL;
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gpointer _tmp31_;
+ gchar* _tmp32_;
+ JSDOCSymbol* _tmp33_;
+ JSDOCSymbol* _tmp34_;
+ JSDOCSymbol* _tmp35_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp25_) {
+#line 2001 "SymbolSet.c"
+ gint _tmp26_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp26_ = ii;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ii = _tmp26_ + 1;
+#line 2007 "SymbolSet.c"
+ }
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = FALSE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp27_ = ii;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp28_ = il;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp27_ < _tmp28_)) {
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2019 "SymbolSet.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp29_ = augments;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp30_ = ii;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, _tmp30_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp32_ = (gchar*) _tmp31_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp33_ = jsdoc_symbol_set_getSymbol (self, _tmp32_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp34_ = _tmp33_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp32_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ contributer = _tmp34_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp35_ = contributer;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp35_ != NULL) {
+#line 2041 "SymbolSet.c"
+ JSDOCSymbol* _tmp36_;
+ GeeArrayList* _tmp37_;
+ JSDOCSymbol* _tmp38_;
+ const gchar* _tmp39_;
+ JSDOCSymbol* _tmp40_;
+ GeeArrayList* _tmp41_;
+ JSDOCSymbol* _tmp42_;
+ const gchar* _tmp43_;
+ GeeArrayList* cmethods = NULL;
+ JSDOCSymbol* _tmp44_;
+ GeeArrayList* _tmp45_;
+ GeeArrayList* _tmp46_;
+ GeeArrayList* cproperties = NULL;
+ JSDOCSymbol* _tmp47_;
+ GeeArrayList* _tmp48_;
+ GeeArrayList* _tmp49_;
+ GeeHashMap* cfgs = NULL;
+ JSDOCSymbol* _tmp50_;
+ GeeHashMap* _tmp51_;
+ GeeHashMap* _tmp52_;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp36_ = contributer;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp37_ = _tmp36_->childClasses;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp38_ = symbol;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp39_ = _tmp38_->alias;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp37_, _tmp39_);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp40_ = symbol;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp41_ = _tmp40_->inheritsFrom;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp42_ = contributer;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp43_ = _tmp42_->alias;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp41_, _tmp43_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp44_ = contributer;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp45_ = _tmp44_->methods;
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp46_ = _g_object_ref0 (_tmp45_);
+#line 293 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ cmethods = _tmp46_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp47_ = contributer;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp48_ = _tmp47_->properties;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp49_ = _g_object_ref0 (_tmp48_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ cproperties = _tmp49_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp50_ = contributer;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp51_ = _tmp50_->cfgs;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp52_ = _g_object_ref0 (_tmp51_);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ cfgs = _tmp52_;
+#line 2106 "SymbolSet.c"
+ {
+ gint ci = 0;
+ gint cl = 0;
+ GeeArrayList* _tmp53_;
+ gint _tmp54_;
+ gint _tmp55_;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ci = 0;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp53_ = cmethods;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp54_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp53_);
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp55_ = _tmp54_;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ cl = _tmp55_;
+#line 2123 "SymbolSet.c"
+ {
+ gboolean _tmp56_ = FALSE;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp56_ = TRUE;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 2130 "SymbolSet.c"
+ gint _tmp58_;
+ gint _tmp59_;
+ JSDOCSymbol* _tmp60_;
+ GeeArrayList* _tmp61_;
+ gint _tmp62_;
+ gpointer _tmp63_;
+ JSDOCSymbol* _tmp64_;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp56_) {
+#line 2140 "SymbolSet.c"
+ gint _tmp57_;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp57_ = ci;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ci = _tmp57_ + 1;
+#line 2146 "SymbolSet.c"
+ }
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp56_ = FALSE;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp58_ = ci;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp59_ = cl;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp58_ < _tmp59_)) {
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2158 "SymbolSet.c"
+ }
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp60_ = symbol;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp61_ = cmethods;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp62_ = ci;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp63_ = gee_abstract_list_get ((GeeAbstractList*) _tmp61_, _tmp62_);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp64_ = (JSDOCSymbol*) _tmp63_;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_inherit (_tmp60_, _tmp64_);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp64_);
+#line 2174 "SymbolSet.c"
+ }
+ }
+ }
+ {
+ gint ci = 0;
+ gint cl = 0;
+ GeeArrayList* _tmp65_;
+ gint _tmp66_;
+ gint _tmp67_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ci = 0;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp65_ = cproperties;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp66_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp65_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp67_ = _tmp66_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ cl = _tmp67_;
+#line 2194 "SymbolSet.c"
+ {
+ gboolean _tmp68_ = FALSE;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp68_ = TRUE;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 2201 "SymbolSet.c"
+ gint _tmp70_;
+ gint _tmp71_;
+ JSDOCSymbol* _tmp72_;
+ GeeArrayList* _tmp73_;
+ gint _tmp74_;
+ gpointer _tmp75_;
+ JSDOCSymbol* _tmp76_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp68_) {
+#line 2211 "SymbolSet.c"
+ gint _tmp69_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp69_ = ci;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ci = _tmp69_ + 1;
+#line 2217 "SymbolSet.c"
+ }
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp68_ = FALSE;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp70_ = ci;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp71_ = cl;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp70_ < _tmp71_)) {
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2229 "SymbolSet.c"
+ }
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp72_ = symbol;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp73_ = cproperties;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp74_ = ci;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp75_ = gee_abstract_list_get ((GeeAbstractList*) _tmp73_, _tmp74_);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp76_ = (JSDOCSymbol*) _tmp75_;
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_inherit (_tmp72_, _tmp76_);
+#line 300 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp76_);
+#line 2245 "SymbolSet.c"
+ }
+ }
+ }
+ {
+ GeeIterator* _ci_it = NULL;
+ GeeHashMap* _tmp77_;
+ GeeSet* _tmp78_;
+ GeeSet* _tmp79_;
+ GeeSet* _tmp80_;
+ GeeIterator* _tmp81_;
+ GeeIterator* _tmp82_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp77_ = cfgs;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp78_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp77_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp79_ = _tmp78_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp80_ = _tmp79_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp81_ = gee_iterable_iterator ((GeeIterable*) _tmp80_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp82_ = _tmp81_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp80_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _ci_it = _tmp82_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 2275 "SymbolSet.c"
+ GeeIterator* _tmp83_;
+ gboolean _tmp84_;
+ gchar* ci = NULL;
+ GeeIterator* _tmp85_;
+ gpointer _tmp86_;
+ JSDOCSymbol* _tmp87_;
+ GeeHashMap* _tmp88_;
+ const gchar* _tmp89_;
+ gpointer _tmp90_;
+ JSDOCDocTag* _tmp91_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp83_ = _ci_it;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp84_ = gee_iterator_next (_tmp83_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp84_) {
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2294 "SymbolSet.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp85_ = _ci_it;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp86_ = gee_iterator_get (_tmp85_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ci = (gchar*) _tmp86_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp87_ = symbol;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp88_ = cfgs;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp89_ = ci;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp90_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp88_, _tmp89_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp91_ = (JSDOCDocTag*) _tmp90_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_addConfig (_tmp87_, _tmp91_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_tmp91_);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (ci);
+#line 2318 "SymbolSet.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_ci_it);
+#line 2322 "SymbolSet.c"
+ }
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (cfgs);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (cproperties);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (cmethods);
+#line 2330 "SymbolSet.c"
+ } else {
+ GeeArrayList* _tmp92_;
+ gint _tmp93_;
+ gpointer _tmp94_;
+ gchar* _tmp95_;
+ JSDOCSymbol* _tmp96_;
+ const gchar* _tmp97_;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp92_ = augments;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp93_ = ii;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp94_ = gee_abstract_list_get ((GeeAbstractList*) _tmp92_, _tmp93_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp95_ = (gchar*) _tmp94_;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp96_ = symbol;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp97_ = _tmp96_->alias;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_warning ("SymbolSet.vala:310: Can't augment contributer: '%s', not found. FOR: %" \
+"s", _tmp95_, _tmp97_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp95_);
+#line 2354 "SymbolSet.c"
+ }
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (contributer);
+#line 2358 "SymbolSet.c"
+ }
+ }
+ }
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (augments);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (symbol);
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (p);
+#line 2368 "SymbolSet.c"
+ }
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (_p_it);
+#line 2372 "SymbolSet.c"
+ }
+}
+
+
+static void jsdoc_symbol_set_addAugments (JSDOCSymbolSet* self, JSDOCSymbol* symbol, GeeArrayList* alist, gboolean forceit) {
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (symbol != NULL);
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (alist != NULL);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = alist;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = _tmp1_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp2_ < 1) {
+#line 326 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return;
+#line 2397 "SymbolSet.c"
+ }
+ {
+ gint ii = 0;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ii = 0;
+#line 2403 "SymbolSet.c"
+ {
+ gboolean _tmp3_ = FALSE;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = TRUE;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 2410 "SymbolSet.c"
+ gint _tmp5_;
+ GeeArrayList* _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gpointer _tmp11_;
+ gchar* _tmp12_;
+ JSDOCSymbol* _tmp13_;
+ const gchar* _tmp14_;
+ gboolean _tmp15_;
+ JSDOCSymbol* contributer = NULL;
+ GeeArrayList* _tmp16_;
+ gint _tmp17_;
+ gpointer _tmp18_;
+ gchar* _tmp19_;
+ JSDOCSymbol* _tmp20_;
+ JSDOCSymbol* _tmp21_;
+ JSDOCSymbol* _tmp22_;
+ gboolean _tmp23_ = FALSE;
+ gboolean _tmp24_;
+ JSDOCSymbol* _tmp32_;
+ GeeArrayList* _tmp33_;
+ GeeArrayList* _tmp34_;
+ gint _tmp35_;
+ gpointer _tmp36_;
+ gchar* _tmp37_;
+ gint _tmp38_;
+ gboolean _tmp39_;
+ JSDOCSymbol* _tmp46_;
+ JSDOCSymbol* _tmp47_;
+ GeeArrayList* _tmp48_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp3_) {
+#line 2445 "SymbolSet.c"
+ gint _tmp4_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = ii;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ ii = _tmp4_ + 1;
+#line 2451 "SymbolSet.c"
+ }
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = FALSE;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = ii;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = alist;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp6_);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = _tmp7_;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp5_ < _tmp8_)) {
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2467 "SymbolSet.c"
+ }
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = alist;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = ii;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp11_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp12_ = (gchar*) _tmp11_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp13_ = symbol;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp14_ = _tmp13_->alias;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp15_ = g_strcmp0 (_tmp12_, _tmp14_) == 0;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp12_);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp15_) {
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 2489 "SymbolSet.c"
+ }
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp16_ = alist;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp17_ = ii;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp18_ = gee_abstract_list_get ((GeeAbstractList*) _tmp16_, _tmp17_);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp19_ = (gchar*) _tmp18_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp20_ = jsdoc_symbol_set_getSymbol (self, _tmp19_);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp21_ = _tmp20_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp19_);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ contributer = _tmp21_;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp22_ = contributer;
+#line 336 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp22_ == NULL) {
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (contributer);
+#line 337 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 2515 "SymbolSet.c"
+ }
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp24_ = forceit;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp24_) {
+#line 2521 "SymbolSet.c"
+ JSDOCSymbol* _tmp25_;
+ GeeArrayList* _tmp26_;
+ GeeArrayList* _tmp27_;
+ gint _tmp28_;
+ gpointer _tmp29_;
+ gchar* _tmp30_;
+ gboolean _tmp31_;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp25_ = symbol;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp26_ = _tmp25_->augments;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp27_ = alist;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp28_ = ii;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp29_ = gee_abstract_list_get ((GeeAbstractList*) _tmp27_, _tmp28_);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp30_ = (gchar*) _tmp29_;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp31_ = gee_abstract_collection_contains ((GeeAbstractCollection*) _tmp26_, _tmp30_);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = _tmp31_;
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp30_);
+#line 2547 "SymbolSet.c"
+ } else {
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp23_ = FALSE;
+#line 2551 "SymbolSet.c"
+ }
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp23_) {
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (contributer);
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ continue;
+#line 2559 "SymbolSet.c"
+ }
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp32_ = symbol;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp33_ = _tmp32_->augments;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp34_ = alist;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp35_ = ii;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp36_ = gee_abstract_list_get ((GeeAbstractList*) _tmp34_, _tmp35_);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp37_ = (gchar*) _tmp36_;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp38_ = gee_abstract_list_index_of ((GeeAbstractList*) _tmp33_, _tmp37_);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp39_ = _tmp38_ < 0;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp37_);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp39_) {
+#line 2581 "SymbolSet.c"
+ JSDOCSymbol* _tmp40_;
+ GeeArrayList* _tmp41_;
+ GeeArrayList* _tmp42_;
+ gint _tmp43_;
+ gpointer _tmp44_;
+ gchar* _tmp45_;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp40_ = symbol;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp41_ = _tmp40_->augments;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp42_ = alist;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp43_ = ii;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp44_ = gee_abstract_list_get ((GeeAbstractList*) _tmp42_, _tmp43_);
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp45_ = (gchar*) _tmp44_;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp41_, _tmp45_);
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_free0 (_tmp45_);
+#line 2604 "SymbolSet.c"
+ }
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp46_ = symbol;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp47_ = contributer;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp48_ = _tmp47_->augments;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_addAugments (self, _tmp46_, _tmp48_, FALSE);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (contributer);
+#line 2616 "SymbolSet.c"
+ }
+ }
+ }
+}
+
+
+static void jsdoc_symbol_set_buildAugmentsList (JSDOCSymbolSet* self, JSDOCSymbol* symbol) {
+ JSDOCSymbol* _tmp0_;
+ JSDOCSymbol* _tmp1_;
+ GeeArrayList* _tmp2_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (self != NULL);
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_if_fail (symbol != NULL);
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = symbol;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = symbol;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = _tmp1_->augments;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_addAugments (self, _tmp0_, _tmp2_, TRUE);
+#line 2639 "SymbolSet.c"
+}
+
+
+gboolean jsdoc_symbol_set_isBuiltin (const gchar* name) {
+ gboolean result = FALSE;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (name != NULL, FALSE);
+#line 2647 "SymbolSet.c"
+ {
+ gint i = 0;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ i = 0;
+#line 2652 "SymbolSet.c"
+ {
+ gboolean _tmp0_ = FALSE;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = TRUE;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ while (TRUE) {
+#line 2659 "SymbolSet.c"
+ gint _tmp2_;
+ gchar** _tmp3_;
+ gint _tmp3__length1;
+ const gchar* _tmp4_;
+ gchar** _tmp5_;
+ gint _tmp5__length1;
+ gint _tmp6_;
+ const gchar* _tmp7_;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!_tmp0_) {
+#line 2670 "SymbolSet.c"
+ gint _tmp1_;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = i;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ i = _tmp1_ + 1;
+#line 2676 "SymbolSet.c"
+ }
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = FALSE;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = i;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = jsdoc_symbol_set_coreObjects;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3__length1 = jsdoc_symbol_set_coreObjects_length1;
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (!(_tmp2_ < _tmp3__length1)) {
+#line 366 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2690 "SymbolSet.c"
+ }
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = name;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = jsdoc_symbol_set_coreObjects;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5__length1 = jsdoc_symbol_set_coreObjects_length1;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = i;
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = _tmp5_[_tmp6_];
+#line 367 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (g_strcmp0 (_tmp4_, _tmp7_) == 0) {
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = TRUE;
+#line 368 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 2708 "SymbolSet.c"
+ }
+ }
+ }
+ }
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = FALSE;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 2717 "SymbolSet.c"
+}
+
+
+GeeHashMap* jsdoc_symbol_set_get__index (JSDOCSymbolSet* self) {
+ GeeHashMap* result;
+ GeeHashMap* _tmp0_;
+ GeeHashMap* _tmp2_;
+#line 9 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = self->priv->__index;
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ if (_tmp0_ == NULL) {
+#line 2731 "SymbolSet.c"
+ GeeHashMap* _tmp1_;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_debug ("SymbolSet.vala:11: Creating new Symbolset array");
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (self->priv->__index);
+#line 12 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ self->priv->__index = _tmp1_;
+#line 2741 "SymbolSet.c"
+ }
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = self->priv->__index;
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ result = _tmp2_;
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ return result;
+#line 2749 "SymbolSet.c"
+}
+
+
+static void jsdoc_symbol_set_class_init (JSDOCSymbolSetClass * klass) {
+ gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+ gchar* _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gchar** _tmp10_;
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_parent_class = g_type_class_peek_parent (klass);
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCSymbolSetPrivate));
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_jsdoc_symbol_set_get_property;
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_symbol_set_finalize;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp0_ = g_strdup ("_global_");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp1_ = g_strdup ("Array");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp2_ = g_strdup ("Boolean");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp3_ = g_strdup ("Date");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp4_ = g_strdup ("Function");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp5_ = g_strdup ("Math");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp6_ = g_strdup ("Number");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp7_ = g_strdup ("Object");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp8_ = g_strdup ("RegExp");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp9_ = g_strdup ("String");
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_ = g_new0 (gchar*, 10 + 1);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[0] = _tmp0_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[1] = _tmp1_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[2] = _tmp2_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[3] = _tmp3_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[4] = _tmp4_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[5] = _tmp5_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[6] = _tmp6_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[7] = _tmp7_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[8] = _tmp8_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _tmp10_[9] = _tmp9_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_coreObjects = _tmp10_;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ jsdoc_symbol_set_coreObjects_length1 = 10;
+#line 2819 "SymbolSet.c"
+}
+
+
+static void jsdoc_symbol_set_instance_init (JSDOCSymbolSet * self) {
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ self->priv = JSDOC_SYMBOL_SET_GET_PRIVATE (self);
+#line 6 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ self->priv->__index = NULL;
+#line 2828 "SymbolSet.c"
+}
+
+
+static void jsdoc_symbol_set_finalize (GObject * obj) {
+ JSDOCSymbolSet * self;
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet);
+#line 6 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ _g_object_unref0 (self->priv->__index);
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ G_OBJECT_CLASS (jsdoc_symbol_set_parent_class)->finalize (obj);
+#line 2840 "SymbolSet.c"
+}
+
+
+GType jsdoc_symbol_set_get_type (void) {
+ static volatile gsize jsdoc_symbol_set_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_symbol_set_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCSymbolSetClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_symbol_set_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCSymbolSet), 0, (GInstanceInitFunc) jsdoc_symbol_set_instance_init, NULL };
+ GType jsdoc_symbol_set_type_id;
+ jsdoc_symbol_set_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCSymbolSet", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_symbol_set_type_id__volatile, jsdoc_symbol_set_type_id);
+ }
+ return jsdoc_symbol_set_type_id__volatile;
+}
+
+
+static void _vala_jsdoc_symbol_set_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ JSDOCSymbolSet * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, JSDOC_TYPE_SYMBOL_SET, JSDOCSymbolSet);
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ switch (property_id) {
+#line 2861 "SymbolSet.c"
+ default:
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 4 "/home/alan/gitlive/roojspacker/src/jsdoc/SymbolSet.vala"
+ break;
+#line 2867 "SymbolSet.c"
+ }
+}
+
+
+
--- /dev/null
+
+namespace JSDOC {
+
+ public class SymbolSet : Object {
+
+ private Gee.HashMap<string,Symbol> __index = null;
+
+ public Gee.HashMap<string,Symbol> _index {
+ get {
+ if (this.__index == null) {
+ GLib.debug("Creating new Symbolset array");
+ this.__index = new Gee.HashMap<string,Symbol>();
+ }
+ return this.__index;
+ }
+ }
+
+ public SymbolSet ()
+ {
+
+ }
+
+
+ public Gee.ArrayList<string> keys()
+ {
+ var r= new Gee.ArrayList<string>();
+ foreach(var k in this._index.keys) {
+ r.add(k);
+ }
+ return r;
+
+ }
+ public Gee.ArrayList<Symbol> values()
+ {
+ var r= new Gee.ArrayList<Symbol>();
+ foreach(var k in this._index.values) {
+ r.add(k);
+ }
+ return r;
+
+ }
+
+ public bool hasSymbol(string alias)
+ {
+ return this._index.has_key(alias);
+ //return this.keys().indexOf(alias) > -1;
+ }
+
+ public void addSymbol (Symbol symbol) {
+ GLib.debug("ADDING SYMBOL: %s",symbol.alias);
+
+
+ if (this.hasSymbol(symbol.alias)) {
+ GLib.warning("Overwriting symbol documentation for: %s.",symbol.alias);
+ }
+ this._index.set(symbol.alias, symbol);
+ }
+
+ public Symbol? getSymbol (string alias) {
+
+ if (this.hasSymbol(alias)) return this._index.get(alias);
+ return null;
+ }
+/*/
+ toArray : function() {
+ var found = [];
+ for (var p in this._index) {
+ found.push(this._index[p]);
+ }
+ return found;
+ },
+ */
+ /**
+ * for serializing
+ *
+ toJSON : function() {
+ return {
+ '*object' : 'SymbolSet',
+ _index : this._index
+ };
+
+ },
+*/
+
+ public void deleteSymbol (string alias) {
+ if (!this.hasSymbol(alias)) return;
+ this._index.unset(alias);
+ }
+
+ public string renameSymbol (string oldName, string newName) {
+ // todo: should check if oldname or newname already exist
+ if (!this.hasSymbol(oldName)) {
+ GLib.error("Cant rename " + oldName + " to " + newName + " As it doesnt exist");
+ }
+ this._index.set(newName, this._index.get(oldName));
+ this.deleteSymbol(oldName);
+ this._index.get(newName).alias = newName;
+ return newName;
+ }
+
+ public void relate()
+ {
+ GLib.debug("RELATE called");
+ foreach(var s in this._index.keys) {
+ GLib.debug("%s", this._index.get(s).asString());
+ }
+ this.resolveBorrows();
+ this.resolveMemberOf();
+ this.resolveAugments();
+ GLib.debug("AFTER RELATE called");
+ foreach(var s in this._index.keys) {
+ GLib.debug("%s", this._index.get(s).asString());
+ }
+ }
+
+ void resolveBorrows()
+ {
+
+ return; // this code is not needed- we do not use @inherits
+ /*
+ foreach (var p in this._index.keys) {
+ var symbol = this._index.get(p);
+
+
+
+ if (symbol.is("FILE") || symbol.is("GLOBAL")) continue;
+
+ var borrows = symbol.inherits;
+ for (var i = 0; i < borrows.size; i++) {
+ var borrowed = this.getSymbol(borrows.get(i).alias);
+ if (!borrowed) {
+ imports.BuildDocs.Options.LOG.warn("Can't borrow undocumented "+borrows[i].alias+".");
+ continue;
+ }
+
+ var borrowAsName = borrows[i].as;
+ var borrowAsAlias = borrowAsName;
+ if (!borrowAsName) {
+ imports.BuildDocs.Options.LOG.warn("Malformed @borrow, 'as' is required.");
+ continue;
+ }
+
+ if (borrowAsName.length > symbol.alias.length && borrowAsName.indexOf(symbol.alias) == 0) {
+ borrowAsName = borrowAsName.replace(borrowed.alias, "");
+ }
+ else {
+ var joiner = "";
+ if (borrowAsName.charAt(0) != "#") joiner = ".";
+ borrowAsAlias = borrowed.alias + joiner + borrowAsName;
+ }
+
+ borrowAsName = borrowAsName.replace(/^[#.]/, "");
+
+ if (this.hasSymbol(borrowAsAlias)) continue;
+
+ var clone = borrowed.clone();
+ clone.name = borrowAsName;
+ clone.alias = borrowAsAlias;
+ this.addSymbol(clone);
+ }
+ }
+ */
+ }
+
+ void resolveMemberOf ()
+ {
+ if (this._index.keys.size < 1) {
+ return;
+ }
+ foreach (var p in this.keys()) {
+ var symbol = this.getSymbol(p);
+
+ if (symbol.is("FILE") || symbol.is("GLOBAL")) continue;
+
+ // the memberOf value was provided in the @memberOf tag
+ else if (symbol.memberOf.length > 0) {
+ var regex = new GLib.Regex("^("+symbol.memberOf+"[.#-])(.+)$");
+ GLib.MatchInfo minfo;
+ var parts = regex.match_full(symbol.alias, -1, 0, 0 , out minfo);
+
+ // like foo.bar is a memberOf foo
+ if (parts) {
+
+ symbol.memberOf = minfo.fetch(1);
+ symbol.private_name = minfo.fetch(2);
+ }
+ // like bar is a memberOf foo
+ else {
+ var joiner = symbol.memberOf.substring(symbol.memberOf.length-1);
+ if (!/[.#-]/.match(joiner)) symbol.memberOf += ".";
+
+ this.renameSymbol(p, symbol.memberOf + symbol.name);
+ }
+ }
+ // the memberOf must be calculated
+ else {
+ GLib.MatchInfo minfo;
+ var parts = /^(.*[.#-])([^.#-]+)$/.match_full(symbol.alias, -1, 0, 0 , out minfo);
+
+ if (parts) {
+ symbol.memberOf = minfo.fetch(1);
+ symbol.private_name = minfo.fetch(2);
+ }
+ }
+
+ // set isStatic, isInner
+ if (symbol.memberOf.length > 0) {
+ switch (symbol.memberOf[symbol.memberOf.length-1]) {
+ case '#' :
+ symbol.isStatic = false;
+ symbol.isInner = false;
+ break;
+
+ case '.' :
+ symbol.isStatic = true;
+ symbol.isInner = false;
+ break;
+
+ case '-' :
+ symbol.isStatic = false;
+ symbol.isInner = true;
+ break;
+
+ }
+ }
+
+ // unowned methods and fields belong to the global object
+ if (!symbol.is("CONSTRUCTOR") && !symbol.isNamespace && symbol.memberOf == "") {
+ symbol.memberOf = "_global_";
+ }
+
+ // clean up
+ if (/[.#-]$/.match(symbol.memberOf)) {
+ symbol.memberOf = symbol.memberOf.substring(0, symbol.memberOf.length-1);
+ }
+ //print("looking for memberOf: " + symbol.memberOf + " FOR " + symbol.alias);
+ // add to parent's methods or properties list
+ if (symbol.memberOf.length > 0) {
+ var container = this.getSymbol(symbol.memberOf);
+ if (container == null) {
+ if (SymbolSet.isBuiltin(symbol.memberOf)) {
+ container = DocParser.addBuiltin(symbol.memberOf);
+ }
+ else {
+ // print("symbol NOT a BUILT IN - createing a container");
+ // Eg. Ext.y.z (missing y)
+ // we need to add in the missing symbol...
+ container = new Symbol.new_populate_with_args(
+ symbol.memberOf, new Gee.ArrayList<string>(),
+ "OBJECT", new DocComment(""));
+ container.isNamespace = true;
+ this.addSymbol( container );
+ // print(container.toSource());
+ //container = this.getSymbol(symbol.memberOf);
+ // fake container ... so dont ad symbols to it..
+ continue;
+ container = null;
+ //LOG.warn("Can't document "+symbol.name +" as a member of undocumented symbol "+symbol.memberOf+".");
+ //LOG.warn("We only have the following symbols: \n" +
+ // this.keys.toSource());
+ }
+ }
+
+ if (container != null && !container.isNamespace) {
+ container.addMember(symbol);
+ }
+ }
+ }
+
+ }
+
+ void resolveAugments ()
+ {
+ // does this sort out multiple extends???
+
+ foreach (var p in this._index.keys) {
+ var symbol = this.getSymbol(p);
+ this.buildAugmentsList(symbol); /// build heirachy of inheritance...
+ if (symbol.alias == "_global_" || symbol.is("FILE")) continue;
+
+ var augments = symbol.augments;
+ for(var ii = 0, il = augments.size; ii < il; ii++) {
+ var contributer = this.getSymbol(augments[ii]);
+
+
+ if (contributer != null) {
+ contributer.childClasses.add(symbol.alias);
+ symbol.inheritsFrom.add(contributer.alias);
+ //if (!isUnique(symbol.inheritsFrom)) {
+ // imports.BuildDocs.Options.LOG.warn("Can't resolve augments: Circular reference: "+symbol.alias+" inherits from "+contributer.alias+" more than once.");
+ //}
+ //else {
+ var cmethods = contributer.methods;
+ var cproperties = contributer.properties;
+ var cfgs = contributer.cfgs;
+ for (var ci = 0, cl = cmethods.size; ci < cl; ci++) {
+ symbol.inherit(cmethods[ci]);
+ }
+ for (var ci = 0, cl = cproperties.size; ci < cl; ci++) {
+ symbol.inherit(cproperties[ci]);
+ }
+ foreach (var ci in cfgs.keys) {
+ symbol.addConfig(cfgs[ci]);
+ }
+
+
+ //}
+ }
+ else {
+ GLib.warning("Can't augment contributer: '%s', not found. FOR: %s",
+ augments[ii], symbol.alias
+ );
+ //LOG.warn("We only have the following symbols: \n" +
+ // this.keys().toSource().split(",").join(", \n"));
+ }
+
+ }
+ }
+
+ }
+
+
+ void addAugments (Symbol symbol, Gee.ArrayList<string> alist, bool forceit)
+ { // returns number added..
+ if (alist.size < 1) {
+ return;
+ }
+ //print("buildAugmentsList:addAugments" + alist.length);
+ //var rval = 0;
+ for(var ii = 0; ii < alist.size; ii++) {
+ //print("getAlias:" + alist[ii]);
+ if (alist[ii] == symbol.alias) {
+ continue;
+ }
+ var contributer = this.getSymbol(alist[ii]);
+ if (contributer == null) {
+ continue;
+ }
+
+ if (!forceit && symbol.augments.contains(alist[ii])) {
+ continue;
+ }
+ if (symbol.augments.index_of(alist[ii]) < 0) {
+ symbol.augments.add(alist[ii]);
+ }
+
+
+ this.addAugments(symbol, contributer.augments,false);
+
+ //rval++;
+ }
+ // print("buildAugmentsList: ADDED:" + rval);
+ // return rval;
+ }
+
+ void buildAugmentsList (Symbol symbol)
+ {
+
+ this.addAugments(symbol, symbol.augments, true);
+
+
+
+ }
+ public static bool isBuiltin(string name)
+ {
+ for (var i =0 ; i < SymbolSet.coreObjects.length; i++ ){
+ if (name == SymbolSet.coreObjects[i]) {
+ return true;
+ }
+ }
+ return false;
+ }
+ static string[] coreObjects = {
+ "_global_", "Array" , "Boolean", "Date", "Function",
+ "Math", "Number", "Object", "RegExp", "String"
+ };
+
+ }
+
+}
+
+
\ No newline at end of file
--- /dev/null
+/* TextStream.c generated by valac 0.36.6, the Vala compiler
+ * generated from TextStream.vala, do not modify */
+
+/*<script type="text/javscript">*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_TEXT_STREAM_CHAR (jsdoc_text_stream_char_get_type ())
+#define JSDOC_TEXT_STREAM_CHAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamChar))
+#define JSDOC_TEXT_STREAM_CHAR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamCharClass))
+#define JSDOC_IS_TEXT_STREAM_CHAR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR))
+#define JSDOC_IS_TEXT_STREAM_CHAR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM_CHAR))
+#define JSDOC_TEXT_STREAM_CHAR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamCharClass))
+
+typedef struct _JSDOCTextStreamChar JSDOCTextStreamChar;
+typedef struct _JSDOCTextStreamCharClass JSDOCTextStreamCharClass;
+typedef struct _JSDOCTextStreamCharPrivate JSDOCTextStreamCharPrivate;
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+typedef struct _JSDOCTextStreamPrivate JSDOCTextStreamPrivate;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+struct _JSDOCTextStreamChar {
+ GObject parent_instance;
+ JSDOCTextStreamCharPrivate * priv;
+ gchar c;
+ gboolean eof;
+};
+
+struct _JSDOCTextStreamCharClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTextStream {
+ GObject parent_instance;
+ JSDOCTextStreamPrivate * priv;
+};
+
+struct _JSDOCTextStreamClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTextStreamPrivate {
+ gchar* text;
+ gint cursor;
+ gint length;
+};
+
+
+static gpointer jsdoc_text_stream_char_parent_class = NULL;
+static gpointer jsdoc_text_stream_parent_class = NULL;
+
+GType jsdoc_text_stream_char_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_TEXT_STREAM_CHAR_DUMMY_PROPERTY
+};
+JSDOCTextStreamChar* jsdoc_text_stream_char_new (gchar val, gboolean eof);
+JSDOCTextStreamChar* jsdoc_text_stream_char_construct (GType object_type, gchar val, gboolean eof);
+static void jsdoc_text_stream_char_finalize (GObject * obj);
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+#define JSDOC_TEXT_STREAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamPrivate))
+enum {
+ JSDOC_TEXT_STREAM_DUMMY_PROPERTY
+};
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text);
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text);
+gchar* jsdoc_text_stream_lookS (JSDOCTextStream* self, gint n);
+gchar jsdoc_text_stream_lookC (JSDOCTextStream* self, gint n);
+gboolean jsdoc_text_stream_lookEOF (JSDOCTextStream* self, gint n);
+gchar* jsdoc_text_stream_nextS (JSDOCTextStream* self, gint n);
+gchar jsdoc_text_stream_nextC (JSDOCTextStream* self);
+static void jsdoc_text_stream_finalize (GObject * obj);
+
+
+JSDOCTextStreamChar* jsdoc_text_stream_char_construct (GType object_type, gchar val, gboolean eof) {
+ JSDOCTextStreamChar * self = NULL;
+ gchar _tmp0_;
+ gboolean _tmp1_;
+#line 13 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self = (JSDOCTextStreamChar*) g_object_new (object_type, NULL);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = val;
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->c = _tmp0_;
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = eof;
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->eof = _tmp1_;
+#line 13 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return self;
+#line 104 "TextStream.c"
+}
+
+
+JSDOCTextStreamChar* jsdoc_text_stream_char_new (gchar val, gboolean eof) {
+#line 13 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return jsdoc_text_stream_char_construct (JSDOC_TYPE_TEXT_STREAM_CHAR, val, eof);
+#line 111 "TextStream.c"
+}
+
+
+static void jsdoc_text_stream_char_class_init (JSDOCTextStreamCharClass * klass) {
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ jsdoc_text_stream_char_parent_class = g_type_class_peek_parent (klass);
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_text_stream_char_finalize;
+#line 120 "TextStream.c"
+}
+
+
+static void jsdoc_text_stream_char_instance_init (JSDOCTextStreamChar * self) {
+}
+
+
+static void jsdoc_text_stream_char_finalize (GObject * obj) {
+ JSDOCTextStreamChar * self;
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TEXT_STREAM_CHAR, JSDOCTextStreamChar);
+#line 10 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ G_OBJECT_CLASS (jsdoc_text_stream_char_parent_class)->finalize (obj);
+#line 134 "TextStream.c"
+}
+
+
+GType jsdoc_text_stream_char_get_type (void) {
+ static volatile gsize jsdoc_text_stream_char_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_text_stream_char_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTextStreamCharClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_text_stream_char_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTextStreamChar), 0, (GInstanceInitFunc) jsdoc_text_stream_char_instance_init, NULL };
+ GType jsdoc_text_stream_char_type_id;
+ jsdoc_text_stream_char_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTextStreamChar", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_text_stream_char_type_id__volatile, jsdoc_text_stream_char_type_id);
+ }
+ return jsdoc_text_stream_char_type_id__volatile;
+}
+
+
+JSDOCTextStream* jsdoc_text_stream_construct (GType object_type, const gchar* text) {
+ JSDOCTextStream * self = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (text != NULL, NULL);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self = (JSDOCTextStream*) g_object_new (object_type, NULL);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = text;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _g_free0 (self->priv->text);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv->text = _tmp1_;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = text;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = strlen (_tmp2_);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = _tmp3_;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv->length = _tmp4_;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv->cursor = 0;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return self;
+#line 181 "TextStream.c"
+}
+
+
+JSDOCTextStream* jsdoc_text_stream_new (const gchar* text) {
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return jsdoc_text_stream_construct (JSDOC_TYPE_TEXT_STREAM, text);
+#line 188 "TextStream.c"
+}
+
+
+static gunichar string_get_char (const gchar* self, glong index) {
+ gunichar result = 0U;
+ glong _tmp0_;
+ gunichar _tmp1_;
+#line 1140 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, 0U);
+#line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = g_utf8_get_char (((gchar*) self) + _tmp0_);
+#line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1141 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 206 "TextStream.c"
+}
+
+
+static gchar* g_unichar_to_string (gunichar self) {
+ gchar* result = NULL;
+ gchar* str = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 949 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_new0 (gchar, 7);
+#line 949 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ str = (gchar*) _tmp0_;
+#line 950 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = str;
+#line 950 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_unichar_to_utf8 (self, _tmp1_);
+#line 951 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = str;
+#line 951 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 227 "TextStream.c"
+}
+
+
+gchar* jsdoc_text_stream_lookS (JSDOCTextStream* self, gint n) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_;
+ gint _tmp2_;
+ const gchar* _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ gunichar _tmp10_;
+ gchar* _tmp11_;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = self->priv->cursor;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = n;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if ((_tmp1_ + _tmp2_) < 0) {
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = TRUE;
+#line 251 "TextStream.c"
+ } else {
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = self->priv->cursor;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = n;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp5_ = self->priv->length;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = (_tmp3_ + _tmp4_) >= _tmp5_;
+#line 264 "TextStream.c"
+ }
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if (_tmp0_) {
+#line 268 "TextStream.c"
+ gchar* _tmp6_;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp6_ = g_strdup ("");
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp6_;
+#line 39 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 276 "TextStream.c"
+ }
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp7_ = self->priv->text;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp8_ = self->priv->cursor;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp9_ = n;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp10_ = string_get_char (_tmp7_, (glong) (_tmp8_ + _tmp9_));
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp11_ = g_unichar_to_string (_tmp10_);
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp11_;
+#line 41 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 292 "TextStream.c"
+}
+
+
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 310 "TextStream.c"
+}
+
+
+gchar jsdoc_text_stream_lookC (JSDOCTextStream* self, gint n) {
+ gchar result = '\0';
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_;
+ gint _tmp2_;
+ const gchar* _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ gchar _tmp9_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = self->priv->cursor;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = n;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if ((_tmp1_ + _tmp2_) < 0) {
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = TRUE;
+#line 333 "TextStream.c"
+ } else {
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = self->priv->cursor;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = n;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp5_ = self->priv->length;
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = (_tmp3_ + _tmp4_) >= _tmp5_;
+#line 346 "TextStream.c"
+ }
+#line 46 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if (_tmp0_) {
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = '\0';
+#line 47 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 354 "TextStream.c"
+ }
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp6_ = self->priv->text;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp7_ = self->priv->cursor;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp8_ = n;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp9_ = string_get (_tmp6_, (glong) (_tmp7_ + _tmp8_));
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp9_;
+#line 49 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 368 "TextStream.c"
+}
+
+
+gboolean jsdoc_text_stream_lookEOF (JSDOCTextStream* self, gint n) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = self->priv->cursor;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = n;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if ((_tmp1_ + _tmp2_) < 0) {
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = TRUE;
+#line 387 "TextStream.c"
+ } else {
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = self->priv->cursor;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = n;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp5_ = self->priv->length;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = (_tmp3_ + _tmp4_) >= _tmp5_;
+#line 400 "TextStream.c"
+ }
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if (_tmp0_) {
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = TRUE;
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 408 "TextStream.c"
+ }
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = FALSE;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 414 "TextStream.c"
+}
+
+
+/**
+ * @param n - number of characters to return..
+ */
+gchar* jsdoc_text_stream_nextS (JSDOCTextStream* self, gint n) {
+ gchar* result = NULL;
+ gint _tmp0_;
+ gchar* pulled = NULL;
+ gchar* _tmp2_;
+ gint i = 0;
+ gint _tmp18_;
+ const gchar* _tmp19_;
+ gint _tmp20_;
+ gint _tmp21_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = n;
+#line 67 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if (_tmp0_ < 1) {
+#line 437 "TextStream.c"
+ gchar* _tmp1_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = g_strdup ("");
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp1_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 445 "TextStream.c"
+ }
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = g_strdup ("");
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ pulled = _tmp2_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ i = 0;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ while (TRUE) {
+#line 455 "TextStream.c"
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = i;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = n;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if (!(_tmp3_ < _tmp4_)) {
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ break;
+#line 469 "TextStream.c"
+ }
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp5_ = self->priv->cursor;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp6_ = i;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp7_ = self->priv->length;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if ((_tmp5_ + _tmp6_) < _tmp7_) {
+#line 479 "TextStream.c"
+ gchar* add = NULL;
+ const gchar* _tmp8_;
+ gint _tmp9_;
+ gint _tmp10_;
+ gunichar _tmp11_;
+ gchar* _tmp12_;
+ const gchar* _tmp13_;
+ const gchar* _tmp14_;
+ gchar* _tmp15_;
+ gint _tmp16_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp8_ = self->priv->text;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp9_ = self->priv->cursor;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp10_ = i;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp11_ = string_get_char (_tmp8_, (glong) (_tmp9_ + _tmp10_));
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp12_ = g_unichar_to_string (_tmp11_);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ add = _tmp12_;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp13_ = pulled;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp14_ = add;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp15_ = g_strconcat (_tmp13_, _tmp14_, NULL);
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _g_free0 (pulled);
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ pulled = _tmp15_;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp16_ = i;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ i = _tmp16_ + 1;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _g_free0 (add);
+#line 518 "TextStream.c"
+ } else {
+ gchar* _tmp17_;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp17_ = g_strdup ("");
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp17_;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _g_free0 (pulled);
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 529 "TextStream.c"
+ }
+ }
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp18_ = self->priv->cursor;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp19_ = pulled;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp20_ = strlen (_tmp19_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp21_ = _tmp20_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv->cursor = _tmp18_ + _tmp21_;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = pulled;
+#line 85 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 546 "TextStream.c"
+}
+
+
+gchar jsdoc_text_stream_nextC (JSDOCTextStream* self) {
+ gchar result = '\0';
+ gint _tmp0_;
+ gint _tmp1_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp0_ = self->priv->cursor;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp1_ = self->priv->length;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ if ((_tmp0_ + 1) < _tmp1_) {
+#line 562 "TextStream.c"
+ const gchar* _tmp2_;
+ gint _tmp3_;
+ gchar _tmp4_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp2_ = self->priv->text;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp3_ = self->priv->cursor;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv->cursor = _tmp3_ + 1;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _tmp4_ = string_get (_tmp2_, (glong) _tmp3_);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = _tmp4_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 578 "TextStream.c"
+ }
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ result = '\0';
+#line 95 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ return result;
+#line 584 "TextStream.c"
+}
+
+
+static void jsdoc_text_stream_class_init (JSDOCTextStreamClass * klass) {
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ jsdoc_text_stream_parent_class = g_type_class_peek_parent (klass);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCTextStreamPrivate));
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_text_stream_finalize;
+#line 595 "TextStream.c"
+}
+
+
+static void jsdoc_text_stream_instance_init (JSDOCTextStream * self) {
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self->priv = JSDOC_TEXT_STREAM_GET_PRIVATE (self);
+#line 602 "TextStream.c"
+}
+
+
+static void jsdoc_text_stream_finalize (GObject * obj) {
+ JSDOCTextStream * self;
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream);
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ _g_free0 (self->priv->text);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TextStream.vala"
+ G_OBJECT_CLASS (jsdoc_text_stream_parent_class)->finalize (obj);
+#line 614 "TextStream.c"
+}
+
+
+GType jsdoc_text_stream_get_type (void) {
+ static volatile gsize jsdoc_text_stream_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_text_stream_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTextStreamClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_text_stream_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTextStream), 0, (GInstanceInitFunc) jsdoc_text_stream_instance_init, NULL };
+ GType jsdoc_text_stream_type_id;
+ jsdoc_text_stream_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTextStream", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_text_stream_type_id__volatile, jsdoc_text_stream_type_id);
+ }
+ return jsdoc_text_stream_type_id__volatile;
+}
+
+
+
--- /dev/null
+//<script type="text/javscript">
+
+
+
+/**
+ @constructor
+*/
+namespace JSDOC {
+
+ public class TextStreamChar : Object {
+ public char c;
+ public bool eof;
+ public TextStreamChar(char val, bool eof=false) {
+ this.c = val;
+ this.eof = eof;
+ }
+ }
+
+ public class TextStream : Object {
+
+ string text;
+ int cursor;
+ int length;
+
+ public TextStream (string text = "")
+ {
+
+
+ this.text = text;
+ //stdout.printf ("%s", text);
+ this.length = text.length; // text.char_count(); //text.length;
+ this.cursor = 0;
+ }
+
+ public string lookS(int n = 0)
+ {
+
+ if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+ return "";
+ }
+ return this.text.get_char(this.cursor+n).to_string(); // this.text[this.cursor+n]; //
+ }
+ public char lookC(int n = 0)
+ {
+
+ if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+ return '\0';
+ }
+ return this.text[this.cursor+n];
+ }
+
+
+ public bool lookEOF(int n = 0)
+ {
+ if (this.cursor+n < 0 || this.cursor+n >= this.length) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * @param n - number of characters to return..
+ */
+ public string nextS(int n = 1)
+ {
+
+ if (n < 1) { //?? eof???
+ return "";
+ }
+
+ string pulled = "";
+ var i = 0;
+ while (i < n) {
+ if (this.cursor+i < this.length) {
+ var add = this.text.get_char(this.cursor+i).to_string();
+ pulled += add;
+ i += 1;// add.length;
+ } else {
+ return "";
+
+ }
+ }
+
+ this.cursor += pulled.length; // i?
+ return pulled;
+
+ }
+
+ public char nextC()
+ {
+
+ if (this.cursor+1 < this.length) {
+ return this.text[this.cursor++];;
+ }
+ return '\0';
+
+ }
+
+
+ }
+}
\ No newline at end of file
--- /dev/null
+/* Token.c generated by valac 0.36.6, the Vala compiler
+ * generated from Token.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+typedef struct _JSDOCTokenKeyMapPrivate JSDOCTokenKeyMapPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCTokenKeyMap {
+ GObject parent_instance;
+ JSDOCTokenKeyMapPrivate * priv;
+ JSDOCToken* key;
+ GeeArrayList* vals;
+};
+
+struct _JSDOCTokenKeyMapClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+
+extern gint jsdoc_Token_id;
+gint jsdoc_Token_id = 1;
+static gpointer jsdoc_token_key_map_parent_class = NULL;
+static gpointer jsdoc_token_parent_class = NULL;
+extern gchar* jsdoc_doc_parser_currentSourceFile;
+
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_TOKEN_KEY_MAP_DUMMY_PROPERTY
+};
+JSDOCTokenKeyMap* jsdoc_token_key_map_new (void);
+JSDOCTokenKeyMap* jsdoc_token_key_map_construct (GType object_type);
+JSDOCToken* jsdoc_token_new (const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+JSDOCToken* jsdoc_token_construct (GType object_type, const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+static void jsdoc_token_key_map_finalize (GObject * obj);
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_TOKEN_DUMMY_PROPERTY
+};
+gchar* jsdoc_token_asString (JSDOCToken* self);
+const gchar* jsdoc_token_type_to_string (JSDOCTokenType self);
+const gchar* jsdoc_token_name_to_string (JSDOCTokenName self);
+void jsdoc_token_dump (JSDOCToken* self, const gchar* indent);
+gchar* jsdoc_token_toRaw (JSDOCToken* self, gint lvl);
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+static void jsdoc_token_finalize (GObject * obj);
+
+
+GType jsdoc_token_type_get_type (void) {
+ static volatile gsize jsdoc_token_type_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_type_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_TOKEN_TYPE_TOKN, "JSDOC_TOKEN_TYPE_TOKN", "tokn"}, {JSDOC_TOKEN_TYPE_KEYW, "JSDOC_TOKEN_TYPE_KEYW", "keyw"}, {JSDOC_TOKEN_TYPE_NAME, "JSDOC_TOKEN_TYPE_NAME", "name"}, {JSDOC_TOKEN_TYPE_COMM, "JSDOC_TOKEN_TYPE_COMM", "comm"}, {JSDOC_TOKEN_TYPE_PUNC, "JSDOC_TOKEN_TYPE_PUNC", "punc"}, {JSDOC_TOKEN_TYPE_WHIT, "JSDOC_TOKEN_TYPE_WHIT", "whit"}, {JSDOC_TOKEN_TYPE_STRN, "JSDOC_TOKEN_TYPE_STRN", "strn"}, {JSDOC_TOKEN_TYPE_NUMB, "JSDOC_TOKEN_TYPE_NUMB", "numb"}, {JSDOC_TOKEN_TYPE_REGX, "JSDOC_TOKEN_TYPE_REGX", "regx"}, {JSDOC_TOKEN_TYPE_VOID, "JSDOC_TOKEN_TYPE_VOID", "void"}, {0, NULL, NULL}};
+ GType jsdoc_token_type_type_id;
+ jsdoc_token_type_type_id = g_enum_register_static ("JSDOCTokenType", values);
+ g_once_init_leave (&jsdoc_token_type_type_id__volatile, jsdoc_token_type_type_id);
+ }
+ return jsdoc_token_type_type_id__volatile;
+}
+
+
+GType jsdoc_token_name_get_type (void) {
+ static volatile gsize jsdoc_token_name_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_name_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_TOKEN_NAME_UNKNOWN_TOKEN, "JSDOC_TOKEN_NAME_UNKNOWN_TOKEN", "unknown-token"}, {JSDOC_TOKEN_NAME_BREAK, "JSDOC_TOKEN_NAME_BREAK", "break"}, {JSDOC_TOKEN_NAME_CASE, "JSDOC_TOKEN_NAME_CASE", "case"}, {JSDOC_TOKEN_NAME_CATCH, "JSDOC_TOKEN_NAME_CATCH", "catch"}, {JSDOC_TOKEN_NAME_CONST, "JSDOC_TOKEN_NAME_CONST", "const"}, {JSDOC_TOKEN_NAME_CONTINUE, "JSDOC_TOKEN_NAME_CONTINUE", "continue"}, {JSDOC_TOKEN_NAME_DEFAULT, "JSDOC_TOKEN_NAME_DEFAULT", "default"}, {JSDOC_TOKEN_NAME_DELETE, "JSDOC_TOKEN_NAME_DELETE", "delete"}, {JSDOC_TOKEN_NAME_DO, "JSDOC_TOKEN_NAME_DO", "do"}, {JSDOC_TOKEN_NAME_ELSE, "JSDOC_TOKEN_NAME_ELSE", "else"}, {JSDOC_TOKEN_NAME_FALSE, "JSDOC_TOKEN_NAME_FALSE", "false"}, {JSDOC_TOKEN_NAME_FINALLY, "JSDOC_TOKEN_NAME_FINALLY", "finally"}, {JSDOC_TOKEN_NAME_FOR, "JSDOC_TOKEN_NAME_FOR", "for"}, {JSDOC_TOKEN_NAME_FUNCTION, "JSDOC_TOKEN_NAME_FUNCTION", "function"}, {JSDOC_TOKEN_NAME_IF, "JSDOC_TOKEN_NAME_IF", "if"}, {JSDOC_TOKEN_NAME_IN, "JSDOC_TOKEN_NAME_IN", "in"}, {JSDOC_TOKEN_NAME_INSTANCEOF, "JSDOC_TOKEN_NAME_INSTANCEOF", "instanceof"}, {JSDOC_TOKEN_NAME_NEW, "JSDOC_TOKEN_NAME_NEW", "new"}, {JSDOC_TOKEN_NAME_NULL, "JSDOC_TOKEN_NAME_NULL", "null"}, {JSDOC_TOKEN_NAME_RETURN, "JSDOC_TOKEN_NAME_RETURN", "return"}, {JSDOC_TOKEN_NAME_SWITCH, "JSDOC_TOKEN_NAME_SWITCH", "switch"}, {JSDOC_TOKEN_NAME_THIS, "JSDOC_TOKEN_NAME_THIS", "this"}, {JSDOC_TOKEN_NAME_THROW, "JSDOC_TOKEN_NAME_THROW", "throw"}, {JSDOC_TOKEN_NAME_TRUE, "JSDOC_TOKEN_NAME_TRUE", "true"}, {JSDOC_TOKEN_NAME_TRY, "JSDOC_TOKEN_NAME_TRY", "try"}, {JSDOC_TOKEN_NAME_TYPEOF, "JSDOC_TOKEN_NAME_TYPEOF", "typeof"}, {JSDOC_TOKEN_NAME_VOID, "JSDOC_TOKEN_NAME_VOID", "void"}, {JSDOC_TOKEN_NAME_WHILE, "JSDOC_TOKEN_NAME_WHILE", "while"}, {JSDOC_TOKEN_NAME_WITH, "JSDOC_TOKEN_NAME_WITH", "with"}, {JSDOC_TOKEN_NAME_VAR, "JSDOC_TOKEN_NAME_VAR", "var"}, {JSDOC_TOKEN_NAME_EVAL, "JSDOC_TOKEN_NAME_EVAL", "eval"}, {JSDOC_TOKEN_NAME_NAME, "JSDOC_TOKEN_NAME_NAME", "name"}, {JSDOC_TOKEN_NAME_MULTI_LINE_COMM, "JSDOC_TOKEN_NAME_MULTI_LINE_COMM", "multi-line-comm"}, {JSDOC_TOKEN_NAME_JSDOC, "JSDOC_TOKEN_NAME_JSDOC", "jsdoc"}, {JSDOC_TOKEN_NAME_SINGLE_LINE_COMM, "JSDOC_TOKEN_NAME_SINGLE_LINE_COMM", "single-line-comm"}, {JSDOC_TOKEN_NAME_SEMICOLON, "JSDOC_TOKEN_NAME_SEMICOLON", "semicolon"}, {JSDOC_TOKEN_NAME_COMMA, "JSDOC_TOKEN_NAME_COMMA", "comma"}, {JSDOC_TOKEN_NAME_HOOK, "JSDOC_TOKEN_NAME_HOOK", "hook"}, {JSDOC_TOKEN_NAME_COLON, "JSDOC_TOKEN_NAME_COLON", "colon"}, {JSDOC_TOKEN_NAME_OR, "JSDOC_TOKEN_NAME_OR", "or"}, {JSDOC_TOKEN_NAME_AND, "JSDOC_TOKEN_NAME_AND", "and"}, {JSDOC_TOKEN_NAME_BITWISE_OR, "JSDOC_TOKEN_NAME_BITWISE_OR", "bitwise-or"}, {JSDOC_TOKEN_NAME_BITWISE_XOR, "JSDOC_TOKEN_NAME_BITWISE_XOR", "bitwise-xor"}, {JSDOC_TOKEN_NAME_BITWISE_AND, "JSDOC_TOKEN_NAME_BITWISE_AND", "bitwise-and"}, {JSDOC_TOKEN_NAME_STRICT_EQ, "JSDOC_TOKEN_NAME_STRICT_EQ", "strict-eq"}, {JSDOC_TOKEN_NAME_EQ, "JSDOC_TOKEN_NAME_EQ", "eq"}, {JSDOC_TOKEN_NAME_ASSIGN, "JSDOC_TOKEN_NAME_ASSIGN", "assign"}, {JSDOC_TOKEN_NAME_STRICT_NE, "JSDOC_TOKEN_NAME_STRICT_NE", "strict-ne"}, {JSDOC_TOKEN_NAME_NE, "JSDOC_TOKEN_NAME_NE", "ne"}, {JSDOC_TOKEN_NAME_LSH, "JSDOC_TOKEN_NAME_LSH", "lsh"}, {JSDOC_TOKEN_NAME_LE, "JSDOC_TOKEN_NAME_LE", "le"}, {JSDOC_TOKEN_NAME_LT, "JSDOC_TOKEN_NAME_LT", "lt"}, {JSDOC_TOKEN_NAME_URSH, "JSDOC_TOKEN_NAME_URSH", "ursh"}, {JSDOC_TOKEN_NAME_RSH, "JSDOC_TOKEN_NAME_RSH", "rsh"}, {JSDOC_TOKEN_NAME_GE, "JSDOC_TOKEN_NAME_GE", "ge"}, {JSDOC_TOKEN_NAME_GT, "JSDOC_TOKEN_NAME_GT", "gt"}, {JSDOC_TOKEN_NAME_INCREMENT, "JSDOC_TOKEN_NAME_INCREMENT", "increment"}, {JSDOC_TOKEN_NAME_DECREMENT, "JSDOC_TOKEN_NAME_DECREMENT", "decrement"}, {JSDOC_TOKEN_NAME_PLUS, "JSDOC_TOKEN_NAME_PLUS", "plus"}, {JSDOC_TOKEN_NAME_MINUS, "JSDOC_TOKEN_NAME_MINUS", "minus"}, {JSDOC_TOKEN_NAME_MUL, "JSDOC_TOKEN_NAME_MUL", "mul"}, {JSDOC_TOKEN_NAME_DIV, "JSDOC_TOKEN_NAME_DIV", "div"}, {JSDOC_TOKEN_NAME_MOD, "JSDOC_TOKEN_NAME_MOD", "mod"}, {JSDOC_TOKEN_NAME_NOT, "JSDOC_TOKEN_NAME_NOT", "not"}, {JSDOC_TOKEN_NAME_BITWISE_NOT, "JSDOC_TOKEN_NAME_BITWISE_NOT", "bitwise-not"}, {JSDOC_TOKEN_NAME_DOT, "JSDOC_TOKEN_NAME_DOT", "dot"}, {JSDOC_TOKEN_NAME_LEFT_BRACE, "JSDOC_TOKEN_NAME_LEFT_BRACE", "left-brace"}, {JSDOC_TOKEN_NAME_RIGHT_BRACE, "JSDOC_TOKEN_NAME_RIGHT_BRACE", "right-brace"}, {JSDOC_TOKEN_NAME_LEFT_CURLY, "JSDOC_TOKEN_NAME_LEFT_CURLY", "left-curly"}, {JSDOC_TOKEN_NAME_RIGHT_CURLY, "JSDOC_TOKEN_NAME_RIGHT_CURLY", "right-curly"}, {JSDOC_TOKEN_NAME_LEFT_PAREN, "JSDOC_TOKEN_NAME_LEFT_PAREN", "left-paren"}, {JSDOC_TOKEN_NAME_RIGHT_PAREN, "JSDOC_TOKEN_NAME_RIGHT_PAREN", "right-paren"}, {JSDOC_TOKEN_NAME_SPACE, "JSDOC_TOKEN_NAME_SPACE", "space"}, {JSDOC_TOKEN_NAME_NEWLINE, "JSDOC_TOKEN_NAME_NEWLINE", "newline"}, {JSDOC_TOKEN_NAME_DOUBLE_QUOTE, "JSDOC_TOKEN_NAME_DOUBLE_QUOTE", "double-quote"}, {JSDOC_TOKEN_NAME_SINGLE_QUOTE, "JSDOC_TOKEN_NAME_SINGLE_QUOTE", "single-quote"}, {JSDOC_TOKEN_NAME_OCTAL, "JSDOC_TOKEN_NAME_OCTAL", "octal"}, {JSDOC_TOKEN_NAME_DECIMAL, "JSDOC_TOKEN_NAME_DECIMAL", "decimal"}, {JSDOC_TOKEN_NAME_HEX_DEC, "JSDOC_TOKEN_NAME_HEX_DEC", "hex-dec"}, {JSDOC_TOKEN_NAME_REGX, "JSDOC_TOKEN_NAME_REGX", "regx"}, {JSDOC_TOKEN_NAME_START_OF_STREAM, "JSDOC_TOKEN_NAME_START_OF_STREAM", "start-of-stream"}, {JSDOC_TOKEN_NAME_END_OF_STREAM, "JSDOC_TOKEN_NAME_END_OF_STREAM", "end-of-stream"}, {JSDOC_TOKEN_NAME_UNKNOWN, "JSDOC_TOKEN_NAME_UNKNOWN", "unknown"}, {0, NULL, NULL}};
+ GType jsdoc_token_name_type_id;
+ jsdoc_token_name_type_id = g_enum_register_static ("JSDOCTokenName", values);
+ g_once_init_leave (&jsdoc_token_name_type_id__volatile, jsdoc_token_name_type_id);
+ }
+ return jsdoc_token_name_type_id__volatile;
+}
+
+
+JSDOCTokenKeyMap* jsdoc_token_key_map_construct (GType object_type) {
+ JSDOCTokenKeyMap * self = NULL;
+ JSDOCToken* _tmp0_;
+ GeeArrayList* _tmp1_;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self = (JSDOCTokenKeyMap*) g_object_new (object_type, NULL);
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = jsdoc_token_new ("", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_VOID, -1);
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->key);
+#line 145 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->key = _tmp0_;
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->vals);
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->vals = _tmp1_;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return self;
+#line 258 "Token.c"
+}
+
+
+JSDOCTokenKeyMap* jsdoc_token_key_map_new (void) {
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return jsdoc_token_key_map_construct (JSDOC_TYPE_TOKEN_KEY_MAP);
+#line 265 "Token.c"
+}
+
+
+static void jsdoc_token_key_map_class_init (JSDOCTokenKeyMapClass * klass) {
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ jsdoc_token_key_map_parent_class = g_type_class_peek_parent (klass);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_token_key_map_finalize;
+#line 274 "Token.c"
+}
+
+
+static void jsdoc_token_key_map_instance_init (JSDOCTokenKeyMap * self) {
+}
+
+
+static void jsdoc_token_key_map_finalize (GObject * obj) {
+ JSDOCTokenKeyMap * self;
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap);
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->key);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->vals);
+#line 139 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ G_OBJECT_CLASS (jsdoc_token_key_map_parent_class)->finalize (obj);
+#line 292 "Token.c"
+}
+
+
+GType jsdoc_token_key_map_get_type (void) {
+ static volatile gsize jsdoc_token_key_map_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_key_map_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTokenKeyMapClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_token_key_map_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTokenKeyMap), 0, (GInstanceInitFunc) jsdoc_token_key_map_instance_init, NULL };
+ GType jsdoc_token_key_map_type_id;
+ jsdoc_token_key_map_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTokenKeyMap", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_token_key_map_type_id__volatile, jsdoc_token_key_map_type_id);
+ }
+ return jsdoc_token_key_map_type_id__volatile;
+}
+
+
+JSDOCToken* jsdoc_token_construct (GType object_type, const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line) {
+ JSDOCToken * self = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ JSDOCTokenType _tmp2_;
+ JSDOCTokenName _tmp3_;
+ gint _tmp4_;
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+ gint _tmp7_;
+ gboolean _tmp8_ = FALSE;
+ gboolean _tmp9_ = FALSE;
+ JSDOCTokenName _tmp10_;
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_val_if_fail (data != NULL, NULL);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self = (JSDOCToken*) g_object_new (object_type, NULL);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = data;
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->data);
+#line 178 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->data = _tmp1_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp2_ = type;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->type = _tmp2_;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp3_ = name;
+#line 180 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->name = _tmp3_;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp4_ = line;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->line = _tmp4_;
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp5_ = g_strdup ("");
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->prefix);
+#line 182 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->prefix = _tmp5_;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp6_ = g_strdup ("");
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->outData);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->outData = _tmp6_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->identifier);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->identifier = NULL;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp7_ = jsdoc_Token_id;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ jsdoc_Token_id = _tmp7_ + 1;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->id = _tmp7_;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->items);
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->items = NULL;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->props);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->props = NULL;
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->keyseq);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->keyseq = NULL;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp10_ = name;
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp10_ == JSDOC_TOKEN_NAME_LEFT_BRACE) {
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp9_ = TRUE;
+#line 385 "Token.c"
+ } else {
+ JSDOCTokenName _tmp11_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp11_ = name;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp9_ = _tmp11_ == JSDOC_TOKEN_NAME_LEFT_CURLY;
+#line 392 "Token.c"
+ }
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp9_) {
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = TRUE;
+#line 398 "Token.c"
+ } else {
+ JSDOCTokenName _tmp12_;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp12_ = name;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = _tmp12_ == JSDOC_TOKEN_NAME_LEFT_PAREN;
+#line 405 "Token.c"
+ }
+#line 191 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp8_) {
+#line 409 "Token.c"
+ GeeArrayList* _tmp13_;
+ GeeHashMap* _tmp14_;
+ GeeArrayList* _tmp15_;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp13_ = gee_array_list_new (GEE_TYPE_ARRAY_LIST, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->items);
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->items = _tmp13_;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp14_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_TOKEN_KEY_MAP, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->props);
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->props = _tmp14_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp15_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->keyseq);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self->keyseq = _tmp15_;
+#line 431 "Token.c"
+ }
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return self;
+#line 435 "Token.c"
+}
+
+
+JSDOCToken* jsdoc_token_new (const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line) {
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return jsdoc_token_construct (JSDOC_TYPE_TOKEN, data, type, name, line);
+#line 442 "Token.c"
+}
+
+
+gchar* jsdoc_token_asString (JSDOCToken* self) {
+ gchar* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gboolean _tmp1_ = FALSE;
+ JSDOCTokenName _tmp2_;
+ const gchar* _tmp34_ = NULL;
+ const gchar* _tmp35_;
+ const gchar* _tmp37_ = NULL;
+ const gchar* _tmp38_;
+ gint _tmp40_;
+ gint _tmp41_;
+ JSDOCTokenType _tmp42_;
+ GEnumValue* _tmp43_;
+ const gchar* _tmp44_;
+ JSDOCTokenName _tmp45_;
+ GEnumValue* _tmp46_;
+ gchar* _tmp47_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp2_ = self->name;
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp2_ == JSDOC_TOKEN_NAME_LEFT_BRACE) {
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = TRUE;
+#line 471 "Token.c"
+ } else {
+ JSDOCTokenName _tmp3_;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp3_ = self->name;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = _tmp3_ == JSDOC_TOKEN_NAME_LEFT_CURLY;
+#line 478 "Token.c"
+ }
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp1_) {
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = TRUE;
+#line 484 "Token.c"
+ } else {
+ JSDOCTokenName _tmp4_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp4_ = self->name;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = _tmp4_ == JSDOC_TOKEN_NAME_LEFT_PAREN;
+#line 491 "Token.c"
+ }
+#line 204 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp0_) {
+#line 495 "Token.c"
+ const gchar* _tmp5_ = NULL;
+ const gchar* _tmp6_;
+ gint _tmp8_ = 0;
+ JSDOCTokenName _tmp9_;
+ gint _tmp13_ = 0;
+ JSDOCTokenName _tmp14_;
+ gint _tmp18_ = 0;
+ JSDOCTokenName _tmp19_;
+ const gchar* _tmp23_ = NULL;
+ const gchar* _tmp24_;
+ gint _tmp26_;
+ gint _tmp27_;
+ JSDOCTokenType _tmp28_;
+ GEnumValue* _tmp29_;
+ const gchar* _tmp30_;
+ JSDOCTokenName _tmp31_;
+ GEnumValue* _tmp32_;
+ gchar* _tmp33_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp6_ = jsdoc_doc_parser_currentSourceFile;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp6_ == NULL) {
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp5_ = "??";
+#line 520 "Token.c"
+ } else {
+ const gchar* _tmp7_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp7_ = jsdoc_doc_parser_currentSourceFile;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp5_ = _tmp7_;
+#line 527 "Token.c"
+ }
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp9_ = self->name;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp9_ == JSDOC_TOKEN_NAME_LEFT_BRACE) {
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = -1;
+#line 535 "Token.c"
+ } else {
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gint _tmp12_;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp10_ = self->items;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp11_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp10_);
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp12_ = _tmp11_;
+#line 213 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = _tmp12_;
+#line 548 "Token.c"
+ }
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp14_ = self->name;
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp14_ == JSDOC_TOKEN_NAME_LEFT_BRACE) {
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp13_ = -1;
+#line 556 "Token.c"
+ } else {
+ GeeHashMap* _tmp15_;
+ gint _tmp16_;
+ gint _tmp17_;
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp15_ = self->props;
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp16_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp15_);
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp17_ = _tmp16_;
+#line 214 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp13_ = _tmp17_;
+#line 569 "Token.c"
+ }
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp19_ = self->name;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp19_ == JSDOC_TOKEN_NAME_LEFT_BRACE) {
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp18_ = -1;
+#line 577 "Token.c"
+ } else {
+ GeeArrayList* _tmp20_;
+ gint _tmp21_;
+ gint _tmp22_;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp20_ = self->keyseq;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp21_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp20_);
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp22_ = _tmp21_;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp18_ = _tmp22_;
+#line 590 "Token.c"
+ }
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp24_ = self->outData;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp24_ == NULL) {
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp23_ = "";
+#line 598 "Token.c"
+ } else {
+ const gchar* _tmp25_;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp25_ = self->outData;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp23_ = _tmp25_;
+#line 605 "Token.c"
+ }
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp26_ = self->line;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp27_ = self->id;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp28_ = self->type;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp29_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_TYPE), _tmp28_);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp30_ = self->data;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp31_ = self->name;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp32_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp31_);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp33_ = g_strdup_printf ("line: %s, %d, id %d, type %s, IS=%d,PS=%d,KS=%d, data : %s, name %s, " \
+", outData: %s", _tmp5_, _tmp26_, _tmp27_, (_tmp29_ != NULL) ? _tmp29_->value_name : NULL, _tmp8_, _tmp13_, _tmp18_, _tmp30_, (_tmp32_ != NULL) ? _tmp32_->value_name : NULL, _tmp23_);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ result = _tmp33_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return result;
+#line 627 "Token.c"
+ }
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp35_ = jsdoc_doc_parser_currentSourceFile;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp35_ == NULL) {
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp34_ = "??";
+#line 635 "Token.c"
+ } else {
+ const gchar* _tmp36_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp36_ = jsdoc_doc_parser_currentSourceFile;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp34_ = _tmp36_;
+#line 642 "Token.c"
+ }
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp38_ = self->outData;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp38_ == NULL) {
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp37_ = "";
+#line 650 "Token.c"
+ } else {
+ const gchar* _tmp39_;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp39_ = self->outData;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp37_ = _tmp39_;
+#line 657 "Token.c"
+ }
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp40_ = self->line;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp41_ = self->id;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp42_ = self->type;
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp43_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_TYPE), _tmp42_);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp44_ = self->data;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp45_ = self->name;
+#line 233 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp46_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp45_);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp47_ = g_strdup_printf ("line:%s:%d, id %d, type %s, data : %s, name %s, , outData: %s", _tmp34_, _tmp40_, _tmp41_, (_tmp43_ != NULL) ? _tmp43_->value_name : NULL, _tmp44_, (_tmp46_ != NULL) ? _tmp46_->value_name : NULL, _tmp37_);
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ result = _tmp47_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return result;
+#line 679 "Token.c"
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 686 "Token.c"
+}
+
+
+void jsdoc_token_dump (JSDOCToken* self, const gchar* indent) {
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ gchar* _tmp2_;
+ gboolean _tmp3_ = FALSE;
+ GeeArrayList* _tmp4_;
+ gboolean _tmp36_ = FALSE;
+ GeeHashMap* _tmp37_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_if_fail (self != NULL);
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_if_fail (indent != NULL);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = indent;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = jsdoc_token_asString (self);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp2_ = _tmp1_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_print ("%s%s\n", _tmp0_, _tmp2_);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (_tmp2_);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp4_ = self->items;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp4_ != NULL) {
+#line 716 "Token.c"
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp5_ = self->items;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp7_ = _tmp6_;
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp3_ = _tmp7_ > 0;
+#line 728 "Token.c"
+ } else {
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp3_ = FALSE;
+#line 732 "Token.c"
+ }
+#line 243 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp3_) {
+#line 736 "Token.c"
+ {
+ gint i = 0;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ i = 0;
+#line 741 "Token.c"
+ {
+ gboolean _tmp8_ = FALSE;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = TRUE;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ while (TRUE) {
+#line 748 "Token.c"
+ gint _tmp10_;
+ GeeArrayList* _tmp11_;
+ gint _tmp12_;
+ gint _tmp13_;
+ const gchar* _tmp14_;
+ gint _tmp15_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!_tmp8_) {
+#line 757 "Token.c"
+ gint _tmp9_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp9_ = i;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ i = _tmp9_ + 1;
+#line 763 "Token.c"
+ }
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = FALSE;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp10_ = i;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp11_ = self->items;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp12_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp11_);
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp13_ = _tmp12_;
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!(_tmp10_ < _tmp13_)) {
+#line 245 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ break;
+#line 779 "Token.c"
+ }
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp14_ = indent;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp15_ = i;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_print ("%s --ITEMS[%d] [ \n", _tmp14_, _tmp15_);
+#line 787 "Token.c"
+ {
+ gint j = 0;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ j = 0;
+#line 792 "Token.c"
+ {
+ gboolean _tmp16_ = FALSE;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp16_ = TRUE;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ while (TRUE) {
+#line 799 "Token.c"
+ gint _tmp18_;
+ GeeArrayList* _tmp19_;
+ gint _tmp20_;
+ gpointer _tmp21_;
+ GeeArrayList* _tmp22_;
+ gint _tmp23_;
+ gint _tmp24_;
+ gboolean _tmp25_;
+ GeeArrayList* _tmp26_;
+ gint _tmp27_;
+ gpointer _tmp28_;
+ GeeArrayList* _tmp29_;
+ gint _tmp30_;
+ gpointer _tmp31_;
+ JSDOCToken* _tmp32_;
+ const gchar* _tmp33_;
+ gchar* _tmp34_;
+ gchar* _tmp35_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!_tmp16_) {
+#line 820 "Token.c"
+ gint _tmp17_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp17_ = j;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ j = _tmp17_ + 1;
+#line 826 "Token.c"
+ }
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp16_ = FALSE;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp18_ = j;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp19_ = self->items;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp20_ = i;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp21_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, _tmp20_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp22_ = (GeeArrayList*) _tmp21_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp23_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp22_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp24_ = _tmp23_;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp25_ = !(_tmp18_ < _tmp24_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_tmp22_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp25_) {
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ break;
+#line 852 "Token.c"
+ }
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp26_ = self->items;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp27_ = i;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp28_ = gee_abstract_list_get ((GeeAbstractList*) _tmp26_, _tmp27_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp29_ = (GeeArrayList*) _tmp28_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp30_ = j;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp31_ = gee_abstract_list_get ((GeeAbstractList*) _tmp29_, _tmp30_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp32_ = (JSDOCToken*) _tmp31_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp33_ = indent;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp34_ = g_strconcat (_tmp33_, " ", NULL);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp35_ = _tmp34_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ jsdoc_token_dump (_tmp32_, _tmp35_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (_tmp35_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_tmp32_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_tmp29_);
+#line 882 "Token.c"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp37_ = self->props;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp37_ != NULL) {
+#line 894 "Token.c"
+ GeeHashMap* _tmp38_;
+ gint _tmp39_;
+ gint _tmp40_;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp38_ = self->props;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp39_ = gee_abstract_map_get_size ((GeeAbstractMap*) _tmp38_);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp40_ = _tmp39_;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp36_ = _tmp40_ > 0;
+#line 906 "Token.c"
+ } else {
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp36_ = FALSE;
+#line 910 "Token.c"
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (_tmp36_) {
+#line 914 "Token.c"
+ GeeMapIterator* m = NULL;
+ GeeHashMap* _tmp41_;
+ GeeMapIterator* _tmp42_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp41_ = self->props;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp42_ = gee_abstract_map_map_iterator ((GeeAbstractMap*) _tmp41_);
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ m = _tmp42_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ while (TRUE) {
+#line 926 "Token.c"
+ GeeMapIterator* _tmp43_;
+ gboolean _tmp44_;
+ const gchar* _tmp45_;
+ GeeMapIterator* _tmp46_;
+ gpointer _tmp47_;
+ gchar* _tmp48_;
+ GeeArrayList* vals = NULL;
+ GeeMapIterator* _tmp49_;
+ gpointer _tmp50_;
+ JSDOCTokenKeyMap* _tmp51_;
+ GeeArrayList* _tmp52_;
+ GeeArrayList* _tmp53_;
+ GeeArrayList* _tmp54_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp43_ = m;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp44_ = gee_map_iterator_next (_tmp43_);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!_tmp44_) {
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ break;
+#line 948 "Token.c"
+ }
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp45_ = indent;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp46_ = m;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp47_ = gee_map_iterator_get_key (_tmp46_);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp48_ = (gchar*) _tmp47_;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_print ("%s --KEY %s :: \n", _tmp45_, _tmp48_);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (_tmp48_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp49_ = m;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp50_ = gee_map_iterator_get_value (_tmp49_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp51_ = (JSDOCTokenKeyMap*) _tmp50_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp52_ = _tmp51_->vals;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp53_ = _g_object_ref0 (_tmp52_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp54_ = _tmp53_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_tmp51_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ vals = _tmp54_;
+#line 978 "Token.c"
+ {
+ gint i = 0;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ i = 0;
+#line 983 "Token.c"
+ {
+ gboolean _tmp55_ = FALSE;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp55_ = TRUE;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ while (TRUE) {
+#line 990 "Token.c"
+ gint _tmp57_;
+ GeeArrayList* _tmp58_;
+ gint _tmp59_;
+ gint _tmp60_;
+ GeeArrayList* _tmp61_;
+ gint _tmp62_;
+ gpointer _tmp63_;
+ JSDOCToken* _tmp64_;
+ const gchar* _tmp65_;
+ gchar* _tmp66_;
+ gchar* _tmp67_;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!_tmp55_) {
+#line 1004 "Token.c"
+ gint _tmp56_;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp56_ = i;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ i = _tmp56_ + 1;
+#line 1010 "Token.c"
+ }
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp55_ = FALSE;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp57_ = i;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp58_ = vals;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp59_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp58_);
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp60_ = _tmp59_;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!(_tmp57_ < _tmp60_)) {
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ break;
+#line 1026 "Token.c"
+ }
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp61_ = vals;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp62_ = i;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp63_ = gee_abstract_list_get ((GeeAbstractList*) _tmp61_, _tmp62_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp64_ = (JSDOCToken*) _tmp63_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp65_ = indent;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp66_ = g_strconcat (_tmp65_, " ", NULL);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp67_ = _tmp66_;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ jsdoc_token_dump (_tmp64_, _tmp67_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (_tmp67_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_tmp64_);
+#line 1048 "Token.c"
+ }
+ }
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (vals);
+#line 1054 "Token.c"
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (m);
+#line 1058 "Token.c"
+ }
+}
+
+
+gchar* jsdoc_token_toRaw (JSDOCToken* self, gint lvl) {
+ gchar* result = NULL;
+ gchar* ret = NULL;
+ const gchar* _tmp0_;
+ gchar* _tmp1_;
+ const gchar* _tmp17_;
+ const gchar* _tmp18_;
+ gchar* _tmp19_;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = self->data;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = g_strdup (_tmp0_);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ ret = _tmp1_;
+#line 1079 "Token.c"
+ {
+ GeeArrayList* _ai_list = NULL;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _ai_size = 0;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _ai_index = 0;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp2_ = self->items;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _ai_list = _tmp3_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp4_ = _ai_list;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp6_ = _tmp5_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _ai_size = _tmp6_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _ai_index = -1;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ while (TRUE) {
+#line 1107 "Token.c"
+ gint _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ GeeArrayList* ai = NULL;
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gpointer _tmp12_;
+ gchar* str = NULL;
+ gchar* _tmp13_;
+ const gchar* _tmp14_;
+ const gchar* _tmp15_;
+ gchar* _tmp16_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp7_ = _ai_index;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _ai_index = _tmp7_ + 1;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp8_ = _ai_index;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp9_ = _ai_size;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ if (!(_tmp8_ < _tmp9_)) {
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ break;
+#line 1132 "Token.c"
+ }
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp10_ = _ai_list;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp11_ = _ai_index;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ ai = (GeeArrayList*) _tmp12_;
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp13_ = g_strdup ("");
+#line 277 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ str = _tmp13_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp14_ = ret;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp15_ = str;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp16_ = g_strconcat (_tmp14_, _tmp15_, NULL);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (ret);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ ret = _tmp16_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (str);
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (ai);
+#line 1160 "Token.c"
+ }
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (_ai_list);
+#line 1164 "Token.c"
+ }
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp17_ = self->prefix;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp18_ = ret;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp19_ = g_strconcat (_tmp17_, _tmp18_, NULL);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ result = _tmp19_;
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (ret);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return result;
+#line 1178 "Token.c"
+}
+
+
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what) {
+ gboolean result = FALSE;
+ JSDOCTokenName _tmp0_;
+ JSDOCTokenName _tmp1_;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = self->name;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = what;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ result = _tmp0_ == _tmp1_;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return result;
+#line 1196 "Token.c"
+}
+
+
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what) {
+ gboolean result = FALSE;
+ JSDOCTokenType _tmp0_;
+ JSDOCTokenType _tmp1_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp0_ = self->type;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _tmp1_ = what;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ result = _tmp0_ == _tmp1_;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ return result;
+#line 1214 "Token.c"
+}
+
+
+static void jsdoc_token_class_init (JSDOCTokenClass * klass) {
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ jsdoc_token_parent_class = g_type_class_peek_parent (klass);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_token_finalize;
+#line 1223 "Token.c"
+}
+
+
+static void jsdoc_token_instance_init (JSDOCToken * self) {
+}
+
+
+static void jsdoc_token_finalize (GObject * obj) {
+ JSDOCToken * self;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TOKEN, JSDOCToken);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->data);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->prefix);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_free0 (self->outData);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->identifier);
+#line 170 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->items);
+#line 172 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->props);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ _g_object_unref0 (self->keyseq);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/Token.vala"
+ G_OBJECT_CLASS (jsdoc_token_parent_class)->finalize (obj);
+#line 1251 "Token.c"
+}
+
+
+GType jsdoc_token_get_type (void) {
+ static volatile gsize jsdoc_token_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTokenClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_token_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCToken), 0, (GInstanceInitFunc) jsdoc_token_instance_init, NULL };
+ GType jsdoc_token_type_id;
+ jsdoc_token_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCToken", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_token_type_id__volatile, jsdoc_token_type_id);
+ }
+ return jsdoc_token_type_id__volatile;
+}
+
+
+
--- /dev/null
+/**
+ * @class Token
+ *
+ * @prop data {String} raw value of token
+ * @prop type {String} type of token
+ * TOKN (unknown) - name is UNKNOWN_TOKEN
+ *
+ * KEYW (keyword) - name is upper case version of keyword
+ * NAME (name/identifier) - name is NAME
+ * COMM (comment) - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
+ * PUNC (puctuation) - name is String description of punctionan (eg LEFTPARAM)
+ * WHIT (white space) - name is SPACE,NEWLINE
+ * STRN (string) - name is DOBULE_QUOTE, SINGLE_QUOTE
+ * NUMB (number) - name is OCTAL,DECIMAL,HEC_DEC
+ * REGX (reg.expression) - name is REGX
+ * @prop name {String} see type details above
+ * @prop identifier {Identifier} identifier class if relivant
+ *
+ *
+ *
+ * old mappings:
+ *
+ * Script.TOKidentifier - type == 'NAME'
+ * Script.TOKassign = data == '='
+ * Script.TOKsemicolon data == '';
+ *
+ *
+ *
+*/
+namespace JSDOC
+{
+ int Token_id = 1;
+ public enum TokenType {
+ TOKN, // (unknown) - name is UNKNOWN_TOKEN
+ KEYW, // (keyword) - name is upper case version of keyword
+ NAME, // (name/identifier) - name is NAME
+ COMM, // (comment) - name is MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM
+ PUNC, // (puctuation) - name is String description of punctionan (eg LEFTPARAM)
+ WHIT, // (white space) - name is SPACE,NEWLINE
+ STRN, // (string) - name is DOBULE_QUOTE, SINGLE_QUOTE
+ NUMB, // (number) - name is OCTAL,DECIMAL,HEC_DEC
+ REGX, // (reg.expression) - name is REGX
+
+ VOID // BAD eof
+ }
+
+
+ public enum TokenName {
+ UNKNOWN_TOKEN,
+
+ // keywords.
+ BREAK,
+ CASE,
+ CATCH,
+ CONST,
+ CONTINUE,
+ DEFAULT,
+ DELETE,
+ DO,
+ ELSE,
+ FALSE,
+ FINALLY,
+ FOR,
+ FUNCTION,
+ IF,
+ IN,
+ INSTANCEOF,
+ NEW,
+ NULL,
+ RETURN,
+ SWITCH,
+ THIS,
+ THROW,
+ TRUE,
+ TRY,
+ TYPEOF,
+ VOID,
+ WHILE,
+ WITH,
+ VAR,
+ EVAL,
+
+ NAME,
+
+
+ MULTI_LINE_COMM, JSDOC, SINGLE_LINE_COMM,
+ // punc
+ SEMICOLON,
+ COMMA,
+ HOOK,
+ COLON,
+ OR,
+ AND,
+ BITWISE_OR,
+ BITWISE_XOR,
+ BITWISE_AND,
+ STRICT_EQ,
+ EQ,
+ ASSIGN,
+ STRICT_NE,
+ NE,
+ LSH,
+ LE,
+ LT,
+ URSH,
+ RSH,
+ GE,
+ GT,
+ INCREMENT,
+ DECREMENT,
+ PLUS,
+ MINUS,
+ MUL,
+ DIV,
+ MOD,
+ NOT,
+ BITWISE_NOT,
+ DOT,
+ LEFT_BRACE,
+ RIGHT_BRACE,
+ LEFT_CURLY,
+ RIGHT_CURLY,
+ LEFT_PAREN, // (
+ RIGHT_PAREN, // )
+
+
+
+ SPACE,NEWLINE,
+ DOUBLE_QUOTE, SINGLE_QUOTE,
+ OCTAL,DECIMAL,HEX_DEC,
+ REGX,
+
+ START_OF_STREAM,
+ END_OF_STREAM,
+
+ UNKNOWN // we should change void/void to void/unknown.
+ }
+
+ public class TokenKeyMap : Object {
+ public Token key;
+ public Gee.ArrayList<Token> vals;
+
+ public TokenKeyMap()
+ {
+ this.key = new Token("",TokenType.VOID, TokenName.VOID);
+ this.vals = new Gee.ArrayList<Token>();
+ }
+
+
+ }
+
+
+ public class Token : Object {
+
+ public int id;
+
+ public string data;
+ public TokenType type;
+ public TokenName name;
+ public int line;
+ public string prefix; // white space prefix... (when outputing with WS)
+
+ public string outData;
+
+ public Identifier identifier;
+
+
+
+ // used to stuff tokens together when building a tree..
+ public Gee.ArrayList<Gee.ArrayList<Token>> items;
+ // for a object definition, key -> array of tokens..
+ public Gee.HashMap<string,TokenKeyMap> props;
+ public Gee.ArrayList<string> keyseq;
+ // props??? what's this???
+
+ public Token(string data, TokenType type, TokenName name, int line = -1)
+ {
+ this.data = data;
+ this.type = type;
+ this.name = name;
+ this.line = line;
+ this.prefix = "";
+ this.outData = ""; // used by packer/scopeparser
+ this.identifier = null; // used by scope
+ this.id = Token_id++;
+
+ // should we initialize when needed...?? to keep the usage down..
+ this.items = null;
+ this.props = null;
+ this.keyseq = null;
+ if (name == TokenName.LEFT_BRACE ||
+ name == TokenName.LEFT_CURLY ||
+ name == TokenName.LEFT_PAREN ) {
+
+ this.items = new Gee.ArrayList<Gee.ArrayList<Token>>();
+ this.props = new Gee.HashMap<string,TokenKeyMap>();
+ this.keyseq = new Gee.ArrayList<string>();
+ }
+
+ }
+
+ public string asString()
+ {
+ if (this.name == TokenName.LEFT_BRACE ||
+ this.name == TokenName.LEFT_CURLY ||
+ this.name == TokenName.LEFT_PAREN ) {
+
+ return "line: %s, %d, id %d, type %s, IS=%d,PS=%d,KS=%d, data : %s, name %s, , outData: %s".printf(
+ DocParser.currentSourceFile == null ? "??" : DocParser.currentSourceFile,
+ this.line,
+ this.id,
+ this.type.to_string(),
+ this.name == TokenName.LEFT_BRACE ? -1 : this.items.size,
+ this.name == TokenName.LEFT_BRACE ? -1 : this.props.size,
+ this.name == TokenName.LEFT_BRACE ? -1 : this.keyseq.size,
+ this.data,
+ this.name.to_string(),
+ this.outData == null ? "" : this.outData
+ );
+
+
+ }
+
+
+
+ return "line:%s:%d, id %d, type %s, data : %s, name %s, , outData: %s".printf(
+ DocParser.currentSourceFile == null ? "??" : DocParser.currentSourceFile,
+ this.line,
+ this.id,
+ this.type.to_string(),
+
+ this.data,
+ this.name.to_string(),
+ this.outData == null ? "" : this.outData
+ );
+
+ }
+
+
+ public void dump(string indent)
+ {
+ print("%s%s\n",indent, this.asString());
+ if (this.items != null && this.items.size > 0) {
+
+ for (var i = 0;i < this.items.size; i++) {
+ print("%s --ITEMS[%d] [ \n",indent,i);
+ for (var j = 0;j < this.items[i].size; j++) {
+ this.items[i][j].dump(indent + " ");
+ }
+ }
+ }
+ if (this.props != null && this.props.size > 0) {
+ var m = this.props.map_iterator();
+ while(m.next()) {
+ print("%s --KEY %s :: \n",indent,m.get_key());
+ var vals = m.get_value().vals;
+ for (var i = 0;i < vals.size; i++) {
+
+ vals[i].dump(indent + " ");
+ }
+ }
+
+
+ }
+
+ }
+
+
+ public string toRaw(int lvl = 0)
+ {
+
+
+ var ret = this.data ;
+
+ foreach(var ai in this.items ) {
+ // supposed to iterate properties???
+ string str = "";
+ //foreach( var it in ai) {
+ // str += it.toRaw(lvl+1);
+ // }
+ ret += str;
+ }
+
+ /* -- what is a prop..
+ if (this.props) {
+ for (var i in this.props) {
+ ret += this.props[i].key.toRaw(lvl+1) + ' : ';
+ this.props[i].val.forEach( function(e) {
+ ret+=e.toRaw(lvl+1);
+ })
+
+ }
+ }
+
+ */
+
+ return this.prefix + ret;
+
+ }
+ /*
+ toJS : function() {
+
+ try {
+ var _tmp = '';
+ eval( "_tmp = " + this.data);
+ return _tmp;
+ } catch( e) {
+ return "ERROR unparsable" + this.data;
+ }
+ },
+ */
+
+
+ public bool isName(TokenName what) {
+ return this.name == what;
+ }
+ public bool isType(TokenType what) {
+ return this.type == what;
+ }
+
+ }
+}
+
\ No newline at end of file
--- /dev/null
+/* TokenReader.c generated by valac 0.36.6, the Vala compiler
+ * generated from TokenReader.vala, do not modify */
+
+/*<script type="text/javascript">*/
+/* test code*/
+/*const Token = imports.Token.Token;*/
+/*const Lang = imports.Lang.Lang;*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+#include <stdio.h>
+
+
+#define JSDOC_TYPE_TOKEN_ARRAY (jsdoc_token_array_get_type ())
+#define JSDOC_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray))
+#define JSDOC_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+#define JSDOC_IS_TOKEN_ARRAY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_IS_TOKEN_ARRAY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_ARRAY))
+#define JSDOC_TOKEN_ARRAY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayClass))
+
+typedef struct _JSDOCTokenArray JSDOCTokenArray;
+typedef struct _JSDOCTokenArrayClass JSDOCTokenArrayClass;
+typedef struct _JSDOCTokenArrayPrivate JSDOCTokenArrayPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+
+#define JSDOC_TYPE_PACKER (jsdoc_packer_get_type ())
+#define JSDOC_PACKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_PACKER, JSDOCPacker))
+#define JSDOC_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+#define JSDOC_IS_PACKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_PACKER))
+#define JSDOC_IS_PACKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_PACKER))
+#define JSDOC_PACKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_PACKER, JSDOCPackerClass))
+
+typedef struct _JSDOCPacker JSDOCPacker;
+typedef struct _JSDOCPackerClass JSDOCPackerClass;
+
+#define JSDOC_TYPE_TOKEN_READER (jsdoc_token_reader_get_type ())
+#define JSDOC_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader))
+#define JSDOC_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+#define JSDOC_IS_TOKEN_READER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_IS_TOKEN_READER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_READER))
+#define JSDOC_TOKEN_READER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderClass))
+
+typedef struct _JSDOCTokenReader JSDOCTokenReader;
+typedef struct _JSDOCTokenReaderClass JSDOCTokenReaderClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+
+#define JSDOC_PACKER_TYPE_RESULT_TYPE (jsdoc_packer_result_type_get_type ())
+typedef struct _JSDOCTokenReaderPrivate JSDOCTokenReaderPrivate;
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+
+#define JSDOC_TYPE_TEXT_STREAM (jsdoc_text_stream_get_type ())
+#define JSDOC_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStream))
+#define JSDOC_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+#define JSDOC_IS_TEXT_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_IS_TEXT_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TEXT_STREAM))
+#define JSDOC_TEXT_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TEXT_STREAM, JSDOCTextStreamClass))
+
+typedef struct _JSDOCTextStream JSDOCTextStream;
+typedef struct _JSDOCTextStreamClass JSDOCTextStreamClass;
+
+#define JSDOC_TYPE_LANGCLASS (jsdoc_langclass_get_type ())
+#define JSDOC_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_Class))
+#define JSDOC_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+#define JSDOC_IS_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_IS_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_LANGCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+
+typedef struct _JSDOCLang_Class JSDOCLang_Class;
+typedef struct _JSDOCLang_ClassClass JSDOCLang_ClassClass;
+#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
+#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
+
+struct _JSDOCTokenArray {
+ GObject parent_instance;
+ JSDOCTokenArrayPrivate * priv;
+ GeeArrayList* tokens;
+};
+
+struct _JSDOCTokenArrayClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCTokenArrayPrivate {
+ JSDOCPacker* packer;
+ JSDOCTokenReader* reader;
+ JSDOCToken* lastAdded;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+typedef enum {
+ JSDOC_PACKER_RESULT_TYPE_err,
+ JSDOC_PACKER_RESULT_TYPE_warn
+} JSDOCPackerResultType;
+
+struct _JSDOCTokenReader {
+ GObject parent_instance;
+ JSDOCTokenReaderPrivate * priv;
+ gboolean collapseWhite;
+ gboolean keepDocs;
+ gboolean keepWhite;
+ gboolean keepComments;
+ gboolean sepIdents;
+ gchar* filename;
+ gboolean ignoreBadGrammer;
+};
+
+struct _JSDOCTokenReaderClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKENREADER_ERROR_ArgumentError,
+ JSDOC_TOKENREADER_ERROR_SyntaxError
+} JSDOCTokenReader_Error;
+#define JSDOC_TOKENREADER_ERROR jsdoc_tokenreader_error_quark ()
+struct _JSDOCTokenReaderPrivate {
+ gint line;
+ JSDOCPacker* packer;
+};
+
+typedef enum {
+ JSDOC_LANG_ERROR_ArgumentError
+} JSDOCLangError;
+#define JSDOC_LANG_ERROR jsdoc_lang_error_quark ()
+
+static gpointer jsdoc_token_array_parent_class = NULL;
+static gpointer jsdoc_token_reader_parent_class = NULL;
+extern JSDOCLang_Class* jsdoc_Lang;
+
+GType jsdoc_token_array_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+GType jsdoc_packer_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_reader_get_type (void) G_GNUC_CONST;
+#define JSDOC_TOKEN_ARRAY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArrayPrivate))
+enum {
+ JSDOC_TOKEN_ARRAY_DUMMY_PROPERTY,
+ JSDOC_TOKEN_ARRAY_LENGTH_PROPERTY
+};
+JSDOCTokenArray* jsdoc_token_array_new (JSDOCPacker* packer, JSDOCTokenReader* reader);
+JSDOCTokenArray* jsdoc_token_array_construct (GType object_type, JSDOCPacker* packer, JSDOCTokenReader* reader);
+JSDOCToken* jsdoc_token_array_last (JSDOCTokenArray* self);
+JSDOCToken* jsdoc_token_array_lastSym (JSDOCTokenArray* self);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+void jsdoc_token_array_push (JSDOCTokenArray* self, JSDOCToken* t);
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+GType jsdoc_packer_result_type_get_type (void) G_GNUC_CONST;
+void jsdoc_packer_logError (JSDOCPacker* self, JSDOCPackerResultType type, const gchar* filename, gint line, const gchar* message);
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+const gchar* jsdoc_token_name_to_string (JSDOCTokenName self);
+JSDOCToken* jsdoc_token_array_pop (JSDOCTokenArray* self);
+JSDOCToken* jsdoc_token_array_get (JSDOCTokenArray* self, gint i);
+void jsdoc_token_array_dump (JSDOCTokenArray* self);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+gint jsdoc_token_array_get_length (JSDOCTokenArray* self);
+static void jsdoc_token_array_finalize (GObject * obj);
+static void _vala_jsdoc_token_array_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec);
+GQuark jsdoc_tokenreader_error_quark (void);
+#define JSDOC_TOKEN_READER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_TOKEN_READER, JSDOCTokenReaderPrivate))
+enum {
+ JSDOC_TOKEN_READER_DUMMY_PROPERTY
+};
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer);
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer);
+GType jsdoc_text_stream_get_type (void) G_GNUC_CONST;
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream);
+gboolean jsdoc_text_stream_lookEOF (JSDOCTextStream* self, gint n);
+gboolean jsdoc_token_reader_read_mlcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_slcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_dbquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_snquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_regx (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_numb (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_punc (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_newline (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_space (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_token_reader_read_word (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gchar* jsdoc_text_stream_nextS (JSDOCTextStream* self, gint n);
+JSDOCToken* jsdoc_token_new (const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+JSDOCToken* jsdoc_token_construct (GType object_type, const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+gint jsdoc_token_reader_findPuncToken (JSDOCTokenReader* self, JSDOCTokenArray* tokens, const gchar* data, gint n);
+JSDOCToken* jsdoc_token_reader_lastSym (JSDOCTokenReader* self, JSDOCTokenArray* tokens, gint n);
+GType jsdoc_langclass_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_langclass_isWordChar (JSDOCLang_Class* self, gchar c);
+gchar jsdoc_text_stream_lookC (JSDOCTextStream* self, gint n);
+gchar jsdoc_text_stream_nextC (JSDOCTextStream* self);
+GQuark jsdoc_lang_error_quark (void);
+JSDOCTokenName jsdoc_langclass_keyword (JSDOCLang_Class* self, const gchar* word, GError** error);
+JSDOCTokenName jsdoc_langclass_puncFirstString (JSDOCLang_Class* self, gchar ch);
+JSDOCTokenName jsdoc_langclass_puncString (JSDOCLang_Class* self, const gchar* ch);
+gboolean jsdoc_langclass_isSpace (JSDOCLang_Class* self, const gchar* str);
+gchar* jsdoc_text_stream_lookS (JSDOCTextStream* self, gint n);
+gboolean jsdoc_langclass_isNewline (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_token_reader_read_hex (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens);
+gboolean jsdoc_langclass_isNumber (JSDOCLang_Class* self, const gchar* str);
+gboolean jsdoc_langclass_isHexDec (JSDOCLang_Class* self, const gchar* str);
+static void jsdoc_token_reader_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 364 "TokenReader.c"
+}
+
+
+JSDOCTokenArray* jsdoc_token_array_construct (GType object_type, JSDOCPacker* packer, JSDOCTokenReader* reader) {
+ JSDOCTokenArray * self = NULL;
+ JSDOCPacker* _tmp0_;
+ JSDOCPacker* _tmp1_;
+ JSDOCTokenReader* _tmp2_;
+ JSDOCTokenReader* _tmp3_;
+ GeeArrayList* _tmp4_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (reader != NULL, NULL);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self = (JSDOCTokenArray*) g_object_new (object_type, NULL);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = packer;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->packer = _tmp1_;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = reader;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = _g_object_ref0 (_tmp2_);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->reader);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->reader = _tmp3_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->tokens);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->tokens = _tmp4_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return self;
+#line 403 "TokenReader.c"
+}
+
+
+JSDOCTokenArray* jsdoc_token_array_new (JSDOCPacker* packer, JSDOCTokenReader* reader) {
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return jsdoc_token_array_construct (JSDOC_TYPE_TOKEN_ARRAY, packer, reader);
+#line 410 "TokenReader.c"
+}
+
+
+JSDOCToken* jsdoc_token_array_last (JSDOCTokenArray* self) {
+ JSDOCToken* result = NULL;
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp1_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_ > 0) {
+#line 429 "TokenReader.c"
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gpointer _tmp7_;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = self->tokens;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = self->tokens;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = _tmp5_;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp3_, _tmp6_ - 1);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = (JSDOCToken*) _tmp7_;
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 449 "TokenReader.c"
+ }
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = NULL;
+#line 40 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 455 "TokenReader.c"
+}
+
+
+JSDOCToken* jsdoc_token_array_lastSym (JSDOCTokenArray* self) {
+ JSDOCToken* result = NULL;
+#line 42 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 463 "TokenReader.c"
+ {
+ gint i = 0;
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp1_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ i = _tmp2_ - 1;
+#line 477 "TokenReader.c"
+ {
+ gboolean _tmp3_ = FALSE;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = TRUE;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 484 "TokenReader.c"
+ gint _tmp5_;
+ gboolean _tmp6_ = FALSE;
+ GeeArrayList* _tmp7_;
+ gint _tmp8_;
+ gpointer _tmp9_;
+ JSDOCToken* _tmp10_;
+ gboolean _tmp11_;
+ gboolean _tmp12_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp3_) {
+#line 495 "TokenReader.c"
+ gint _tmp4_;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = i;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ i = _tmp4_ - 1;
+#line 501 "TokenReader.c"
+ }
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = FALSE;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = i;
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(_tmp5_ >= 0)) {
+#line 43 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 511 "TokenReader.c"
+ }
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = self->tokens;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = i;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, _tmp8_);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = (JSDOCToken*) _tmp9_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = jsdoc_token_isType (_tmp10_, JSDOC_TOKEN_TYPE_WHIT);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = _tmp11_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp10_);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp12_) {
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = TRUE;
+#line 531 "TokenReader.c"
+ } else {
+ GeeArrayList* _tmp13_;
+ gint _tmp14_;
+ gpointer _tmp15_;
+ JSDOCToken* _tmp16_;
+ gboolean _tmp17_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = self->tokens;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = i;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = gee_abstract_list_get ((GeeAbstractList*) _tmp13_, _tmp14_);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = (JSDOCToken*) _tmp15_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = jsdoc_token_isType (_tmp16_, JSDOC_TOKEN_TYPE_COMM);
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = _tmp17_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp16_);
+#line 552 "TokenReader.c"
+ }
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp6_) {
+#line 556 "TokenReader.c"
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gpointer _tmp20_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = self->tokens;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = i;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp18_, _tmp19_);
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = (JSDOCToken*) _tmp20_;
+#line 45 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 570 "TokenReader.c"
+ }
+ }
+ }
+ }
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = NULL;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 579 "TokenReader.c"
+}
+
+
+void jsdoc_token_array_push (JSDOCTokenArray* self, JSDOCToken* t) {
+ JSDOCToken* _tmp0_;
+ GeeArrayList* _tmp111_;
+ JSDOCToken* _tmp112_;
+ gboolean _tmp113_ = FALSE;
+ JSDOCToken* _tmp114_;
+ gboolean _tmp115_;
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_if_fail (self != NULL);
+#line 52 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_if_fail (t != NULL);
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->priv->lastAdded;
+#line 54 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp0_ != NULL) {
+#line 598 "TokenReader.c"
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+ gboolean _tmp4_ = FALSE;
+ JSDOCToken* _tmp5_;
+ gboolean _tmp6_;
+ gboolean _tmp62_ = FALSE;
+ gboolean _tmp63_ = FALSE;
+ JSDOCToken* _tmp64_;
+ gboolean _tmp65_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = self->priv->lastAdded;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = jsdoc_token_isType (_tmp5_, JSDOC_TOKEN_TYPE_NAME);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp6_) {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = TRUE;
+#line 617 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp7_;
+ gboolean _tmp8_;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = self->priv->lastAdded;
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = jsdoc_token_isType (_tmp7_, JSDOC_TOKEN_TYPE_STRN);
+#line 59 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = _tmp8_;
+#line 627 "TokenReader.c"
+ }
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp4_) {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = TRUE;
+#line 633 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp9_;
+ gboolean _tmp10_;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = self->priv->lastAdded;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_token_isType (_tmp9_, JSDOC_TOKEN_TYPE_NUMB);
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = _tmp10_;
+#line 643 "TokenReader.c"
+ }
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp3_) {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = TRUE;
+#line 649 "TokenReader.c"
+ } else {
+ gboolean _tmp11_ = FALSE;
+ JSDOCToken* _tmp12_;
+ gboolean _tmp13_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = self->priv->lastAdded;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = jsdoc_token_isType (_tmp12_, JSDOC_TOKEN_TYPE_KEYW);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp13_) {
+#line 660 "TokenReader.c"
+ gboolean _tmp14_ = FALSE;
+ JSDOCToken* _tmp15_;
+ gboolean _tmp16_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = self->priv->lastAdded;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_token_isName (_tmp15_, JSDOC_TOKEN_NAME_TRUE);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp16_) {
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = TRUE;
+#line 672 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp17_;
+ gboolean _tmp18_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = self->priv->lastAdded;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_token_isName (_tmp17_, JSDOC_TOKEN_NAME_FALSE);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = _tmp18_;
+#line 682 "TokenReader.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = _tmp14_;
+#line 686 "TokenReader.c"
+ } else {
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = FALSE;
+#line 690 "TokenReader.c"
+ }
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp11_;
+#line 694 "TokenReader.c"
+ }
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_) {
+#line 698 "TokenReader.c"
+ gboolean _tmp19_ = FALSE;
+ gboolean _tmp20_ = FALSE;
+ gboolean _tmp21_ = FALSE;
+ JSDOCToken* _tmp22_;
+ gboolean _tmp23_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = t;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = jsdoc_token_isType (_tmp22_, JSDOC_TOKEN_TYPE_NAME);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp23_) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = TRUE;
+#line 712 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp24_;
+ gboolean _tmp25_;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = t;
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = jsdoc_token_isType (_tmp24_, JSDOC_TOKEN_TYPE_STRN);
+#line 71 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = _tmp25_;
+#line 722 "TokenReader.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp21_) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = TRUE;
+#line 728 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp26_;
+ gboolean _tmp27_;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = t;
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = jsdoc_token_isType (_tmp26_, JSDOC_TOKEN_TYPE_NUMB);
+#line 72 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = _tmp27_;
+#line 738 "TokenReader.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp20_) {
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = TRUE;
+#line 744 "TokenReader.c"
+ } else {
+ gboolean _tmp28_ = FALSE;
+ JSDOCToken* _tmp29_;
+ gboolean _tmp30_;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = t;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = jsdoc_token_isType (_tmp29_, JSDOC_TOKEN_TYPE_KEYW);
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp30_) {
+#line 755 "TokenReader.c"
+ gboolean _tmp31_ = FALSE;
+ gboolean _tmp32_ = FALSE;
+ JSDOCToken* _tmp33_;
+ gboolean _tmp34_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = t;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = jsdoc_token_isName (_tmp33_, JSDOC_TOKEN_NAME_IN);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp34_) {
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = TRUE;
+#line 768 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp35_;
+ gboolean _tmp36_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = t;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = jsdoc_token_isName (_tmp35_, JSDOC_TOKEN_NAME_INSTANCEOF);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = _tmp36_;
+#line 778 "TokenReader.c"
+ }
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp32_) {
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = TRUE;
+#line 784 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp37_;
+ gboolean _tmp38_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = t;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = jsdoc_token_isName (_tmp37_, JSDOC_TOKEN_NAME_INSTANCEOF);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = _tmp38_;
+#line 794 "TokenReader.c"
+ }
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = !_tmp31_;
+#line 798 "TokenReader.c"
+ } else {
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = FALSE;
+#line 802 "TokenReader.c"
+ }
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = _tmp28_;
+#line 806 "TokenReader.c"
+ }
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _tmp19_;
+#line 810 "TokenReader.c"
+ } else {
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = FALSE;
+#line 814 "TokenReader.c"
+ }
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_) {
+#line 818 "TokenReader.c"
+ JSDOCPacker* _tmp39_;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = self->priv->packer;
+#line 79 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp39_ != NULL) {
+#line 824 "TokenReader.c"
+ JSDOCPacker* _tmp40_;
+ JSDOCTokenReader* _tmp41_;
+ const gchar* _tmp42_;
+ JSDOCToken* _tmp43_;
+ gint _tmp44_;
+ JSDOCToken* _tmp45_;
+ const gchar* _tmp46_;
+ gchar* _tmp47_;
+ gchar* _tmp48_;
+ gchar* _tmp49_;
+ gchar* _tmp50_;
+ JSDOCToken* _tmp51_;
+ JSDOCTokenName _tmp52_;
+ GEnumValue* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+ gchar* _tmp57_;
+ JSDOCToken* _tmp58_;
+ const gchar* _tmp59_;
+ gchar* _tmp60_;
+ gchar* _tmp61_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = self->priv->packer;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = self->priv->reader;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = _tmp41_->filename;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = t;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = _tmp43_->line;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = self->priv->lastAdded;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = _tmp45_->data;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = g_strconcat ("'", _tmp46_, NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = _tmp47_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = g_strconcat (_tmp48_, "' token followed by ", NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = _tmp49_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = t;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = _tmp51_->name;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp53_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp52_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp54_ = g_strconcat (_tmp50_, (_tmp53_ != NULL) ? _tmp53_->value_name : NULL, NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp55_ = _tmp54_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp56_ = g_strconcat (_tmp55_, ":", NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp57_ = _tmp56_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp58_ = t;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp59_ = _tmp58_->data;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp60_ = g_strconcat (_tmp57_, _tmp59_, NULL);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp61_ = _tmp60_;
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_packer_logError (_tmp40_, JSDOC_PACKER_RESULT_TYPE_err, _tmp42_, _tmp44_, _tmp61_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp61_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp57_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp55_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp50_);
+#line 80 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp48_);
+#line 903 "TokenReader.c"
+ }
+ }
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp64_ = self->priv->lastAdded;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp65_ = jsdoc_token_isName (_tmp64_, JSDOC_TOKEN_NAME_RIGHT_BRACE);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp65_) {
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp63_ = TRUE;
+#line 914 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp66_;
+ gboolean _tmp67_;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp66_ = self->priv->lastAdded;
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp67_ = jsdoc_token_isName (_tmp66_, JSDOC_TOKEN_NAME_RIGHT_PAREN);
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp63_ = _tmp67_;
+#line 924 "TokenReader.c"
+ }
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp63_) {
+#line 928 "TokenReader.c"
+ gboolean _tmp68_ = FALSE;
+ gboolean _tmp69_ = FALSE;
+ gboolean _tmp70_ = FALSE;
+ gboolean _tmp71_ = FALSE;
+ JSDOCToken* _tmp72_;
+ gboolean _tmp73_;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp72_ = t;
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp73_ = jsdoc_token_isType (_tmp72_, JSDOC_TOKEN_TYPE_KEYW);
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp73_) {
+#line 941 "TokenReader.c"
+ gboolean _tmp74_ = FALSE;
+ gboolean _tmp75_ = FALSE;
+ JSDOCToken* _tmp76_;
+ gboolean _tmp77_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp76_ = t;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp77_ = jsdoc_token_isName (_tmp76_, JSDOC_TOKEN_NAME_IN);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp77_) {
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp75_ = TRUE;
+#line 954 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp78_;
+ gboolean _tmp79_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp78_ = t;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp79_ = jsdoc_token_isName (_tmp78_, JSDOC_TOKEN_NAME_INSTANCEOF);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp75_ = _tmp79_;
+#line 964 "TokenReader.c"
+ }
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp75_) {
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp74_ = TRUE;
+#line 970 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp80_;
+ gboolean _tmp81_;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp80_ = t;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp81_ = jsdoc_token_isName (_tmp80_, JSDOC_TOKEN_NAME_INSTANCEOF);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp74_ = _tmp81_;
+#line 980 "TokenReader.c"
+ }
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp71_ = !_tmp74_;
+#line 984 "TokenReader.c"
+ } else {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp71_ = FALSE;
+#line 988 "TokenReader.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp71_) {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp70_ = TRUE;
+#line 994 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp82_;
+ gboolean _tmp83_;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp82_ = t;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp83_ = jsdoc_token_isType (_tmp82_, JSDOC_TOKEN_TYPE_NAME);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp70_ = _tmp83_;
+#line 1004 "TokenReader.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp70_) {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp69_ = TRUE;
+#line 1010 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp84_;
+ gboolean _tmp85_;
+#line 100 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp84_ = t;
+#line 100 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp85_ = jsdoc_token_isType (_tmp84_, JSDOC_TOKEN_TYPE_STRN);
+#line 100 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp69_ = _tmp85_;
+#line 1020 "TokenReader.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp69_) {
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp68_ = TRUE;
+#line 1026 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp86_;
+ gboolean _tmp87_;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp86_ = t;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp87_ = jsdoc_token_isType (_tmp86_, JSDOC_TOKEN_TYPE_NUMB);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp68_ = _tmp87_;
+#line 1036 "TokenReader.c"
+ }
+#line 96 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp62_ = _tmp68_;
+#line 1040 "TokenReader.c"
+ } else {
+#line 93 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp62_ = FALSE;
+#line 1044 "TokenReader.c"
+ }
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp62_) {
+#line 1048 "TokenReader.c"
+ JSDOCPacker* _tmp88_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp88_ = self->priv->packer;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp88_ != NULL) {
+#line 1054 "TokenReader.c"
+ JSDOCPacker* _tmp89_;
+ JSDOCTokenReader* _tmp90_;
+ const gchar* _tmp91_;
+ JSDOCToken* _tmp92_;
+ gint _tmp93_;
+ JSDOCToken* _tmp94_;
+ const gchar* _tmp95_;
+ gchar* _tmp96_;
+ gchar* _tmp97_;
+ gchar* _tmp98_;
+ gchar* _tmp99_;
+ JSDOCToken* _tmp100_;
+ JSDOCTokenName _tmp101_;
+ GEnumValue* _tmp102_;
+ gchar* _tmp103_;
+ gchar* _tmp104_;
+ gchar* _tmp105_;
+ gchar* _tmp106_;
+ JSDOCToken* _tmp107_;
+ const gchar* _tmp108_;
+ gchar* _tmp109_;
+ gchar* _tmp110_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp89_ = self->priv->packer;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp90_ = self->priv->reader;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp91_ = _tmp90_->filename;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp92_ = t;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp93_ = _tmp92_->line;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp94_ = self->priv->lastAdded;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp95_ = _tmp94_->data;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp96_ = g_strconcat ("'", _tmp95_, NULL);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp97_ = _tmp96_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp98_ = g_strconcat (_tmp97_, "' token followed by ", NULL);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp99_ = _tmp98_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp100_ = t;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp101_ = _tmp100_->name;
+#line 110 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp102_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp101_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp103_ = g_strconcat (_tmp99_, (_tmp102_ != NULL) ? _tmp102_->value_name : NULL, NULL);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp104_ = _tmp103_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp105_ = g_strconcat (_tmp104_, ":", NULL);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp106_ = _tmp105_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp107_ = t;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp108_ = _tmp107_->data;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp109_ = g_strconcat (_tmp106_, _tmp108_, NULL);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp110_ = _tmp109_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_packer_logError (_tmp89_, JSDOC_PACKER_RESULT_TYPE_err, _tmp91_, _tmp93_, _tmp110_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp110_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp106_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp104_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp99_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp97_);
+#line 1133 "TokenReader.c"
+ }
+ }
+ }
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp111_ = self->tokens;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp112_ = t;
+#line 118 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp111_, _tmp112_);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp114_ = t;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp115_ = jsdoc_token_isType (_tmp114_, JSDOC_TOKEN_TYPE_WHIT);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp115_) {
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp113_ = TRUE;
+#line 1151 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp116_;
+ gboolean _tmp117_;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp116_ = t;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp117_ = jsdoc_token_isType (_tmp116_, JSDOC_TOKEN_TYPE_COMM);
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp113_ = _tmp117_;
+#line 1161 "TokenReader.c"
+ }
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp113_) {
+#line 1165 "TokenReader.c"
+ } else {
+ JSDOCToken* _tmp118_;
+ JSDOCToken* _tmp119_;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp118_ = t;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp119_ = _g_object_ref0 (_tmp118_);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->lastAdded);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->lastAdded = _tmp119_;
+#line 1177 "TokenReader.c"
+ }
+}
+
+
+JSDOCToken* jsdoc_token_array_pop (JSDOCTokenArray* self) {
+ JSDOCToken* result = NULL;
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp1_;
+#line 129 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_ > 0) {
+#line 1197 "TokenReader.c"
+ GeeArrayList* _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gpointer _tmp7_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = self->tokens;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = self->tokens;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = _tmp5_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp3_, _tmp6_ - 1);
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = (JSDOCToken*) _tmp7_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1217 "TokenReader.c"
+ }
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = NULL;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1223 "TokenReader.c"
+}
+
+
+JSDOCToken* jsdoc_token_array_get (JSDOCTokenArray* self, gint i) {
+ JSDOCToken* result = NULL;
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gpointer _tmp2_;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = i;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) _tmp0_, _tmp1_);
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = (JSDOCToken*) _tmp2_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1244 "TokenReader.c"
+}
+
+
+void jsdoc_token_array_dump (JSDOCTokenArray* self) {
+ gint line = 0;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_if_fail (self != NULL);
+#line 140 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ line = 0;
+#line 1254 "TokenReader.c"
+ {
+ GeeArrayList* _token_list = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _token_size = 0;
+ GeeArrayList* _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+ gint _token_index = 0;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_list = _tmp1_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _token_list;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp2_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = _tmp3_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_size = _tmp4_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_index = -1;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 1282 "TokenReader.c"
+ gint _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ JSDOCToken* token = NULL;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gpointer _tmp10_;
+ JSDOCToken* _tmp11_;
+ gint _tmp12_;
+ gint _tmp13_;
+ JSDOCToken* _tmp18_;
+ const gchar* _tmp19_;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = _token_index;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_index = _tmp5_ + 1;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = _token_index;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = _token_size;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(_tmp6_ < _tmp7_)) {
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1307 "TokenReader.c"
+ }
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = _token_list;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = _token_index;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ token = (JSDOCToken*) _tmp10_;
+#line 142 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = token;
+#line 142 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = _tmp11_->line;
+#line 142 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = line;
+#line 142 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp12_ != _tmp13_) {
+#line 1325 "TokenReader.c"
+ JSDOCToken* _tmp14_;
+ gint _tmp15_;
+ JSDOCToken* _tmp16_;
+ gint _tmp17_;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = token;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = _tmp14_->line;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_print ("%d: ", _tmp15_);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = token;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = _tmp16_->line;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ line = _tmp17_;
+#line 1342 "TokenReader.c"
+ }
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = token;
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = _tmp18_->data;
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_print ("%s", _tmp19_);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (token);
+#line 1352 "TokenReader.c"
+ }
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_token_list);
+#line 1356 "TokenReader.c"
+ }
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_print ("\n----\n");
+#line 1360 "TokenReader.c"
+ {
+ GeeArrayList* _token_list = NULL;
+ GeeArrayList* _tmp20_;
+ GeeArrayList* _tmp21_;
+ gint _token_size = 0;
+ GeeArrayList* _tmp22_;
+ gint _tmp23_;
+ gint _tmp24_;
+ gint _token_index = 0;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = self->tokens;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = _g_object_ref0 (_tmp20_);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_list = _tmp21_;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = _token_list;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp22_);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = _tmp23_;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_size = _tmp24_;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_index = -1;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 1388 "TokenReader.c"
+ gint _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ JSDOCToken* token = NULL;
+ GeeArrayList* _tmp28_;
+ gint _tmp29_;
+ gpointer _tmp30_;
+ FILE* _tmp31_;
+ JSDOCToken* _tmp32_;
+ gchar* _tmp33_;
+ gchar* _tmp34_;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = _token_index;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _token_index = _tmp25_ + 1;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = _token_index;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = _token_size;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(_tmp26_ < _tmp27_)) {
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1412 "TokenReader.c"
+ }
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = _token_list;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = _token_index;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = gee_abstract_list_get ((GeeAbstractList*) _tmp28_, _tmp29_);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ token = (JSDOCToken*) _tmp30_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = stdout;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = token;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = jsdoc_token_asString (_tmp32_);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = _tmp33_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ fprintf (_tmp31_, "%s\n", _tmp34_);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp34_);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (token);
+#line 1436 "TokenReader.c"
+ }
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_token_list);
+#line 1440 "TokenReader.c"
+ }
+}
+
+
+gint jsdoc_token_array_get_length (JSDOCTokenArray* self) {
+ gint result;
+ GeeArrayList* _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->tokens;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp0_);
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp1_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = _tmp2_;
+#line 26 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1462 "TokenReader.c"
+}
+
+
+static void jsdoc_token_array_class_init (JSDOCTokenArrayClass * klass) {
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_parent_class = g_type_class_peek_parent (klass);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCTokenArrayPrivate));
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_CLASS (klass)->get_property = _vala_jsdoc_token_array_get_property;
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_token_array_finalize;
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_object_class_install_property (G_OBJECT_CLASS (klass), JSDOC_TOKEN_ARRAY_LENGTH_PROPERTY, g_param_spec_int ("length", "length", "length", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE));
+#line 1477 "TokenReader.c"
+}
+
+
+static void jsdoc_token_array_instance_init (JSDOCTokenArray * self) {
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv = JSDOC_TOKEN_ARRAY_GET_PRIVATE (self);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->lastAdded = NULL;
+#line 1486 "TokenReader.c"
+}
+
+
+static void jsdoc_token_array_finalize (GObject * obj) {
+ JSDOCTokenArray * self;
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 20 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->reader);
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->tokens);
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->lastAdded);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_CLASS (jsdoc_token_array_parent_class)->finalize (obj);
+#line 1504 "TokenReader.c"
+}
+
+
+GType jsdoc_token_array_get_type (void) {
+ static volatile gsize jsdoc_token_array_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_array_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTokenArrayClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_token_array_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTokenArray), 0, (GInstanceInitFunc) jsdoc_token_array_instance_init, NULL };
+ GType jsdoc_token_array_type_id;
+ jsdoc_token_array_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTokenArray", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_token_array_type_id__volatile, jsdoc_token_array_type_id);
+ }
+ return jsdoc_token_array_type_id__volatile;
+}
+
+
+static void _vala_jsdoc_token_array_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
+ JSDOCTokenArray * self;
+ self = G_TYPE_CHECK_INSTANCE_CAST (object, JSDOC_TYPE_TOKEN_ARRAY, JSDOCTokenArray);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ switch (property_id) {
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ case JSDOC_TOKEN_ARRAY_LENGTH_PROPERTY:
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_value_set_int (value, jsdoc_token_array_get_length (self));
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1531 "TokenReader.c"
+ default:
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1537 "TokenReader.c"
+ }
+}
+
+
+GQuark jsdoc_tokenreader_error_quark (void) {
+ return g_quark_from_static_string ("jsdoc_tokenreader_error-quark");
+}
+
+
+JSDOCTokenReader* jsdoc_token_reader_construct (GType object_type, JSDOCPacker* packer) {
+ JSDOCTokenReader * self = NULL;
+ JSDOCPacker* _tmp0_;
+ JSDOCPacker* _tmp1_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self = (JSDOCTokenReader*) g_object_new (object_type, NULL);
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = packer;
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->packer = _tmp1_;
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return self;
+#line 1563 "TokenReader.c"
+}
+
+
+JSDOCTokenReader* jsdoc_token_reader_new (JSDOCPacker* packer) {
+#line 192 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return jsdoc_token_reader_construct (JSDOC_TYPE_TOKEN_READER, packer);
+#line 1570 "TokenReader.c"
+}
+
+
+/**
+ * tokenize a stream
+ * @return {Array} of tokens
+ *
+ * ts = new TextStream(File.read(str));
+ * tr = TokenReader({ keepComments : true, keepWhite : true });
+ * tr.tokenize(ts)
+ *
+ */
+JSDOCTokenArray* jsdoc_token_reader_tokenize (JSDOCTokenReader* self, JSDOCTextStream* stream) {
+ JSDOCTokenArray* result = NULL;
+ JSDOCTokenArray* tokens = NULL;
+ JSDOCPacker* _tmp0_;
+ JSDOCTokenArray* _tmp1_;
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 206 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, NULL);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->line = 1;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = self->priv->packer;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_token_array_new (_tmp0_, self);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ tokens = _tmp1_;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 1602 "TokenReader.c"
+ JSDOCTextStream* _tmp2_;
+ gboolean _tmp3_;
+ JSDOCTextStream* _tmp4_;
+ JSDOCTokenArray* _tmp5_;
+ gboolean _tmp6_;
+ JSDOCTextStream* _tmp7_;
+ JSDOCTokenArray* _tmp8_;
+ gboolean _tmp9_;
+ JSDOCTextStream* _tmp10_;
+ JSDOCTokenArray* _tmp11_;
+ gboolean _tmp12_;
+ JSDOCTextStream* _tmp13_;
+ JSDOCTokenArray* _tmp14_;
+ gboolean _tmp15_;
+ JSDOCTextStream* _tmp16_;
+ JSDOCTokenArray* _tmp17_;
+ gboolean _tmp18_;
+ JSDOCTextStream* _tmp19_;
+ JSDOCTokenArray* _tmp20_;
+ gboolean _tmp21_;
+ JSDOCTextStream* _tmp22_;
+ JSDOCTokenArray* _tmp23_;
+ gboolean _tmp24_;
+ JSDOCTextStream* _tmp25_;
+ JSDOCTokenArray* _tmp26_;
+ gboolean _tmp27_;
+ JSDOCTextStream* _tmp28_;
+ JSDOCTokenArray* _tmp29_;
+ gboolean _tmp30_;
+ JSDOCTextStream* _tmp31_;
+ JSDOCTokenArray* _tmp32_;
+ gboolean _tmp33_;
+ JSDOCTokenArray* _tmp34_;
+ JSDOCTextStream* _tmp35_;
+ gchar* _tmp36_;
+ gchar* _tmp37_;
+ gint _tmp38_;
+ JSDOCToken* _tmp39_;
+ JSDOCToken* _tmp40_;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = stream;
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = jsdoc_text_stream_lookEOF (_tmp2_, 0);
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp3_)) {
+#line 212 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1650 "TokenReader.c"
+ }
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = stream;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = tokens;
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = jsdoc_token_reader_read_mlcomment (self, _tmp4_, _tmp5_);
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp6_) {
+#line 215 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1662 "TokenReader.c"
+ }
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = stream;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = tokens;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_token_reader_read_slcomment (self, _tmp7_, _tmp8_);
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp9_) {
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1674 "TokenReader.c"
+ }
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = stream;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = tokens;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_token_reader_read_dbquote (self, _tmp10_, _tmp11_);
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp12_) {
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1686 "TokenReader.c"
+ }
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = stream;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = tokens;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = jsdoc_token_reader_read_snquote (self, _tmp13_, _tmp14_);
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp15_) {
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1698 "TokenReader.c"
+ }
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = stream;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = tokens;
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_token_reader_read_regx (self, _tmp16_, _tmp17_);
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp18_) {
+#line 219 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1710 "TokenReader.c"
+ }
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = stream;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = tokens;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = jsdoc_token_reader_read_numb (self, _tmp19_, _tmp20_);
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp21_) {
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1722 "TokenReader.c"
+ }
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = stream;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = tokens;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = jsdoc_token_reader_read_punc (self, _tmp22_, _tmp23_);
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp24_) {
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1734 "TokenReader.c"
+ }
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = stream;
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = tokens;
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = jsdoc_token_reader_read_newline (self, _tmp25_, _tmp26_);
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp27_) {
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1746 "TokenReader.c"
+ }
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = stream;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = tokens;
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = jsdoc_token_reader_read_space (self, _tmp28_, _tmp29_);
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp30_) {
+#line 223 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1758 "TokenReader.c"
+ }
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = stream;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = tokens;
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = jsdoc_token_reader_read_word (self, _tmp31_, _tmp32_);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp33_) {
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1770 "TokenReader.c"
+ }
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = tokens;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = stream;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = jsdoc_text_stream_nextS (_tmp35_, 1);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = _tmp36_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = self->priv->line;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = jsdoc_token_new (_tmp37_, JSDOC_TOKEN_TYPE_TOKN, JSDOC_TOKEN_NAME_UNKNOWN_TOKEN, _tmp38_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = _tmp39_;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp34_, _tmp40_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp40_);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp37_);
+#line 1792 "TokenReader.c"
+ }
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = tokens;
+#line 234 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1798 "TokenReader.c"
+}
+
+
+/**
+ * findPuncToken - find the id of a token (previous to current)
+ * need to back check syntax..
+ *
+ * @arg {Array} tokens the array of tokens.
+ * @arg {String} token data (eg. '(')
+ * @arg {Number} offset where to start reading from
+ * @return {Number} position of token
+ */
+gint jsdoc_token_reader_findPuncToken (JSDOCTokenReader* self, JSDOCTokenArray* tokens, const gchar* data, gint n) {
+ gint result = 0;
+ gint _tmp0_ = 0;
+ gint _tmp1_;
+ gint stack = 0;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, 0);
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (data != NULL, 0);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = n;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_ > 0) {
+#line 1826 "TokenReader.c"
+ gint _tmp2_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = n;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = _tmp2_;
+#line 1832 "TokenReader.c"
+ } else {
+ JSDOCTokenArray* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = tokens;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = jsdoc_token_array_get_length (_tmp3_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = _tmp4_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = _tmp5_ - 1;
+#line 1845 "TokenReader.c"
+ }
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = _tmp0_;
+#line 249 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ stack = 0;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 1853 "TokenReader.c"
+ gint _tmp6_;
+ gboolean _tmp7_ = FALSE;
+ gint _tmp8_;
+ gboolean _tmp16_ = FALSE;
+ JSDOCTokenArray* _tmp17_;
+ gint _tmp18_;
+ JSDOCToken* _tmp19_;
+ JSDOCToken* _tmp20_;
+ const gchar* _tmp21_;
+ gboolean _tmp22_;
+ gboolean _tmp30_ = FALSE;
+ gint _tmp31_;
+ gint _tmp46_;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = n;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(_tmp6_ > -1)) {
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 1873 "TokenReader.c"
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = stack;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp8_ < 1) {
+#line 1879 "TokenReader.c"
+ JSDOCTokenArray* _tmp9_;
+ gint _tmp10_;
+ JSDOCToken* _tmp11_;
+ JSDOCToken* _tmp12_;
+ const gchar* _tmp13_;
+ const gchar* _tmp14_;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = tokens;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = n;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = jsdoc_token_array_get (_tmp9_, _tmp10_);
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = _tmp11_;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp12_->data;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = data;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = g_strcmp0 (_tmp13_, _tmp14_) == 0;
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp12_);
+#line 1902 "TokenReader.c"
+ } else {
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = FALSE;
+#line 1906 "TokenReader.c"
+ }
+#line 252 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp7_) {
+#line 1910 "TokenReader.c"
+ gint _tmp15_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = n;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = _tmp15_;
+#line 253 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 1918 "TokenReader.c"
+ }
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = tokens;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = n;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = jsdoc_token_array_get (_tmp17_, _tmp18_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = _tmp19_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = _tmp20_->data;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = g_strcmp0 (_tmp21_, ")") == 0;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp20_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp22_) {
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = TRUE;
+#line 1938 "TokenReader.c"
+ } else {
+ JSDOCTokenArray* _tmp23_;
+ gint _tmp24_;
+ JSDOCToken* _tmp25_;
+ JSDOCToken* _tmp26_;
+ const gchar* _tmp27_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = tokens;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = n;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = jsdoc_token_array_get (_tmp23_, _tmp24_);
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = _tmp25_;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = _tmp26_->data;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = g_strcmp0 (_tmp27_, "}") == 0;
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp26_);
+#line 1959 "TokenReader.c"
+ }
+#line 256 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp16_) {
+#line 1963 "TokenReader.c"
+ gint _tmp28_;
+ gint _tmp29_;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = stack;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ stack = _tmp28_ + 1;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = n;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = _tmp29_ - 1;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 1976 "TokenReader.c"
+ }
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = stack;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp31_ > 0) {
+#line 1982 "TokenReader.c"
+ gboolean _tmp32_ = FALSE;
+ JSDOCTokenArray* _tmp33_;
+ gint _tmp34_;
+ JSDOCToken* _tmp35_;
+ JSDOCToken* _tmp36_;
+ const gchar* _tmp37_;
+ gboolean _tmp38_;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = tokens;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = n;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = jsdoc_token_array_get (_tmp33_, _tmp34_);
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = _tmp35_;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = _tmp36_->data;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = g_strcmp0 (_tmp37_, "{") == 0;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp36_);
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp38_) {
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = TRUE;
+#line 2008 "TokenReader.c"
+ } else {
+ JSDOCTokenArray* _tmp39_;
+ gint _tmp40_;
+ JSDOCToken* _tmp41_;
+ JSDOCToken* _tmp42_;
+ const gchar* _tmp43_;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = tokens;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = n;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = jsdoc_token_array_get (_tmp39_, _tmp40_);
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = _tmp41_;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = _tmp42_->data;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = g_strcmp0 (_tmp43_, "(") == 0;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp42_);
+#line 2029 "TokenReader.c"
+ }
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = _tmp32_;
+#line 2033 "TokenReader.c"
+ } else {
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = FALSE;
+#line 2037 "TokenReader.c"
+ }
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp30_) {
+#line 2041 "TokenReader.c"
+ gint _tmp44_;
+ gint _tmp45_;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = stack;
+#line 262 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ stack = _tmp44_ - 1;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = n;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = _tmp45_ - 1;
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 2054 "TokenReader.c"
+ }
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = n;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = _tmp46_ - 1;
+#line 2060 "TokenReader.c"
+ }
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = -1;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2066 "TokenReader.c"
+}
+
+
+/**
+ * lastSym - find the last token symbol
+ * need to back check syntax..
+ *
+ * @arg {Array} tokens the array of tokens.
+ * @arg {Number} offset where to start..
+ * @return {Token} the token
+ */
+JSDOCToken* jsdoc_token_reader_lastSym (JSDOCTokenReader* self, JSDOCTokenArray* tokens, gint n) {
+ JSDOCToken* result = NULL;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, NULL);
+#line 2084 "TokenReader.c"
+ {
+ gint i = 0;
+ gint _tmp0_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = n;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ i = _tmp0_ - 1;
+#line 2092 "TokenReader.c"
+ {
+ gboolean _tmp1_ = FALSE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = TRUE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 2099 "TokenReader.c"
+ gint _tmp3_;
+ gboolean _tmp4_ = FALSE;
+ JSDOCTokenArray* _tmp5_;
+ gint _tmp6_;
+ JSDOCToken* _tmp7_;
+ JSDOCToken* _tmp8_;
+ gboolean _tmp9_;
+ gboolean _tmp10_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp1_) {
+#line 2110 "TokenReader.c"
+ gint _tmp2_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = i;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ i = _tmp2_ - 1;
+#line 2116 "TokenReader.c"
+ }
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = FALSE;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = i;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(_tmp3_ >= 0)) {
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 2126 "TokenReader.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = tokens;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = i;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_token_array_get (_tmp5_, _tmp6_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = _tmp7_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_token_isType (_tmp8_, JSDOC_TOKEN_TYPE_WHIT);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = _tmp9_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp8_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp10_) {
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = TRUE;
+#line 2146 "TokenReader.c"
+ } else {
+ JSDOCTokenArray* _tmp11_;
+ gint _tmp12_;
+ JSDOCToken* _tmp13_;
+ JSDOCToken* _tmp14_;
+ gboolean _tmp15_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = tokens;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = i;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = jsdoc_token_array_get (_tmp11_, _tmp12_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = _tmp13_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = jsdoc_token_isType (_tmp14_, JSDOC_TOKEN_TYPE_COMM);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = _tmp15_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp14_);
+#line 2167 "TokenReader.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp4_) {
+#line 2171 "TokenReader.c"
+ JSDOCTokenArray* _tmp16_;
+ gint _tmp17_;
+ JSDOCToken* _tmp18_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = tokens;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = i;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_token_array_get (_tmp16_, _tmp17_);
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = _tmp18_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2185 "TokenReader.c"
+ }
+ }
+ }
+ }
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = NULL;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2194 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+static gint string_index_of (const gchar* self, const gchar* needle, gint start_index) {
+ gint result = 0;
+ gchar* _result_ = NULL;
+ gint _tmp0_;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, 0);
+#line 1011 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (needle != NULL, 0);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = start_index;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = needle;
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = strstr (((gchar*) self) + _tmp0_, (gchar*) _tmp1_);
+#line 1012 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp2_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = _result_;
+#line 1014 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 2224 "TokenReader.c"
+ gchar* _tmp4_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = _result_;
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gint) (_tmp4_ - ((gchar*) self));
+#line 1015 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2232 "TokenReader.c"
+ } else {
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = -1;
+#line 1017 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 2238 "TokenReader.c"
+ }
+}
+
+
+gboolean jsdoc_token_reader_read_word (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp14_;
+ JSDOCTokenName name = 0;
+ gboolean _tmp27_ = FALSE;
+ gboolean _tmp28_;
+ gchar** n = NULL;
+ const gchar* _tmp36_;
+ gchar** _tmp37_;
+ gchar** _tmp38_;
+ gint n_length1;
+ gint _n_size_;
+ gboolean p = FALSE;
+ gchar** _tmp39_;
+ gint _tmp39__length1;
+ GError * _inner_error_ = NULL;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 297 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp0_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 2273 "TokenReader.c"
+ gboolean _tmp1_ = FALSE;
+ JSDOCTextStream* _tmp2_;
+ gboolean _tmp3_;
+ const gchar* _tmp8_;
+ JSDOCTextStream* _tmp9_;
+ gchar _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = stream;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = jsdoc_text_stream_lookEOF (_tmp2_, 0);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp3_) {
+#line 2289 "TokenReader.c"
+ JSDOCLang_Class* _tmp4_;
+ JSDOCTextStream* _tmp5_;
+ gchar _tmp6_;
+ gboolean _tmp7_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = jsdoc_Lang;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = stream;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = jsdoc_text_stream_lookC (_tmp5_, 0);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_langclass_isWordChar (_tmp4_, _tmp6_);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _tmp7_;
+#line 2304 "TokenReader.c"
+ } else {
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = FALSE;
+#line 2308 "TokenReader.c"
+ }
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp1_) {
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 2314 "TokenReader.c"
+ }
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = found;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = stream;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_text_stream_nextC (_tmp9_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = g_strdup_printf ("%c", _tmp10_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = _tmp11_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = g_strconcat (_tmp8_, _tmp12_, NULL);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp13_;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp12_);
+#line 2334 "TokenReader.c"
+ }
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = found;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp14_, "") == 0) {
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2346 "TokenReader.c"
+ }
+ {
+ JSDOCTokenName _tmp15_ = 0;
+ JSDOCLang_Class* _tmp16_;
+ const gchar* _tmp17_;
+ JSDOCTokenName _tmp18_;
+ JSDOCTokenArray* _tmp20_;
+ const gchar* _tmp21_;
+ JSDOCTokenName _tmp22_;
+ gint _tmp23_;
+ JSDOCToken* _tmp24_;
+ JSDOCToken* _tmp25_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_Lang;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = found;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_langclass_keyword (_tmp16_, _tmp17_, &_inner_error_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = _tmp18_;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 2369 "TokenReader.c"
+ gboolean _tmp19_ = FALSE;
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_inner_error_->domain == JSDOC_LANG_ERROR) {
+#line 2373 "TokenReader.c"
+ goto __catch2_jsdoc_lang_error;
+ }
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_clear_error (&_inner_error_);
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return _tmp19_;
+#line 2384 "TokenReader.c"
+ }
+#line 307 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ name = _tmp15_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = tokens;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = found;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = name;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = self->priv->line;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = jsdoc_token_new (_tmp21_, JSDOC_TOKEN_TYPE_KEYW, _tmp22_, _tmp23_);
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = _tmp24_;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp20_, _tmp25_);
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp25_);
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2410 "TokenReader.c"
+ }
+ goto __finally2;
+ __catch2_jsdoc_lang_error:
+ {
+ GError* e = NULL;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ e = _inner_error_;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _inner_error_ = NULL;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_error_free0 (e);
+#line 2422 "TokenReader.c"
+ }
+ __finally2:
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 2427 "TokenReader.c"
+ gboolean _tmp26_ = FALSE;
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_clear_error (&_inner_error_);
+#line 306 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return _tmp26_;
+#line 2437 "TokenReader.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = self->sepIdents;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp28_) {
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = TRUE;
+#line 2445 "TokenReader.c"
+ } else {
+ const gchar* _tmp29_;
+ gint _tmp30_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = found;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = string_index_of (_tmp29_, ".", 0);
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = _tmp30_ < 0;
+#line 2455 "TokenReader.c"
+ }
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp27_) {
+#line 2459 "TokenReader.c"
+ JSDOCTokenArray* _tmp31_;
+ const gchar* _tmp32_;
+ gint _tmp33_;
+ JSDOCToken* _tmp34_;
+ JSDOCToken* _tmp35_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = tokens;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = found;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = self->priv->line;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = jsdoc_token_new (_tmp32_, JSDOC_TOKEN_TYPE_NAME, JSDOC_TOKEN_NAME_NAME, _tmp33_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = _tmp34_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp31_, _tmp35_);
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp35_);
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 349 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2485 "TokenReader.c"
+ }
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = found;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = _tmp37_ = g_strsplit (_tmp36_, ".", 0);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = _tmp38_;
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n_length1 = _vala_array_length (_tmp37_);
+#line 351 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _n_size_ = n_length1;
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ p = FALSE;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = n;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39__length1 = n_length1;
+#line 2503 "TokenReader.c"
+ {
+ gchar** nm_collection = NULL;
+ gint nm_collection_length1 = 0;
+ gint _nm_collection_size_ = 0;
+ gint nm_it = 0;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ nm_collection = _tmp39_;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ nm_collection_length1 = _tmp39__length1;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ for (nm_it = 0; nm_it < _tmp39__length1; nm_it = nm_it + 1) {
+#line 2515 "TokenReader.c"
+ const gchar* nm = NULL;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ nm = nm_collection[nm_it];
+#line 2519 "TokenReader.c"
+ {
+ gboolean _tmp40_;
+ const gchar* _tmp45_;
+ gint _tmp46_;
+ gint _tmp47_;
+ JSDOCTokenArray* _tmp48_;
+ const gchar* _tmp49_;
+ gint _tmp50_;
+ JSDOCToken* _tmp51_;
+ JSDOCToken* _tmp52_;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = p;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp40_) {
+#line 2534 "TokenReader.c"
+ JSDOCTokenArray* _tmp41_;
+ gint _tmp42_;
+ JSDOCToken* _tmp43_;
+ JSDOCToken* _tmp44_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = tokens;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = self->priv->line;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = jsdoc_token_new (".", JSDOC_TOKEN_TYPE_PUNC, JSDOC_TOKEN_NAME_DOT, _tmp42_);
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = _tmp43_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp41_, _tmp44_);
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp44_);
+#line 2551 "TokenReader.c"
+ }
+#line 358 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ p = TRUE;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = nm;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = strlen (_tmp45_);
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = _tmp46_;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp47_ < 1) {
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 2565 "TokenReader.c"
+ }
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = tokens;
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = nm;
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = self->priv->line;
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = jsdoc_token_new (_tmp49_, JSDOC_TOKEN_TYPE_NAME, JSDOC_TOKEN_NAME_NAME, _tmp50_);
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = _tmp51_;
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp48_, _tmp52_);
+#line 362 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp52_);
+#line 2581 "TokenReader.c"
+ }
+ }
+ }
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ n = (_vala_array_free (n, n_length1, (GDestroyNotify) g_free), NULL);
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 364 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2593 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_punc (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ gchar* _tmp0_;
+ gint pos = 0;
+ JSDOCTokenName tokname = 0;
+ JSDOCTokenName _tmp32_;
+ JSDOCToken* ls = NULL;
+ JSDOCTokenArray* _tmp33_;
+ JSDOCToken* _tmp34_;
+ gboolean _tmp35_ = FALSE;
+ gboolean _tmp36_ = FALSE;
+ gboolean _tmp37_ = FALSE;
+ const gchar* _tmp38_;
+ JSDOCTokenArray* _tmp52_;
+ const gchar* _tmp53_;
+ JSDOCTokenName _tmp54_;
+ gint _tmp55_;
+ JSDOCToken* _tmp56_;
+ JSDOCToken* _tmp57_;
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 372 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp0_;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ pos = 0;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ tokname = JSDOC_TOKEN_NAME_UNKNOWN;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 2636 "TokenReader.c"
+ JSDOCTextStream* _tmp1_;
+ gboolean _tmp2_;
+ gchar ns = '\0';
+ JSDOCTextStream* _tmp3_;
+ gchar _tmp4_;
+ gint _tmp5_;
+ JSDOCTokenName nx = 0;
+ JSDOCLang_Class* _tmp16_;
+ const gchar* _tmp17_;
+ gchar _tmp18_;
+ gchar* _tmp19_;
+ gchar* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ JSDOCTokenName _tmp23_;
+ JSDOCTokenName _tmp24_;
+ JSDOCTokenName _tmp25_;
+ JSDOCTokenName _tmp26_;
+ const gchar* _tmp27_;
+ JSDOCTextStream* _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gchar* _tmp31_;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = stream;
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = jsdoc_text_stream_lookEOF (_tmp1_, 0);
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp2_)) {
+#line 377 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 2668 "TokenReader.c"
+ }
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = stream;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = jsdoc_text_stream_lookC (_tmp3_, 0);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ ns = _tmp4_;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = pos;
+#line 379 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp5_ == 0) {
+#line 2680 "TokenReader.c"
+ JSDOCLang_Class* _tmp6_;
+ gchar _tmp7_;
+ JSDOCTokenName _tmp8_;
+ JSDOCTokenName _tmp9_;
+ gint _tmp10_;
+ const gchar* _tmp11_;
+ JSDOCTextStream* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = jsdoc_Lang;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = ns;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = jsdoc_langclass_puncFirstString (_tmp6_, _tmp7_);
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ tokname = _tmp8_;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = tokname;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (JSDOC_TOKEN_NAME_UNKNOWN == _tmp9_) {
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 2705 "TokenReader.c"
+ }
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = pos;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ pos = _tmp10_ + 1;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = found;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = stream;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = jsdoc_text_stream_nextS (_tmp12_, 1);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = _tmp13_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = g_strconcat (_tmp11_, _tmp14_, NULL);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp15_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp14_);
+#line 386 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 2729 "TokenReader.c"
+ }
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_Lang;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = found;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = ns;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = g_strdup_printf ("%c", _tmp18_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = _tmp19_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = g_strconcat (_tmp17_, _tmp20_, NULL);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = _tmp21_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = jsdoc_langclass_puncString (_tmp16_, _tmp22_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = _tmp23_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp22_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp20_);
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ nx = _tmp24_;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = nx;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (JSDOC_TOKEN_NAME_UNKNOWN == _tmp25_) {
+#line 390 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 2761 "TokenReader.c"
+ }
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = nx;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ tokname = _tmp26_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = found;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = stream;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = jsdoc_text_stream_nextS (_tmp28_, 1);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = _tmp29_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = g_strconcat (_tmp27_, _tmp30_, NULL);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp31_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp30_);
+#line 2783 "TokenReader.c"
+ }
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = tokname;
+#line 398 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp32_ == JSDOC_TOKEN_NAME_UNKNOWN) {
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2795 "TokenReader.c"
+ }
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = tokens;
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = jsdoc_token_array_lastSym (_tmp33_);
+#line 402 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ ls = _tmp34_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = found;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp38_, "}") == 0) {
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = TRUE;
+#line 2809 "TokenReader.c"
+ } else {
+ const gchar* _tmp39_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = found;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = g_strcmp0 (_tmp39_, "]") == 0;
+#line 2816 "TokenReader.c"
+ }
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp37_) {
+#line 2820 "TokenReader.c"
+ JSDOCToken* _tmp40_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = ls;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = _tmp40_ != NULL;
+#line 2826 "TokenReader.c"
+ } else {
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = FALSE;
+#line 2830 "TokenReader.c"
+ }
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp36_) {
+#line 2834 "TokenReader.c"
+ JSDOCToken* _tmp41_;
+ const gchar* _tmp42_;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = ls;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = _tmp41_->data;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = g_strcmp0 (_tmp42_, ",") == 0;
+#line 2843 "TokenReader.c"
+ } else {
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = FALSE;
+#line 2847 "TokenReader.c"
+ }
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp35_) {
+#line 2851 "TokenReader.c"
+ JSDOCPacker* _tmp43_;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = self->priv->packer;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp43_ != NULL) {
+#line 2857 "TokenReader.c"
+ JSDOCPackerResultType _tmp44_ = 0;
+ gboolean _tmp45_;
+ JSDOCPacker* _tmp46_;
+ const gchar* _tmp47_;
+ gint _tmp48_;
+ const gchar* _tmp49_;
+ gchar* _tmp50_;
+ gchar* _tmp51_;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = self->ignoreBadGrammer;
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp45_) {
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = JSDOC_PACKER_RESULT_TYPE_warn;
+#line 2872 "TokenReader.c"
+ } else {
+#line 409 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = JSDOC_PACKER_RESULT_TYPE_err;
+#line 2876 "TokenReader.c"
+ }
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = self->priv->packer;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = self->filename;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = self->priv->line;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = found;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = g_strconcat ("comma found before ", _tmp49_, NULL);
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = _tmp50_;
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_packer_logError (_tmp46_, _tmp44_, _tmp47_, _tmp48_, _tmp51_);
+#line 408 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp51_);
+#line 2894 "TokenReader.c"
+ }
+ }
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = tokens;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp53_ = found;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp54_ = tokname;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp55_ = self->priv->line;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp56_ = jsdoc_token_new (_tmp53_, JSDOC_TOKEN_TYPE_PUNC, _tmp54_, _tmp55_);
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp57_ = _tmp56_;
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp52_, _tmp57_);
+#line 418 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp57_);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (ls);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 419 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 2921 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_space (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp20_;
+ gboolean _tmp21_;
+ gboolean _tmp23_;
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 426 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp0_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 2947 "TokenReader.c"
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ JSDOCTextStream* _tmp3_;
+ gboolean _tmp4_;
+ const gchar* _tmp15_;
+ JSDOCTextStream* _tmp16_;
+ gchar* _tmp17_;
+ gchar* _tmp18_;
+ gchar* _tmp19_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = stream;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = jsdoc_text_stream_lookEOF (_tmp3_, 0);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp4_) {
+#line 2963 "TokenReader.c"
+ JSDOCLang_Class* _tmp5_;
+ JSDOCTextStream* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gboolean _tmp9_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_Lang;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = stream;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_text_stream_lookS (_tmp6_, 0);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = _tmp7_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_langclass_isSpace (_tmp5_, _tmp8_);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = _tmp9_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp8_);
+#line 2983 "TokenReader.c"
+ } else {
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = FALSE;
+#line 2987 "TokenReader.c"
+ }
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_) {
+#line 2991 "TokenReader.c"
+ JSDOCLang_Class* _tmp10_;
+ JSDOCTextStream* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gboolean _tmp14_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_Lang;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = stream;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_text_stream_lookS (_tmp11_, 0);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp12_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = jsdoc_langclass_isNewline (_tmp10_, _tmp13_);
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = !_tmp14_;
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp13_);
+#line 3011 "TokenReader.c"
+ } else {
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = FALSE;
+#line 3015 "TokenReader.c"
+ }
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp1_) {
+#line 431 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 3021 "TokenReader.c"
+ }
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = found;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = stream;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = jsdoc_text_stream_nextS (_tmp16_, 1);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = _tmp17_;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = g_strconcat (_tmp15_, _tmp18_, NULL);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp19_;
+#line 432 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp18_);
+#line 3039 "TokenReader.c"
+ }
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = found;
+#line 435 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp20_, "") == 0) {
+#line 436 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 436 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 436 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3051 "TokenReader.c"
+ }
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = self->collapseWhite;
+#line 441 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp21_) {
+#line 3057 "TokenReader.c"
+ gchar* _tmp22_;
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = g_strdup (" ");
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 442 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp22_;
+#line 3065 "TokenReader.c"
+ }
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = self->keepWhite;
+#line 444 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp23_) {
+#line 3071 "TokenReader.c"
+ JSDOCTokenArray* _tmp24_;
+ const gchar* _tmp25_;
+ gint _tmp26_;
+ JSDOCToken* _tmp27_;
+ JSDOCToken* _tmp28_;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = tokens;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = found;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = self->priv->line;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = jsdoc_token_new (_tmp25_, JSDOC_TOKEN_TYPE_WHIT, JSDOC_TOKEN_NAME_SPACE, _tmp26_);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = _tmp27_;
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp24_, _tmp28_);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp28_);
+#line 3091 "TokenReader.c"
+ }
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 447 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3099 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_newline (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ gchar* _tmp0_;
+ gint line = 0;
+ gint _tmp1_;
+ gchar* lastc = NULL;
+ gchar* _tmp2_;
+ const gchar* _tmp24_;
+ gboolean _tmp25_;
+ gboolean _tmp27_;
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 454 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 457 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp0_;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = self->priv->line;
+#line 459 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ line = _tmp1_;
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = g_strdup ("");
+#line 461 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ lastc = _tmp2_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 3137 "TokenReader.c"
+ gboolean _tmp3_ = FALSE;
+ JSDOCTextStream* _tmp4_;
+ gboolean _tmp5_;
+ gchar* cur = NULL;
+ JSDOCTextStream* _tmp11_;
+ gchar* _tmp12_;
+ gboolean _tmp13_ = FALSE;
+ const gchar* _tmp14_;
+ const gchar* _tmp17_;
+ gchar* _tmp18_;
+ const gchar* _tmp19_;
+ JSDOCTextStream* _tmp20_;
+ gchar* _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = stream;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_text_stream_lookEOF (_tmp4_, 0);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp5_) {
+#line 3159 "TokenReader.c"
+ JSDOCLang_Class* _tmp6_;
+ JSDOCTextStream* _tmp7_;
+ gchar* _tmp8_;
+ gchar* _tmp9_;
+ gboolean _tmp10_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = jsdoc_Lang;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = stream;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = jsdoc_text_stream_lookS (_tmp7_, 0);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = _tmp8_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_langclass_isNewline (_tmp6_, _tmp9_);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = _tmp10_;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp9_);
+#line 3179 "TokenReader.c"
+ } else {
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = FALSE;
+#line 3183 "TokenReader.c"
+ }
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp3_) {
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 3189 "TokenReader.c"
+ }
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = stream;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_text_stream_lookS (_tmp11_, 0);
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ cur = _tmp12_;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = lastc;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp14_, "\r") == 0) {
+#line 3201 "TokenReader.c"
+ const gchar* _tmp15_;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = cur;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = g_strcmp0 (_tmp15_, "\n") == 0;
+#line 3207 "TokenReader.c"
+ } else {
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = FALSE;
+#line 3211 "TokenReader.c"
+ }
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp13_) {
+#line 3215 "TokenReader.c"
+ } else {
+ gint _tmp16_;
+#line 467 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = self->priv->line;
+#line 467 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->line = _tmp16_ + 1;
+#line 3222 "TokenReader.c"
+ }
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = cur;
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = g_strdup (_tmp17_);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (lastc);
+#line 469 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ lastc = _tmp18_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = found;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = stream;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = jsdoc_text_stream_nextS (_tmp20_, 1);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = _tmp21_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = g_strconcat (_tmp19_, _tmp22_, NULL);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp23_;
+#line 472 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp22_);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (cur);
+#line 3250 "TokenReader.c"
+ }
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = found;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp24_, "") == 0) {
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (lastc);
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3264 "TokenReader.c"
+ }
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = self->collapseWhite;
+#line 484 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp25_) {
+#line 3270 "TokenReader.c"
+ gchar* _tmp26_;
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = g_strdup ("\n");
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 485 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp26_;
+#line 3278 "TokenReader.c"
+ }
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = self->keepWhite;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp27_) {
+#line 3284 "TokenReader.c"
+ JSDOCToken* last = NULL;
+ JSDOCTokenArray* _tmp28_;
+ JSDOCToken* _tmp29_;
+ gboolean _tmp30_ = FALSE;
+ JSDOCToken* _tmp31_;
+ JSDOCTokenArray* _tmp37_;
+ const gchar* _tmp38_;
+ gint _tmp39_;
+ JSDOCToken* _tmp40_;
+ JSDOCToken* _tmp41_;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = tokens;
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = jsdoc_token_array_last (_tmp28_);
+#line 489 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ last = _tmp29_;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = last;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp31_ != NULL) {
+#line 3305 "TokenReader.c"
+ JSDOCToken* _tmp32_;
+ JSDOCTokenType _tmp33_;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = last;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = _tmp32_->type;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = _tmp33_ != JSDOC_TOKEN_TYPE_WHIT;
+#line 3314 "TokenReader.c"
+ } else {
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = FALSE;
+#line 3318 "TokenReader.c"
+ }
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp30_) {
+#line 3322 "TokenReader.c"
+ } else {
+ JSDOCTokenArray* _tmp34_;
+ JSDOCToken* _tmp35_;
+ JSDOCToken* _tmp36_;
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = tokens;
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = jsdoc_token_array_pop (_tmp34_);
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = _tmp35_;
+#line 493 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp36_);
+#line 3335 "TokenReader.c"
+ }
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = tokens;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = found;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = line;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = jsdoc_token_new (_tmp38_, JSDOC_TOKEN_TYPE_WHIT, JSDOC_TOKEN_NAME_NEWLINE, _tmp39_);
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = _tmp40_;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp37_, _tmp41_);
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp41_);
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (last);
+#line 3353 "TokenReader.c"
+ }
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (lastc);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 498 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3363 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+static gchar string_get (const gchar* self, glong index) {
+ gchar result = '\0';
+ glong _tmp0_;
+ gchar _tmp1_;
+#line 1110 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, '\0');
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = index;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = ((gchar*) self)[_tmp0_];
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp1_;
+#line 1111 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 3384 "TokenReader.c"
+}
+
+
+gboolean jsdoc_token_reader_read_mlcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ JSDOCTextStream* _tmp0_;
+ gchar _tmp1_;
+ JSDOCTextStream* _tmp2_;
+ gchar _tmp3_;
+ GString* found = NULL;
+ GString* _tmp4_;
+ GString* _tmp5_;
+ JSDOCTextStream* _tmp6_;
+ gchar* _tmp7_;
+ gchar* _tmp8_;
+ gchar* c = NULL;
+ gchar* _tmp9_;
+ gint line = 0;
+ gint _tmp10_;
+ gboolean _tmp25_ = FALSE;
+ gboolean _tmp26_ = FALSE;
+ gboolean _tmp27_ = FALSE;
+ gboolean _tmp28_;
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 504 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = stream;
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_text_stream_lookC (_tmp0_, 0);
+#line 506 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_ != '/') {
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 507 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3424 "TokenReader.c"
+ }
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = stream;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = jsdoc_text_stream_lookC (_tmp2_, 1);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp3_ != '*') {
+#line 510 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 510 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3436 "TokenReader.c"
+ }
+#line 513 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = g_string_new ("");
+#line 513 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp4_;
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = found;
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = stream;
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_text_stream_nextS (_tmp6_, 2);
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = _tmp7_;
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp5_, _tmp8_);
+#line 514 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp8_);
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = g_strdup ("");
+#line 517 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ c = _tmp9_;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = self->priv->line;
+#line 518 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ line = _tmp10_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 3464 "TokenReader.c"
+ gboolean _tmp11_ = FALSE;
+ JSDOCTextStream* _tmp12_;
+ gboolean _tmp13_;
+ JSDOCTextStream* _tmp19_;
+ gchar* _tmp20_;
+ const gchar* _tmp21_;
+ GString* _tmp23_;
+ const gchar* _tmp24_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = stream;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = jsdoc_text_stream_lookEOF (_tmp12_, 0);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp13_) {
+#line 3479 "TokenReader.c"
+ gboolean _tmp14_ = FALSE;
+ JSDOCTextStream* _tmp15_;
+ gchar _tmp16_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = stream;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_text_stream_lookC (_tmp15_, -1);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp16_ == '/') {
+#line 3489 "TokenReader.c"
+ JSDOCTextStream* _tmp17_;
+ gchar _tmp18_;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = stream;
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_text_stream_lookC (_tmp17_, -2);
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = _tmp18_ == '*';
+#line 3498 "TokenReader.c"
+ } else {
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = FALSE;
+#line 3502 "TokenReader.c"
+ }
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = !_tmp14_;
+#line 3506 "TokenReader.c"
+ } else {
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = FALSE;
+#line 3510 "TokenReader.c"
+ }
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp11_) {
+#line 519 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 3516 "TokenReader.c"
+ }
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = stream;
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = jsdoc_text_stream_nextS (_tmp19_, 1);
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (c);
+#line 520 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ c = _tmp20_;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = c;
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp21_, "\n") == 0) {
+#line 3530 "TokenReader.c"
+ gint _tmp22_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = self->priv->line;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->line = _tmp22_ + 1;
+#line 3536 "TokenReader.c"
+ }
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = found;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = c;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp23_, _tmp24_);
+#line 3544 "TokenReader.c"
+ }
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = self->keepDocs;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp28_) {
+#line 3550 "TokenReader.c"
+ GString* _tmp29_;
+ gssize _tmp30_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = found;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = _tmp29_->len;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = _tmp30_ > ((gssize) 4);
+#line 3559 "TokenReader.c"
+ } else {
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = FALSE;
+#line 3563 "TokenReader.c"
+ }
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp27_) {
+#line 3567 "TokenReader.c"
+ GString* _tmp31_;
+ const gchar* _tmp32_;
+ gint _tmp33_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = found;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = _tmp31_->str;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = string_index_of (_tmp32_, "/**", 0);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = _tmp33_ == 0;
+#line 3579 "TokenReader.c"
+ } else {
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = FALSE;
+#line 3583 "TokenReader.c"
+ }
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp26_) {
+#line 3587 "TokenReader.c"
+ GString* _tmp34_;
+ const gchar* _tmp35_;
+ gchar _tmp36_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = found;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = _tmp34_->str;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = string_get (_tmp35_, (glong) 3);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = _tmp36_ != '/';
+#line 3599 "TokenReader.c"
+ } else {
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = FALSE;
+#line 3603 "TokenReader.c"
+ }
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp25_) {
+#line 3607 "TokenReader.c"
+ JSDOCTokenArray* _tmp37_;
+ GString* _tmp38_;
+ const gchar* _tmp39_;
+ gint _tmp40_;
+ JSDOCToken* _tmp41_;
+ JSDOCToken* _tmp42_;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = tokens;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = found;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = _tmp38_->str;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = self->priv->line;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = jsdoc_token_new (_tmp39_, JSDOC_TOKEN_TYPE_COMM, JSDOC_TOKEN_NAME_JSDOC, _tmp40_);
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = _tmp41_;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp37_, _tmp42_);
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp42_);
+#line 3630 "TokenReader.c"
+ } else {
+ gboolean _tmp43_;
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = self->keepComments;
+#line 531 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp43_) {
+#line 3637 "TokenReader.c"
+ JSDOCTokenArray* _tmp44_;
+ GString* _tmp45_;
+ const gchar* _tmp46_;
+ gint _tmp47_;
+ JSDOCToken* _tmp48_;
+ JSDOCToken* _tmp49_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = tokens;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = found;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = _tmp45_->str;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = line;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = jsdoc_token_new (_tmp46_, JSDOC_TOKEN_TYPE_COMM, JSDOC_TOKEN_NAME_MULTI_LINE_COMM, _tmp47_);
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = _tmp48_;
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp44_, _tmp49_);
+#line 532 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp49_);
+#line 3660 "TokenReader.c"
+ }
+ }
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (c);
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_string_free0 (found);
+#line 534 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3671 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+static const gchar* string_to_string (const gchar* self) {
+ const gchar* result = NULL;
+#line 1442 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1443 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = self;
+#line 1443 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 3686 "TokenReader.c"
+}
+
+
+gboolean jsdoc_token_reader_read_slcomment (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ gchar* _tmp0_;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gboolean _tmp3_ = FALSE;
+ JSDOCTextStream* _tmp4_;
+ gchar _tmp5_;
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 541 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 543 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp0_;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = stream;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_text_stream_lookC (_tmp4_, 0);
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp5_ == '/') {
+#line 3715 "TokenReader.c"
+ JSDOCTextStream* _tmp6_;
+ gchar _tmp7_;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = stream;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_text_stream_lookC (_tmp6_, 1);
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = _tmp7_ == '/';
+#line 3724 "TokenReader.c"
+ } else {
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = FALSE;
+#line 3728 "TokenReader.c"
+ }
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp3_) {
+#line 3732 "TokenReader.c"
+ JSDOCTextStream* _tmp8_;
+ gchar* _tmp9_;
+ const gchar* _tmp10_;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = stream;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_text_stream_nextS (_tmp8_, 2);
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp9_;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = found;
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = g_strcmp0 ("", _tmp10_) != 0;
+#line 3748 "TokenReader.c"
+ } else {
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = FALSE;
+#line 3752 "TokenReader.c"
+ }
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_) {
+#line 545 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = TRUE;
+#line 3758 "TokenReader.c"
+ } else {
+ gboolean _tmp11_ = FALSE;
+ gboolean _tmp12_ = FALSE;
+ gboolean _tmp13_ = FALSE;
+ gboolean _tmp14_ = FALSE;
+ JSDOCTextStream* _tmp15_;
+ gchar _tmp16_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = stream;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_text_stream_lookC (_tmp15_, 0);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp16_ == '<') {
+#line 3772 "TokenReader.c"
+ JSDOCTextStream* _tmp17_;
+ gchar _tmp18_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = stream;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_text_stream_lookC (_tmp17_, 1);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = _tmp18_ == '!';
+#line 3781 "TokenReader.c"
+ } else {
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = FALSE;
+#line 3785 "TokenReader.c"
+ }
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp14_) {
+#line 3789 "TokenReader.c"
+ JSDOCTextStream* _tmp19_;
+ gchar _tmp20_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = stream;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = jsdoc_text_stream_lookC (_tmp19_, 2);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp20_ == '-';
+#line 3798 "TokenReader.c"
+ } else {
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = FALSE;
+#line 3802 "TokenReader.c"
+ }
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp13_) {
+#line 3806 "TokenReader.c"
+ JSDOCTextStream* _tmp21_;
+ gchar _tmp22_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = stream;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = jsdoc_text_stream_lookC (_tmp21_, 3);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = _tmp22_ == '-';
+#line 3815 "TokenReader.c"
+ } else {
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = FALSE;
+#line 3819 "TokenReader.c"
+ }
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp12_) {
+#line 3823 "TokenReader.c"
+ JSDOCTextStream* _tmp23_;
+ gchar* _tmp24_;
+ const gchar* _tmp25_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = stream;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = jsdoc_text_stream_nextS (_tmp23_, 4);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp24_;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = found;
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = g_strcmp0 ("", _tmp25_) != 0;
+#line 3839 "TokenReader.c"
+ } else {
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = FALSE;
+#line 3843 "TokenReader.c"
+ }
+#line 547 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = _tmp11_;
+#line 3847 "TokenReader.c"
+ }
+#line 544 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_) {
+#line 3851 "TokenReader.c"
+ gint line = 0;
+ gint _tmp26_;
+ JSDOCTextStream* _tmp41_;
+ gboolean _tmp42_;
+ gboolean _tmp48_;
+ gint _tmp54_;
+#line 549 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = self->priv->line;
+#line 549 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ line = _tmp26_;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 3864 "TokenReader.c"
+ JSDOCTextStream* _tmp27_;
+ gboolean _tmp28_;
+ JSDOCLang_Class* _tmp29_;
+ JSDOCTextStream* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+ const gchar* _tmp33_;
+ gboolean _tmp34_;
+ gboolean _tmp35_;
+ const gchar* _tmp36_;
+ JSDOCTextStream* _tmp37_;
+ gchar* _tmp38_;
+ gchar* _tmp39_;
+ gchar* _tmp40_;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = stream;
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = jsdoc_text_stream_lookEOF (_tmp27_, 0);
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp28_)) {
+#line 550 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 3887 "TokenReader.c"
+ }
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = jsdoc_Lang;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = stream;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = jsdoc_text_stream_lookS (_tmp30_, 0);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = _tmp31_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = string_to_string (_tmp32_);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = jsdoc_langclass_isNewline (_tmp29_, _tmp33_);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = _tmp34_;
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp32_);
+#line 552 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp35_) {
+#line 553 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 3909 "TokenReader.c"
+ }
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = found;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = stream;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = jsdoc_text_stream_nextS (_tmp37_, 1);
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = _tmp38_;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = g_strconcat (_tmp36_, _tmp39_, NULL);
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp40_;
+#line 555 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp39_);
+#line 3927 "TokenReader.c"
+ }
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = stream;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = jsdoc_text_stream_lookEOF (_tmp41_, 0);
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp42_) {
+#line 3935 "TokenReader.c"
+ const gchar* _tmp43_;
+ JSDOCTextStream* _tmp44_;
+ gchar* _tmp45_;
+ gchar* _tmp46_;
+ gchar* _tmp47_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = found;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = stream;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = jsdoc_text_stream_nextS (_tmp44_, 1);
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = _tmp45_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = g_strconcat (_tmp43_, _tmp46_, NULL);
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp47_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp46_);
+#line 3957 "TokenReader.c"
+ }
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = self->keepComments;
+#line 560 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp48_) {
+#line 3963 "TokenReader.c"
+ JSDOCTokenArray* _tmp49_;
+ const gchar* _tmp50_;
+ gint _tmp51_;
+ JSDOCToken* _tmp52_;
+ JSDOCToken* _tmp53_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = tokens;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = found;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = line;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = jsdoc_token_new (_tmp50_, JSDOC_TOKEN_TYPE_COMM, JSDOC_TOKEN_NAME_SINGLE_LINE_COMM, _tmp51_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp53_ = _tmp52_;
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp49_, _tmp53_);
+#line 561 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp53_);
+#line 3983 "TokenReader.c"
+ }
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp54_ = self->priv->line;
+#line 563 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->line = _tmp54_ + 1;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 3995 "TokenReader.c"
+ }
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4003 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_dbquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ JSDOCTextStream* _tmp0_;
+ gchar _tmp1_;
+ GString* str = NULL;
+ GString* _tmp2_;
+ GString* _tmp3_;
+ JSDOCTextStream* _tmp4_;
+ gchar _tmp5_;
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 572 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = stream;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_text_stream_lookC (_tmp0_, 0);
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_ != '"') {
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 575 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4035 "TokenReader.c"
+ }
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = g_string_new ("");
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ str = _tmp2_;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = str;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = stream;
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_text_stream_nextC (_tmp4_);
+#line 579 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append_unichar (_tmp3_, (gunichar) _tmp5_);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 4051 "TokenReader.c"
+ JSDOCTextStream* _tmp6_;
+ gboolean _tmp7_;
+ JSDOCTextStream* _tmp8_;
+ gchar _tmp9_;
+ JSDOCTextStream* _tmp33_;
+ gchar _tmp34_;
+ GString* _tmp44_;
+ JSDOCTextStream* _tmp45_;
+ gchar* _tmp46_;
+ gchar* _tmp47_;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = stream;
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_text_stream_lookEOF (_tmp6_, 0);
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp7_)) {
+#line 581 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 4070 "TokenReader.c"
+ }
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = stream;
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_text_stream_lookC (_tmp8_, 0);
+#line 582 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp9_ == '\\') {
+#line 4078 "TokenReader.c"
+ JSDOCLang_Class* _tmp10_;
+ JSDOCTextStream* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ const gchar* _tmp14_;
+ gboolean _tmp15_;
+ gboolean _tmp16_;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_Lang;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = stream;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_text_stream_lookS (_tmp11_, 1);
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp12_;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = string_to_string (_tmp13_);
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = jsdoc_langclass_isNewline (_tmp10_, _tmp14_);
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = _tmp15_;
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp13_);
+#line 583 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp16_) {
+#line 4104 "TokenReader.c"
+ GString* _tmp28_;
+ {
+ gboolean _tmp17_ = FALSE;
+#line 584 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = TRUE;
+#line 584 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 4112 "TokenReader.c"
+ JSDOCTextStream* _tmp27_;
+#line 584 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp17_) {
+#line 4116 "TokenReader.c"
+ gboolean _tmp18_ = FALSE;
+ JSDOCTextStream* _tmp19_;
+ gboolean _tmp20_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = stream;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = jsdoc_text_stream_lookEOF (_tmp19_, 0);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp20_) {
+#line 4126 "TokenReader.c"
+ JSDOCLang_Class* _tmp21_;
+ JSDOCTextStream* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ const gchar* _tmp25_;
+ gboolean _tmp26_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = jsdoc_Lang;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = stream;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = jsdoc_text_stream_lookS (_tmp22_, 0);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = _tmp23_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = string_to_string (_tmp24_);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = jsdoc_langclass_isNewline (_tmp21_, _tmp25_);
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = _tmp26_;
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp24_);
+#line 4149 "TokenReader.c"
+ } else {
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = FALSE;
+#line 4153 "TokenReader.c"
+ }
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp18_) {
+#line 586 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 4159 "TokenReader.c"
+ }
+ }
+#line 584 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = FALSE;
+#line 585 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = stream;
+#line 585 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_text_stream_nextC (_tmp27_);
+#line 4168 "TokenReader.c"
+ }
+ }
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = str;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp28_, "\\\n");
+#line 4175 "TokenReader.c"
+ } else {
+ GString* _tmp29_;
+ JSDOCTextStream* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = str;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = stream;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = jsdoc_text_stream_nextS (_tmp30_, 2);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = _tmp31_;
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp29_, _tmp32_);
+#line 590 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp32_);
+#line 4193 "TokenReader.c"
+ }
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 4197 "TokenReader.c"
+ }
+#line 594 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = stream;
+#line 594 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = jsdoc_text_stream_lookC (_tmp33_, 0);
+#line 594 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp34_ == '"') {
+#line 4205 "TokenReader.c"
+ GString* _tmp35_;
+ JSDOCTextStream* _tmp36_;
+ gchar _tmp37_;
+ JSDOCTokenArray* _tmp38_;
+ GString* _tmp39_;
+ const gchar* _tmp40_;
+ gint _tmp41_;
+ JSDOCToken* _tmp42_;
+ JSDOCToken* _tmp43_;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = str;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = stream;
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = jsdoc_text_stream_nextC (_tmp36_);
+#line 595 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append_unichar (_tmp35_, (gunichar) _tmp37_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = tokens;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = str;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = _tmp39_->str;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = self->priv->line;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = jsdoc_token_new (_tmp40_, JSDOC_TOKEN_TYPE_STRN, JSDOC_TOKEN_NAME_DOUBLE_QUOTE, _tmp41_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = _tmp42_;
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp38_, _tmp43_);
+#line 596 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp43_);
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_string_free0 (str);
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4245 "TokenReader.c"
+ }
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = str;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = stream;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = jsdoc_text_stream_nextS (_tmp45_, 1);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = _tmp46_;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp44_, _tmp47_);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp47_);
+#line 4259 "TokenReader.c"
+ }
+#line 603 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 603 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_string_free0 (str);
+#line 603 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4267 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_snquote (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ JSDOCTextStream* _tmp0_;
+ gchar _tmp1_;
+ GString* str = NULL;
+ GString* _tmp2_;
+ GString* _tmp3_;
+ JSDOCTextStream* _tmp4_;
+ gchar _tmp5_;
+#line 609 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 609 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 609 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 611 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = stream;
+#line 611 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_text_stream_lookC (_tmp0_, 0);
+#line 611 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_ != '\'') {
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4299 "TokenReader.c"
+ }
+#line 615 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = g_string_new ("");
+#line 615 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ str = _tmp2_;
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = str;
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = stream;
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_text_stream_nextC (_tmp4_);
+#line 616 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append_unichar (_tmp3_, (gunichar) _tmp5_);
+#line 618 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 4315 "TokenReader.c"
+ JSDOCTextStream* _tmp6_;
+ gboolean _tmp7_;
+ JSDOCTextStream* _tmp8_;
+ gchar _tmp9_;
+ JSDOCTextStream* _tmp14_;
+ gchar _tmp15_;
+ GString* _tmp25_;
+ JSDOCTextStream* _tmp26_;
+ gchar* _tmp27_;
+ gchar* _tmp28_;
+#line 618 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = stream;
+#line 618 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_text_stream_lookEOF (_tmp6_, 0);
+#line 618 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp7_)) {
+#line 618 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 4334 "TokenReader.c"
+ }
+#line 619 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = stream;
+#line 619 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = jsdoc_text_stream_lookC (_tmp8_, 0);
+#line 619 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp9_ == '\\') {
+#line 4342 "TokenReader.c"
+ GString* _tmp10_;
+ JSDOCTextStream* _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = str;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = stream;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_text_stream_nextS (_tmp11_, 2);
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp12_;
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp10_, _tmp13_);
+#line 620 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp13_);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 4361 "TokenReader.c"
+ }
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = stream;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = jsdoc_text_stream_lookC (_tmp14_, 0);
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp15_ == '\'') {
+#line 4369 "TokenReader.c"
+ GString* _tmp16_;
+ JSDOCTextStream* _tmp17_;
+ gchar _tmp18_;
+ JSDOCTokenArray* _tmp19_;
+ GString* _tmp20_;
+ const gchar* _tmp21_;
+ gint _tmp22_;
+ JSDOCToken* _tmp23_;
+ JSDOCToken* _tmp24_;
+#line 624 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = str;
+#line 624 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = stream;
+#line 624 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_text_stream_nextC (_tmp17_);
+#line 624 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append_unichar (_tmp16_, (gunichar) _tmp18_);
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = tokens;
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = str;
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = _tmp20_->str;
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = self->priv->line;
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = jsdoc_token_new (_tmp21_, JSDOC_TOKEN_TYPE_STRN, JSDOC_TOKEN_NAME_SINGLE_QUOTE, _tmp22_);
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = _tmp23_;
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp19_, _tmp24_);
+#line 625 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp24_);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_string_free0 (str);
+#line 626 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4409 "TokenReader.c"
+ }
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = str;
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = stream;
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = jsdoc_text_stream_nextS (_tmp26_, 1);
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = _tmp27_;
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_string_append (_tmp25_, _tmp28_);
+#line 628 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp28_);
+#line 4423 "TokenReader.c"
+ }
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_string_free0 (str);
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4431 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_numb (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gboolean _tmp0_ = FALSE;
+ JSDOCTextStream* _tmp1_;
+ gchar _tmp2_;
+ gchar* found = NULL;
+ gchar* _tmp8_;
+ const gchar* _tmp32_;
+ gboolean _tmp33_ = FALSE;
+ JSDOCTextStream* _tmp34_;
+ gchar _tmp35_;
+ const gchar* _tmp97_;
+ gboolean _tmp98_;
+ JSDOCTokenArray* _tmp104_;
+ const gchar* _tmp105_;
+ gint _tmp106_;
+ JSDOCToken* _tmp107_;
+ JSDOCToken* _tmp108_;
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = stream;
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = jsdoc_text_stream_lookC (_tmp1_, 0);
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp2_ == '0') {
+#line 4468 "TokenReader.c"
+ JSDOCTextStream* _tmp3_;
+ gchar _tmp4_;
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = stream;
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = jsdoc_text_stream_lookC (_tmp3_, 1);
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = _tmp4_ == 'x';
+#line 4477 "TokenReader.c"
+ } else {
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = FALSE;
+#line 4481 "TokenReader.c"
+ }
+#line 640 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp0_) {
+#line 4485 "TokenReader.c"
+ JSDOCTextStream* _tmp5_;
+ JSDOCTokenArray* _tmp6_;
+ gboolean _tmp7_;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = stream;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = tokens;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_token_reader_read_hex (self, _tmp5_, _tmp6_);
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = _tmp7_;
+#line 641 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4499 "TokenReader.c"
+ }
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = g_strdup ("");
+#line 644 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp8_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 4507 "TokenReader.c"
+ gboolean _tmp9_ = FALSE;
+ gboolean _tmp10_ = FALSE;
+ JSDOCTextStream* _tmp11_;
+ gboolean _tmp12_;
+ const gchar* _tmp27_;
+ JSDOCTextStream* _tmp28_;
+ gchar* _tmp29_;
+ gchar* _tmp30_;
+ gchar* _tmp31_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = stream;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_text_stream_lookEOF (_tmp11_, 0);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp12_) {
+#line 4523 "TokenReader.c"
+ JSDOCLang_Class* _tmp13_;
+ JSDOCTextStream* _tmp14_;
+ gchar* _tmp15_;
+ gchar* _tmp16_;
+ gboolean _tmp17_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = jsdoc_Lang;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = stream;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = jsdoc_text_stream_lookS (_tmp14_, 0);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = _tmp15_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = jsdoc_langclass_isNewline (_tmp13_, _tmp16_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = !_tmp17_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp16_);
+#line 4543 "TokenReader.c"
+ } else {
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = FALSE;
+#line 4547 "TokenReader.c"
+ }
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp10_) {
+#line 4551 "TokenReader.c"
+ JSDOCLang_Class* _tmp18_;
+ const gchar* _tmp19_;
+ JSDOCTextStream* _tmp20_;
+ gchar _tmp21_;
+ gchar* _tmp22_;
+ gchar* _tmp23_;
+ gchar* _tmp24_;
+ gchar* _tmp25_;
+ gboolean _tmp26_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_Lang;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = found;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = stream;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = jsdoc_text_stream_lookC (_tmp20_, 0);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = g_strdup_printf ("%c", _tmp21_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = _tmp22_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = g_strconcat (_tmp19_, _tmp23_, NULL);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = _tmp24_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = jsdoc_langclass_isNumber (_tmp18_, _tmp25_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = _tmp26_;
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp25_);
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp23_);
+#line 4585 "TokenReader.c"
+ } else {
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = FALSE;
+#line 4589 "TokenReader.c"
+ }
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp9_) {
+#line 646 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 4595 "TokenReader.c"
+ }
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = found;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = stream;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = jsdoc_text_stream_nextS (_tmp28_, 1);
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = _tmp29_;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = g_strconcat (_tmp27_, _tmp30_, NULL);
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp31_;
+#line 647 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp30_);
+#line 4613 "TokenReader.c"
+ }
+#line 650 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = found;
+#line 650 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (g_strcmp0 (_tmp32_, "") == 0) {
+#line 651 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 651 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 651 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4625 "TokenReader.c"
+ }
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = stream;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = jsdoc_text_stream_lookC (_tmp34_, 0);
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp35_ == 'e') {
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = TRUE;
+#line 4635 "TokenReader.c"
+ } else {
+ JSDOCTextStream* _tmp36_;
+ gchar _tmp37_;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = stream;
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = jsdoc_text_stream_lookC (_tmp36_, 0);
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = _tmp37_ == 'E';
+#line 4645 "TokenReader.c"
+ }
+#line 654 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp33_) {
+#line 4649 "TokenReader.c"
+ const gchar* _tmp38_;
+ JSDOCTextStream* _tmp39_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar* _tmp42_;
+ gchar nc = '\0';
+ JSDOCTextStream* _tmp43_;
+ gchar _tmp44_;
+ gboolean _tmp45_ = FALSE;
+ gboolean _tmp46_ = FALSE;
+ gchar _tmp47_;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = found;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = stream;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = jsdoc_text_stream_nextS (_tmp39_, 1);
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = _tmp40_;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = g_strconcat (_tmp38_, _tmp41_, NULL);
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp42_;
+#line 655 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp41_);
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = stream;
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = jsdoc_text_stream_lookC (_tmp43_, 0);
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ nc = _tmp44_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = nc;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp47_ == '+') {
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = TRUE;
+#line 4689 "TokenReader.c"
+ } else {
+ gchar _tmp48_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = nc;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = _tmp48_ == '-';
+#line 4696 "TokenReader.c"
+ }
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp46_) {
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = TRUE;
+#line 4702 "TokenReader.c"
+ } else {
+ gboolean _tmp49_ = FALSE;
+ gchar _tmp50_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = nc;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp50_ >= '0') {
+#line 4710 "TokenReader.c"
+ gchar _tmp51_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = nc;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = _tmp51_ <= '9';
+#line 4716 "TokenReader.c"
+ } else {
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = FALSE;
+#line 4720 "TokenReader.c"
+ }
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = _tmp49_;
+#line 4724 "TokenReader.c"
+ }
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp45_) {
+#line 4728 "TokenReader.c"
+ const gchar* _tmp52_;
+ JSDOCTextStream* _tmp53_;
+ gchar* _tmp54_;
+ gchar* _tmp55_;
+ gchar* _tmp56_;
+ JSDOCLang_Class* _tmp80_;
+ const gchar* _tmp81_;
+ gboolean _tmp82_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = found;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp53_ = stream;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp54_ = jsdoc_text_stream_nextS (_tmp53_, 1);
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp55_ = _tmp54_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp56_ = g_strconcat (_tmp52_, _tmp55_, NULL);
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp56_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp55_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 4755 "TokenReader.c"
+ gboolean _tmp57_ = FALSE;
+ gboolean _tmp58_ = FALSE;
+ JSDOCTextStream* _tmp59_;
+ gboolean _tmp60_;
+ const gchar* _tmp75_;
+ JSDOCTextStream* _tmp76_;
+ gchar* _tmp77_;
+ gchar* _tmp78_;
+ gchar* _tmp79_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp59_ = stream;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp60_ = jsdoc_text_stream_lookEOF (_tmp59_, 0);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp60_) {
+#line 4771 "TokenReader.c"
+ JSDOCLang_Class* _tmp61_;
+ JSDOCTextStream* _tmp62_;
+ gchar* _tmp63_;
+ gchar* _tmp64_;
+ gboolean _tmp65_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp61_ = jsdoc_Lang;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp62_ = stream;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp63_ = jsdoc_text_stream_lookS (_tmp62_, 0);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp64_ = _tmp63_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp65_ = jsdoc_langclass_isNewline (_tmp61_, _tmp64_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp58_ = !_tmp65_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp64_);
+#line 4791 "TokenReader.c"
+ } else {
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp58_ = FALSE;
+#line 4795 "TokenReader.c"
+ }
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp58_) {
+#line 4799 "TokenReader.c"
+ JSDOCLang_Class* _tmp66_;
+ const gchar* _tmp67_;
+ JSDOCTextStream* _tmp68_;
+ gchar _tmp69_;
+ gchar* _tmp70_;
+ gchar* _tmp71_;
+ gchar* _tmp72_;
+ gchar* _tmp73_;
+ gboolean _tmp74_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp66_ = jsdoc_Lang;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp67_ = found;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp68_ = stream;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp69_ = jsdoc_text_stream_lookC (_tmp68_, 0);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp70_ = g_strdup_printf ("%c", _tmp69_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp71_ = _tmp70_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp72_ = g_strconcat (_tmp67_, _tmp71_, NULL);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp73_ = _tmp72_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp74_ = jsdoc_langclass_isNumber (_tmp66_, _tmp73_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp57_ = _tmp74_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp73_);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp71_);
+#line 4833 "TokenReader.c"
+ } else {
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp57_ = FALSE;
+#line 4837 "TokenReader.c"
+ }
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp57_) {
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 4843 "TokenReader.c"
+ }
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp75_ = found;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp76_ = stream;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp77_ = jsdoc_text_stream_nextS (_tmp76_, 1);
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp78_ = _tmp77_;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp79_ = g_strconcat (_tmp75_, _tmp78_, NULL);
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp79_;
+#line 660 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp78_);
+#line 4861 "TokenReader.c"
+ }
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp80_ = jsdoc_Lang;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp81_ = found;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp82_ = jsdoc_langclass_isNumber (_tmp80_, _tmp81_);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp82_) {
+#line 4871 "TokenReader.c"
+ JSDOCPacker* _tmp83_;
+#line 663 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp83_ = self->priv->packer;
+#line 663 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp83_ != NULL) {
+#line 4877 "TokenReader.c"
+ JSDOCPacker* _tmp84_;
+ const gchar* _tmp85_;
+ gint _tmp86_;
+ const gchar* _tmp87_;
+ gchar* _tmp88_;
+ gchar* _tmp89_;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp84_ = self->priv->packer;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp85_ = self->filename;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp86_ = self->priv->line;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp87_ = found;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp88_ = g_strconcat ("Invalid Number ", _tmp87_, NULL);
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp89_ = _tmp88_;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_packer_logError (_tmp84_, JSDOC_PACKER_RESULT_TYPE_err, _tmp85_, _tmp86_, _tmp89_);
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp89_);
+#line 4900 "TokenReader.c"
+ }
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 671 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4908 "TokenReader.c"
+ }
+ } else {
+ JSDOCPacker* _tmp90_;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp90_ = self->priv->packer;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp90_ != NULL) {
+#line 4916 "TokenReader.c"
+ JSDOCPacker* _tmp91_;
+ const gchar* _tmp92_;
+ gint _tmp93_;
+ const gchar* _tmp94_;
+ gchar* _tmp95_;
+ gchar* _tmp96_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp91_ = self->priv->packer;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp92_ = self->filename;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp93_ = self->priv->line;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp94_ = found;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp95_ = g_strconcat ("could not find +/- or 0-9 after Number '", _tmp94_, NULL);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp96_ = _tmp95_;
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_packer_logError (_tmp91_, JSDOC_PACKER_RESULT_TYPE_err, _tmp92_, _tmp93_, _tmp96_);
+#line 676 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp96_);
+#line 682 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 682 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 682 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4945 "TokenReader.c"
+ }
+ }
+ }
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp97_ = found;
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp98_ = g_regex_match_simple ("^0[0-7]", _tmp97_, 0, 0);
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp98_) {
+#line 4955 "TokenReader.c"
+ JSDOCTokenArray* _tmp99_;
+ const gchar* _tmp100_;
+ gint _tmp101_;
+ JSDOCToken* _tmp102_;
+ JSDOCToken* _tmp103_;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp99_ = tokens;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp100_ = found;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp101_ = self->priv->line;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp102_ = jsdoc_token_new (_tmp100_, JSDOC_TOKEN_TYPE_NUMB, JSDOC_TOKEN_NAME_OCTAL, _tmp101_);
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp103_ = _tmp102_;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp99_, _tmp103_);
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp103_);
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 4981 "TokenReader.c"
+ }
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp104_ = tokens;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp105_ = found;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp106_ = self->priv->line;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp107_ = jsdoc_token_new (_tmp105_, JSDOC_TOKEN_TYPE_NUMB, JSDOC_TOKEN_NAME_DECIMAL, _tmp106_);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp108_ = _tmp107_;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp104_, _tmp108_);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp108_);
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5003 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_hex (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ gchar* found = NULL;
+ JSDOCTextStream* _tmp0_;
+ gchar* _tmp1_;
+#line 702 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 702 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 702 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = stream;
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_text_stream_nextS (_tmp0_, 2);
+#line 704 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp1_;
+#line 706 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 5029 "TokenReader.c"
+ JSDOCTextStream* _tmp2_;
+ gboolean _tmp3_;
+ gboolean _tmp4_ = FALSE;
+ JSDOCLang_Class* _tmp5_;
+ const gchar* _tmp6_;
+ gboolean _tmp7_;
+ const gchar* _tmp22_;
+ JSDOCTextStream* _tmp23_;
+ gchar* _tmp24_;
+ gchar* _tmp25_;
+ gchar* _tmp26_;
+#line 706 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = stream;
+#line 706 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = jsdoc_text_stream_lookEOF (_tmp2_, 0);
+#line 706 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp3_)) {
+#line 706 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 5049 "TokenReader.c"
+ }
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = jsdoc_Lang;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = found;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = jsdoc_langclass_isHexDec (_tmp5_, _tmp6_);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp7_) {
+#line 5059 "TokenReader.c"
+ JSDOCLang_Class* _tmp8_;
+ const gchar* _tmp9_;
+ JSDOCTextStream* _tmp10_;
+ gchar _tmp11_;
+ gchar* _tmp12_;
+ gchar* _tmp13_;
+ gchar* _tmp14_;
+ gchar* _tmp15_;
+ gboolean _tmp16_;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = jsdoc_Lang;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = found;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = stream;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = jsdoc_text_stream_lookC (_tmp10_, 0);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = g_strdup_printf ("%c", _tmp11_);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = _tmp12_;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = g_strconcat (_tmp9_, _tmp13_, NULL);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = _tmp14_;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_langclass_isHexDec (_tmp8_, _tmp15_);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = !_tmp16_;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp15_);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp13_);
+#line 5093 "TokenReader.c"
+ } else {
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = FALSE;
+#line 5097 "TokenReader.c"
+ }
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp4_) {
+#line 5101 "TokenReader.c"
+ JSDOCTokenArray* _tmp17_;
+ const gchar* _tmp18_;
+ gint _tmp19_;
+ JSDOCToken* _tmp20_;
+ JSDOCToken* _tmp21_;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = tokens;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = found;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = self->priv->line;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = jsdoc_token_new (_tmp18_, JSDOC_TOKEN_TYPE_NUMB, JSDOC_TOKEN_NAME_HEX_DEC, _tmp19_);
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = _tmp20_;
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp17_, _tmp21_);
+#line 708 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp21_);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 709 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5127 "TokenReader.c"
+ }
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = found;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = stream;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = jsdoc_text_stream_nextS (_tmp23_, 1);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = _tmp24_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = g_strconcat (_tmp22_, _tmp25_, NULL);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ found = _tmp26_;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp25_);
+#line 5145 "TokenReader.c"
+ }
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (found);
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5153 "TokenReader.c"
+}
+
+
+/**
+ @returns {Boolean} Was the token found?
+ */
+gboolean jsdoc_token_reader_read_regx (JSDOCTokenReader* self, JSDOCTextStream* stream, JSDOCTokenArray* tokens) {
+ gboolean result = FALSE;
+ JSDOCTextStream* _tmp0_;
+ gchar _tmp1_;
+ JSDOCToken* last = NULL;
+ JSDOCTokenArray* _tmp2_;
+ JSDOCToken* _tmp3_;
+ gboolean _tmp4_ = FALSE;
+ JSDOCToken* _tmp5_;
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (self != NULL, FALSE);
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (stream != NULL, FALSE);
+#line 721 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_return_val_if_fail (tokens != NULL, FALSE);
+#line 724 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = stream;
+#line 724 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp1_ = jsdoc_text_stream_lookC (_tmp0_, 0);
+#line 724 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp1_ != '/') {
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 725 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5185 "TokenReader.c"
+ }
+#line 727 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp2_ = tokens;
+#line 727 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp3_ = jsdoc_token_array_lastSym (_tmp2_);
+#line 727 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ last = _tmp3_;
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp5_ = last;
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp5_ == NULL) {
+#line 729 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = TRUE;
+#line 5199 "TokenReader.c"
+ } else {
+ gboolean _tmp6_ = FALSE;
+ gboolean _tmp7_ = FALSE;
+ gboolean _tmp8_ = FALSE;
+ JSDOCToken* _tmp9_;
+ gboolean _tmp10_;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp9_ = last;
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp10_ = jsdoc_token_isType (_tmp9_, JSDOC_TOKEN_TYPE_NUMB);
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp10_) {
+#line 5212 "TokenReader.c"
+ JSDOCToken* _tmp11_;
+ gboolean _tmp12_;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp11_ = last;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp12_ = jsdoc_token_isType (_tmp11_, JSDOC_TOKEN_TYPE_NAME);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = !_tmp12_;
+#line 5221 "TokenReader.c"
+ } else {
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp8_ = FALSE;
+#line 5225 "TokenReader.c"
+ }
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp8_) {
+#line 5229 "TokenReader.c"
+ JSDOCToken* _tmp13_;
+ gboolean _tmp14_;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp13_ = last;
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp14_ = jsdoc_token_isName (_tmp13_, JSDOC_TOKEN_NAME_RIGHT_PAREN);
+#line 734 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = !_tmp14_;
+#line 5238 "TokenReader.c"
+ } else {
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp7_ = FALSE;
+#line 5242 "TokenReader.c"
+ }
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp7_) {
+#line 5246 "TokenReader.c"
+ JSDOCToken* _tmp15_;
+ gboolean _tmp16_;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp15_ = last;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp16_ = jsdoc_token_isName (_tmp15_, JSDOC_TOKEN_NAME_RIGHT_BRACE);
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = !_tmp16_;
+#line 5255 "TokenReader.c"
+ } else {
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp6_ = FALSE;
+#line 5259 "TokenReader.c"
+ }
+#line 732 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp4_ = _tmp6_;
+#line 5263 "TokenReader.c"
+ }
+#line 728 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp4_) {
+#line 5267 "TokenReader.c"
+ gchar* regex = NULL;
+ JSDOCTextStream* _tmp17_;
+ gchar* _tmp18_;
+ gboolean in_brace = FALSE;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp17_ = stream;
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp18_ = jsdoc_text_stream_nextS (_tmp17_, 1);
+#line 738 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ regex = _tmp18_;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ in_brace = FALSE;
+#line 740 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 5282 "TokenReader.c"
+ JSDOCTextStream* _tmp19_;
+ gboolean _tmp20_;
+ JSDOCTextStream* _tmp21_;
+ gchar _tmp22_;
+ gboolean _tmp23_ = FALSE;
+ gboolean _tmp24_;
+ JSDOCTextStream* _tmp27_;
+ gchar _tmp28_;
+ gboolean _tmp34_ = FALSE;
+ gboolean _tmp35_;
+ const gchar* _tmp59_;
+ JSDOCTextStream* _tmp60_;
+ gchar* _tmp61_;
+ gchar* _tmp62_;
+ gchar* _tmp63_;
+#line 740 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp19_ = stream;
+#line 740 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp20_ = jsdoc_text_stream_lookEOF (_tmp19_, 0);
+#line 740 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!(!_tmp20_)) {
+#line 740 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 5306 "TokenReader.c"
+ }
+#line 741 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp21_ = stream;
+#line 741 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp22_ = jsdoc_text_stream_lookC (_tmp21_, 0);
+#line 741 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp22_ == '[') {
+#line 742 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ in_brace = TRUE;
+#line 5316 "TokenReader.c"
+ }
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp24_ = in_brace;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp24_) {
+#line 5322 "TokenReader.c"
+ JSDOCTextStream* _tmp25_;
+ gchar _tmp26_;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp25_ = stream;
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp26_ = jsdoc_text_stream_lookC (_tmp25_, 0);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = _tmp26_ == ']';
+#line 5331 "TokenReader.c"
+ } else {
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp23_ = FALSE;
+#line 5335 "TokenReader.c"
+ }
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp23_) {
+#line 745 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ in_brace = FALSE;
+#line 5341 "TokenReader.c"
+ }
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp27_ = stream;
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp28_ = jsdoc_text_stream_lookC (_tmp27_, 0);
+#line 748 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp28_ == '\\') {
+#line 5349 "TokenReader.c"
+ const gchar* _tmp29_;
+ JSDOCTextStream* _tmp30_;
+ gchar* _tmp31_;
+ gchar* _tmp32_;
+ gchar* _tmp33_;
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp29_ = regex;
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp30_ = stream;
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp31_ = jsdoc_text_stream_nextS (_tmp30_, 2);
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp32_ = _tmp31_;
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp33_ = g_strconcat (_tmp29_, _tmp32_, NULL);
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ regex = _tmp33_;
+#line 749 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp32_);
+#line 750 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ continue;
+#line 5373 "TokenReader.c"
+ }
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp35_ = in_brace;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (!_tmp35_) {
+#line 5379 "TokenReader.c"
+ JSDOCTextStream* _tmp36_;
+ gchar _tmp37_;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp36_ = stream;
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp37_ = jsdoc_text_stream_lookC (_tmp36_, 0);
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = _tmp37_ == '/';
+#line 5388 "TokenReader.c"
+ } else {
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp34_ = FALSE;
+#line 5392 "TokenReader.c"
+ }
+#line 752 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp34_) {
+#line 5396 "TokenReader.c"
+ const gchar* _tmp38_;
+ JSDOCTextStream* _tmp39_;
+ gchar* _tmp40_;
+ gchar* _tmp41_;
+ gchar* _tmp42_;
+ JSDOCTokenArray* _tmp54_;
+ const gchar* _tmp55_;
+ gint _tmp56_;
+ JSDOCToken* _tmp57_;
+ JSDOCToken* _tmp58_;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp38_ = regex;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp39_ = stream;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp40_ = jsdoc_text_stream_nextS (_tmp39_, 1);
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp41_ = _tmp40_;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp42_ = g_strconcat (_tmp38_, _tmp41_, NULL);
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ regex = _tmp42_;
+#line 753 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp41_);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ while (TRUE) {
+#line 5425 "TokenReader.c"
+ JSDOCTextStream* _tmp43_;
+ gchar* _tmp44_;
+ gchar* _tmp45_;
+ const gchar* _tmp46_;
+ gboolean _tmp47_;
+ gboolean _tmp48_;
+ const gchar* _tmp49_;
+ JSDOCTextStream* _tmp50_;
+ gchar* _tmp51_;
+ gchar* _tmp52_;
+ gchar* _tmp53_;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp43_ = stream;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp44_ = jsdoc_text_stream_lookS (_tmp43_, 0);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp45_ = _tmp44_;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp46_ = string_to_string (_tmp45_);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp47_ = g_regex_match_simple ("[gmi]", _tmp46_, 0, 0);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp48_ = !_tmp47_;
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp45_);
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ if (_tmp48_) {
+#line 755 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ break;
+#line 5455 "TokenReader.c"
+ }
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp49_ = regex;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp50_ = stream;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp51_ = jsdoc_text_stream_nextS (_tmp50_, 1);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp52_ = _tmp51_;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp53_ = g_strconcat (_tmp49_, _tmp52_, NULL);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ regex = _tmp53_;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp52_);
+#line 5473 "TokenReader.c"
+ }
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp54_ = tokens;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp55_ = regex;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp56_ = self->priv->line;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp57_ = jsdoc_token_new (_tmp55_, JSDOC_TOKEN_TYPE_REGX, JSDOC_TOKEN_NAME_REGX, _tmp56_);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp58_ = _tmp57_;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_array_push (_tmp54_, _tmp58_);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (_tmp58_);
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = TRUE;
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (last);
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5497 "TokenReader.c"
+ }
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp59_ = regex;
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp60_ = stream;
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp61_ = jsdoc_text_stream_nextS (_tmp60_, 1);
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp62_ = _tmp61_;
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp63_ = g_strconcat (_tmp59_, _tmp62_, NULL);
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ regex = _tmp63_;
+#line 763 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (_tmp62_);
+#line 5515 "TokenReader.c"
+ }
+#line 728 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (regex);
+#line 5519 "TokenReader.c"
+ }
+#line 768 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ result = FALSE;
+#line 768 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (last);
+#line 768 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ return result;
+#line 5527 "TokenReader.c"
+}
+
+
+static void jsdoc_token_reader_class_init (JSDOCTokenReaderClass * klass) {
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ jsdoc_token_reader_parent_class = g_type_class_peek_parent (klass);
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCTokenReaderPrivate));
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_token_reader_finalize;
+#line 5538 "TokenReader.c"
+}
+
+
+static void jsdoc_token_reader_instance_init (JSDOCTokenReader * self) {
+ gchar* _tmp0_;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv = JSDOC_TOKEN_READER_GET_PRIVATE (self);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->collapseWhite = FALSE;
+#line 175 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->keepDocs = TRUE;
+#line 177 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->keepWhite = FALSE;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->keepComments = FALSE;
+#line 181 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->sepIdents = FALSE;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _tmp0_ = g_strdup ("");
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->filename = _tmp0_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->ignoreBadGrammer = FALSE;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self->priv->line = 0;
+#line 5564 "TokenReader.c"
+}
+
+
+static void jsdoc_token_reader_finalize (GObject * obj) {
+ JSDOCTokenReader * self;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TOKEN_READER, JSDOCTokenReader);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_free0 (self->filename);
+#line 190 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ _g_object_unref0 (self->priv->packer);
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenReader.vala"
+ G_OBJECT_CLASS (jsdoc_token_reader_parent_class)->finalize (obj);
+#line 5578 "TokenReader.c"
+}
+
+
+GType jsdoc_token_reader_get_type (void) {
+ static volatile gsize jsdoc_token_reader_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_reader_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTokenReaderClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_token_reader_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTokenReader), 0, (GInstanceInitFunc) jsdoc_token_reader_instance_init, NULL };
+ GType jsdoc_token_reader_type_id;
+ jsdoc_token_reader_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTokenReader", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_token_reader_type_id__volatile, jsdoc_token_reader_type_id);
+ }
+ return jsdoc_token_reader_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+//<script type="text/javascript">
+
+
+// test code
+
+//const Token = imports.Token.Token;
+//const Lang = imports.Lang.Lang;
+
+/**
+ @class Search a {@link JSDOC.TextStream} for language tokens.
+*/
+
+namespace JSDOC {
+
+
+
+ public class TokenArray: Object {
+
+ private Packer? packer;
+ private TokenReader reader;
+
+ public Gee.ArrayList<Token> tokens;
+ Token lastAdded = null;
+
+ public int length {
+ get { return this.tokens.size; }
+ }
+
+ public TokenArray(Packer? packer, TokenReader reader)
+ {
+ this.packer = packer;
+ this.reader = reader;
+ this.tokens = new Gee.ArrayList<Token>();
+ }
+
+ public Token? last() {
+ if (this.tokens.size > 0) {
+ return this.tokens.get(this.tokens.size-1);
+ }
+ return null;
+ }
+ public Token? lastSym () {
+ for (var i = this.tokens.size-1; i >= 0; i--) {
+ if (!(this.tokens.get(i).isType(TokenType.WHIT) || this.tokens.get(i).isType(TokenType.COMM))) {
+ return this.tokens.get(i);
+ }
+ }
+ return null;
+ }
+
+
+ public void push (Token t)
+ {
+ if (this.lastAdded != null) {
+
+ if (
+ (
+ this.lastAdded.isType(TokenType.NAME) ||
+ this.lastAdded.isType(TokenType.STRN) ||
+ this.lastAdded.isType(TokenType.NUMB) ||
+ (
+ this.lastAdded.isType(TokenType.KEYW) &&
+ (
+ this.lastAdded.isName(TokenName.TRUE) || this.lastAdded.isName(TokenName.FALSE)
+ )
+ )
+ )
+ &&
+ (
+ t.isType(TokenType.NAME) || // NAME -> ???
+ t.isType(TokenType.STRN) ||
+ t.isType(TokenType.NUMB) ||
+ (t.isType(TokenType.KEYW) &&
+ !(t.isName(TokenName.IN) || t.isName(TokenName.INSTANCEOF) || t.isName(TokenName.INSTANCEOF))
+ )
+ )
+ ) {
+ //print("%s\n%s\n", this.lastAdded.asString(), t.asString());
+ if (this.packer != null) {
+ this.packer.logError(
+ Packer.ResultType.err,
+ this.reader.filename,
+ t.line,
+ "'" + this.lastAdded.data+ "' token followed by " + t.name.to_string() + ":" + t.data
+ );
+ }
+
+
+ }
+ // other pattern that are not valid
+ // ] or ) followed by KEYW "STRING" or number ?
+ if (
+ (this.lastAdded.isName( TokenName.RIGHT_BRACE) || this.lastAdded.isName( TokenName.RIGHT_PAREN))
+ &&
+ (
+ (t.isType(TokenType.KEYW) &&
+ !(t.isName(TokenName.IN) || t.isName(TokenName.INSTANCEOF) || t.isName(TokenName.INSTANCEOF))
+ ) ||
+ t.isType(TokenType.NAME) || // NAME -> ???
+ t.isType(TokenType.STRN) ||
+ t.isType(TokenType.NUMB)
+ )
+ ) {
+ if (this.packer != null) {
+ //print("%s\n%s\n", this.lastAdded.asString(), t.asString());
+ this.packer.logError(
+ Packer.ResultType.err,
+ this.reader.filename,
+ t.line,
+ "'" + this.lastAdded.data+ "' token followed by " + t.name.to_string() + ":" + t.data
+ );
+ }
+ }
+ }
+
+
+
+ this.tokens.add(t);
+
+ if (t.isType(TokenType.WHIT) || t.isType(TokenType.COMM)){
+ // do not set last...
+ } else {
+ this.lastAdded = t;
+ }
+
+ }
+ public Token? pop ()
+ {
+ if (this.tokens.size > 0) {
+ return this.tokens.remove_at(this.tokens.size-1);
+ }
+ return null;
+ }
+
+ public new Token get(int i) {
+ return this.tokens.get(i);
+ }
+ public void dump()
+ {
+ var line = 0;
+ foreach(var token in this.tokens) {
+ if (token.line != line) {
+ print("%d: ", token.line);
+ line = token.line;
+ }
+ print("%s",token.data);
+ }
+ print("\n----\n");
+ foreach(var token in this.tokens) {
+ stdout.printf ("%s\n", token.asString());
+ }
+ }
+
+ }
+
+ public errordomain TokenReader_Error {
+ ArgumentError,
+ SyntaxError
+ }
+
+
+ public class TokenReader : Object
+ {
+
+
+
+ /*
+ *
+ * I wonder if this will accept the prop: value, prop2 :value construxtor if we do not define one...
+ */
+
+ /** @cfg {Boolean} collapseWhite merge multiple whitespace/comments into a single token **/
+ public bool collapseWhite = false; // only reduces white space...
+ /** @cfg {Boolean} keepDocs keep JSDOC comments **/
+ public bool keepDocs = true;
+ /** @cfg {Boolean} keepWhite keep White space **/
+ public bool keepWhite = false;
+ /** @cfg {Boolean} keepComments keep all comments **/
+ public bool keepComments = false;
+ /** @cfg {Boolean} sepIdents seperate identifiers (eg. a.b.c into ['a', '.', 'b', '.', 'c'] ) **/
+ public bool sepIdents = false;
+ /** @cfg {String} filename name of file being parsed. **/
+ public string filename = "";
+ /** @config {Boolean} ignoreBadGrammer do not throw errors if we find stuff that might break compression **/
+ public bool ignoreBadGrammer = false;
+
+
+ int line = 0;
+
+ private Packer? packer;
+
+ public TokenReader(Packer? packer)
+ {
+ this.packer = packer;
+ }
+
+ /**
+ * tokenize a stream
+ * @return {Array} of tokens
+ *
+ * ts = new TextStream(File.read(str));
+ * tr = TokenReader({ keepComments : true, keepWhite : true });
+ * tr.tokenize(ts)
+ *
+ */
+ public TokenArray tokenize(TextStream stream)
+ {
+ this.line =1;
+ var tokens = new TokenArray(this.packer, this);
+
+
+ while (!stream.lookEOF()) {
+
+
+ if (this.read_mlcomment(stream, tokens)) continue;
+ if (this.read_slcomment(stream, tokens)) continue;
+ if (this.read_dbquote(stream, tokens)) continue;
+ if (this.read_snquote(stream, tokens)) continue;
+ if (this.read_regx(stream, tokens)) continue;
+ if (this.read_numb(stream, tokens)) continue;
+ if (this.read_punc(stream, tokens)) continue;
+ if (this.read_newline(stream, tokens)) continue;
+ if (this.read_space(stream, tokens)) continue;
+ if (this.read_word(stream, tokens)) continue;
+
+ // if execution reaches here then an error has happened
+ tokens.push(
+ new Token(stream.nextS(), TokenType.TOKN, TokenName.UNKNOWN_TOKEN, this.line)
+ );
+ }
+
+
+
+ return tokens;
+ }
+
+ /**
+ * findPuncToken - find the id of a token (previous to current)
+ * need to back check syntax..
+ *
+ * @arg {Array} tokens the array of tokens.
+ * @arg {String} token data (eg. '(')
+ * @arg {Number} offset where to start reading from
+ * @return {Number} position of token
+ */
+ public int findPuncToken(TokenArray tokens, string data, int n)
+ {
+ n = n > 0 ? n : tokens.length -1;
+ var stack = 0;
+ while (n > -1) {
+
+ if (stack < 1 && tokens.get(n).data == data) {
+ return n;
+ }
+
+ if (tokens.get(n).data == ")" || tokens.get(n).data == "}") {
+ stack++;
+ n--;
+ continue;
+ }
+ if (stack > 0 && (tokens.get(n).data == "{" || tokens.get(n).data == "(")) {
+ stack--;
+ n--;
+ continue;
+ }
+
+
+ n--;
+ }
+ return -1;
+ }
+ /**
+ * lastSym - find the last token symbol
+ * need to back check syntax..
+ *
+ * @arg {Array} tokens the array of tokens.
+ * @arg {Number} offset where to start..
+ * @return {Token} the token
+ */
+ public Token? lastSym(TokenArray tokens, int n)
+ {
+ for (var i = n-1; i >= 0; i--) {
+ if (!(tokens.get(i).isType(TokenType.WHIT) || tokens.get(i).isType(TokenType.COMM))) {
+ return tokens.get(i);
+ }
+ }
+ return null;
+ }
+
+
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_word (TextStream stream, TokenArray tokens)
+ {
+ string found = "";
+ while (!stream.lookEOF() && Lang.isWordChar(stream.lookC() )) {
+ found += stream.nextC().to_string();
+ }
+
+ if (found == "") {
+ return false;
+ }
+ TokenName name;
+ try {
+ name = Lang.keyword(found);
+ tokens.push(new Token(found, TokenType.KEYW, name, this.line));
+ return true;
+ } catch (LangError e) {
+ // noop -- then it's a word / not a keyword...
+ }
+ /*
+ What did all this do...
+
+ //
+
+ // look for "()return" ?? why ???
+ var ls = tokens.lastSym();
+ if (found == "return" && ls != null && ls.data == ")") {
+ //Seed.print('@' + tokens.length);
+ var n = this.findPuncToken(tokens, ")", 0);
+ //Seed.print(')@' + n);
+ n = this.findPuncToken(tokens, "(", n-1);
+ //Seed.print('(@' + n);
+
+ //var lt = this.lastSym(tokens, n);
+ /*
+ //print(JSON.stringify(lt));
+ if (lt.type != "KEYW" || ["IF", 'WHILE'].indexOf(lt.name) < -1) {
+ if (!this.ignoreBadGrammer) {
+ throw new TokenReader_Error.ArgumentError(
+ this.filename + ":" + this.line + " Error - return found after )"
+ );
+ }
+ }
+
+ */
+ /*
+ }
+
+
+ tokens.push(new Token(found, TokenType.KEYW, name, this.line));
+ return true;
+ }
+ */
+ if (!this.sepIdents || found.index_of(".") < 0 ) {
+ tokens.push(new Token(found, TokenType.NAME, TokenName.NAME, this.line));
+ return true;
+ }
+ var n = found.split(".");
+ var p = false;
+ foreach (unowned string nm in n) {
+
+ if (p) {
+ tokens.push(new Token(".", TokenType.PUNC, TokenName.DOT, this.line));
+ }
+ p=true;
+ if (nm.length < 1 ) {
+ continue;
+ }
+ tokens.push(new Token(nm, TokenType.NAME, TokenName.NAME, this.line));
+ }
+ return true;
+
+
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_punc (TextStream stream, TokenArray tokens)
+ {
+ string found = "";
+ int pos = 0;
+ TokenName tokname = TokenName.UNKNOWN;
+ while (!stream.lookEOF()) {
+ var ns = stream.lookC();
+ if (pos == 0 ){
+ tokname = Lang.puncFirstString(ns);
+ if (TokenName.UNKNOWN == tokname) {
+ break;
+ }
+ pos++;
+ found += stream.nextS();
+ continue;
+ }
+ var nx = Lang.puncString(found + ns.to_string() );
+ if (TokenName.UNKNOWN == nx) {
+ break;
+ }
+
+ tokname = nx;
+ found += stream.nextS();
+ }
+
+
+ if (tokname == TokenName.UNKNOWN) {
+ return false;
+ }
+
+ var ls = tokens.lastSym();
+
+ if ((found == "}" || found == "]") && ls != null && ls.data == ",") {
+ //print("Error - comma found before " + found);
+ //print(JSON.stringify(tokens.lastSym(), null,4));
+ if (this.packer != null) {
+ this.packer.logError(
+ this.ignoreBadGrammer ? Packer.ResultType.warn : Packer.ResultType.err,
+ this.filename,
+ this.line,
+ "comma found before " + found
+ );
+ }
+
+ }
+
+ tokens.push(new Token(found, TokenType.PUNC, tokname, this.line));
+ return true;
+
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_space (TextStream stream, TokenArray tokens)
+ {
+ // not supported yet.. newlines can be unicode...
+ var found = "";
+
+ while (!stream.lookEOF() && Lang.isSpace( stream.lookS()) && !Lang.isNewline(stream.lookS())) {
+ found += stream.nextS();
+ }
+
+ if (found == "") {
+ return false;
+ }
+ //print("WHITE = " + JSON.stringify(found));
+
+
+ if (this.collapseWhite) {
+ found = " "; // this might work better if it was a '\n' ???
+ }
+ if (this.keepWhite) {
+ tokens.push(new Token(found, TokenType.WHIT, TokenName.SPACE, this.line));
+ }
+ return true;
+
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_newline (TextStream stream, TokenArray tokens)
+ {
+ // we do not support it yet, but newlines can be UNICODE..
+ var found = "";
+
+ var line = this.line;
+ // \r or \r\n
+ var lastc = "";
+ while (!stream.lookEOF() && Lang.isNewline(stream.lookS())) {
+ var cur = stream.lookS();;
+ if (lastc == "\r" && cur == "\n") {
+ // dont add new line..
+ } else {
+ this.line++;
+ }
+ lastc = cur;
+
+
+ found += stream.nextS();
+ }
+
+ if (found == "") {
+ return false;
+ }
+ //print("NEWLINE @%d changing this.line to %d\n", line, this.line);
+ // if we found a new line, then we could check if previous character was a ';' - if so we can drop it.
+ // otherwise generally keep it.. in which case it should reduce our issue with stripping new lines..
+
+
+ //this.line++;
+ if (this.collapseWhite) {
+ found = "\n"; // reduces multiple line breaks into a single one...
+ }
+
+ if (this.keepWhite) {
+ var last = tokens.last();
+ if (last != null && last.type != TokenType.WHIT) {
+ //tokens.push(last);
+ } else {
+ tokens.pop(); // remove the last token..
+ }
+ // replaces last new line...
+ tokens.push(new Token(found, TokenType.WHIT, TokenName.NEWLINE, line));
+ }
+ return true;
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_mlcomment (TextStream stream, TokenArray tokens)
+ {
+ if (stream.lookC() != '/') {
+ return false;
+ }
+ if (stream.lookC(1) != '*') {
+ return false;
+ }
+
+ var found = new StringBuilder();
+ found.append(stream.nextS(2));
+
+
+ string c = "";
+ var line = this.line;
+ while (!stream.lookEOF() && !(stream.lookC(-1) == '/' && stream.lookC(-2) == '*')) {
+ c = stream.nextS();
+ if (c == "\n") {
+ this.line++;
+ }
+ found.append(c);
+ }
+
+ // to start doclet we allow /** or /*** but not /**/ or /****
+ //if (found.length /^\/\*\*([^\/]|\*[^*])/.test(found) && this.keepDocs) {
+ if (this.keepDocs && found.len > 4 && found.str.index_of("/**") == 0 && found.str[3] != '/') {
+ tokens.push(new Token(found.str, TokenType.COMM, TokenName.JSDOC, this.line));
+ } else if (this.keepComments) {
+ tokens.push(new Token(found.str, TokenType.COMM, TokenName.MULTI_LINE_COMM, line));
+ }
+ return true;
+
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_slcomment (TextStream stream, TokenArray tokens)
+ {
+ var found = "";
+ if (
+ (stream.lookC() == '/' && stream.lookC(1) == '/' && (""!=(found=stream.nextS(2))))
+ ||
+ (stream.lookC() == '<' && stream.lookC(1) == '!' && stream.lookC(2) == '-' && stream.lookC(3) == '-' && (""!=(found=stream.nextS(4))))
+ ) {
+ var line = this.line;
+ while (!stream.lookEOF()) {
+ //print(stream.look().to_string());
+ if ( Lang.isNewline(stream.lookS().to_string())) {
+ break;
+ }
+ found += stream.nextS();
+ }
+ if (!stream.lookEOF()) { // lookinng for end of line... if we got it, then do not eat the character..
+ found += stream.nextS();
+ }
+ if (this.keepComments) {
+ tokens.push(new Token(found, TokenType.COMM, TokenName.SINGLE_LINE_COMM, line));
+ }
+ this.line++;
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_dbquote (TextStream stream, TokenArray tokens)
+ {
+ if (stream.lookC() != '"') {
+ return false;
+ }
+ // find terminator
+ var str = new StringBuilder();
+ str.append_unichar(stream.nextC());
+
+ while (!stream.lookEOF()) {
+ if (stream.lookC() == '\\') {
+ if (Lang.isNewline(stream.lookS(1).to_string())) {
+ do {
+ stream.nextC();
+ } while (!stream.lookEOF() && Lang.isNewline(stream.lookS().to_string()));
+ str.append( "\\\n");
+ }
+ else {
+ str.append(stream.nextS(2));
+ }
+ continue;
+ }
+ if (stream.lookC() == '"') {
+ str.append_unichar(stream.nextC());
+ tokens.push(new Token(str.str, TokenType.STRN, TokenName.DOUBLE_QUOTE, this.line));
+ return true;
+ }
+
+ str.append(stream.nextS());
+
+ }
+ return false;
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_snquote (TextStream stream, TokenArray tokens)
+ {
+ if (stream.lookC() != '\'') {
+ return false;
+ }
+ // find terminator
+ var str = new StringBuilder();
+ str.append_unichar(stream.nextC());
+
+ while (!stream.lookEOF()) {
+ if (stream.lookC() == '\\') { // escape sequence
+ str.append( stream.nextS(2));
+ continue;
+ }
+ if (stream.lookC() == '\'') {
+ str.append_unichar(stream.nextC());
+ tokens.push(new Token(str.str, TokenType.STRN, TokenName.SINGLE_QUOTE, this.line));
+ return true;
+ }
+ str.append(stream.nextS());
+
+ }
+ return false;
+ }
+
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_numb (TextStream stream, TokenArray tokens)
+ {
+ if (stream.lookC() == '0' && stream.lookC(1) == 'x') {
+ return this.read_hex(stream, tokens);
+ }
+
+ var found = "";
+
+ while (!stream.lookEOF() && !Lang.isNewline(stream.lookS()) && Lang.isNumber(found+stream.lookC().to_string())){
+ found += stream.nextS();
+ }
+
+ if (found == "") {
+ return false;
+ }
+ // if we hit an 'e'.... then we need to carry on parsing..
+ if (stream.lookC() == 'e' || stream.lookC() == 'E') {
+ found += stream.nextS();
+ var nc = stream.lookC();
+ if (nc == '+' || nc == '-' || (nc >= '0' && nc <= '9')) {
+ found += stream.nextS();
+ while (!stream.lookEOF() && !Lang.isNewline(stream.lookS()) && Lang.isNumber(found+stream.lookC().to_string())){
+ found += stream.nextS();
+ }
+ if (!Lang.isNumber(found)) {
+ if (this.packer != null) {
+ this.packer.logError(
+ Packer.ResultType.err,
+ this.filename,
+ this.line,
+ "Invalid Number " + found
+ );
+ }
+ return true; // eat the characters and continue...
+ }
+
+ } else {
+ if (this.packer != null) {
+ this.packer.logError(
+ Packer.ResultType.err,
+ this.filename,
+ this.line,
+ "could not find +/- or 0-9 after Number '" + found
+ );
+ return true;
+ }
+ }
+
+ }
+
+ if (GLib.Regex.match_simple("^0[0-7]", found)) {
+ tokens.push(new Token(found, TokenType.NUMB, TokenName.OCTAL, this.line));
+ return true;
+ }
+ //print("got number '%s'\n", found);
+
+ tokens.push(new Token(found, TokenType.NUMB, TokenName.DECIMAL, this.line));
+ return true;
+
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_hex (TextStream stream, TokenArray tokens)
+ {
+ var found = stream.nextS(2);
+
+ while (!stream.lookEOF()) {
+ if (Lang.isHexDec(found) && !Lang.isHexDec(found+stream.lookC().to_string())) { // done
+ tokens.push(new Token(found, TokenType.NUMB, TokenName.HEX_DEC, this.line));
+ return true;
+ }
+
+ found += stream.nextS();
+
+ }
+ return false;
+ }
+
+ /**
+ @returns {Boolean} Was the token found?
+ */
+ public bool read_regx (TextStream stream, TokenArray tokens)
+ {
+
+ if (stream.lookC() != '/') {
+ return false;
+ }
+ var last = tokens.lastSym();
+ if (
+ (last == null)
+ ||
+ (
+ !last.isType(TokenType.NUMB) // stuff that can not appear before a regex..
+ && !last.isType(TokenType.NAME)
+ && !last.isName(TokenName.RIGHT_PAREN)
+ && !last.isName(TokenName.RIGHT_BRACE)
+ )
+ ) {
+ var regex = stream.nextS();
+ var in_brace = false; // this is really hacky... we ignore [ .../ ] so aforward slash in a regex..
+ while (!stream.lookEOF()) {
+ if (stream.lookC() == '[') {
+ in_brace = true;
+ }
+ if (in_brace && stream.lookC() == ']') {
+ in_brace = false;
+ }
+
+ if (stream.lookC() == '\\') { // escape sequence
+ regex += stream.nextS(2);
+ continue;
+ }
+ if (!in_brace && stream.lookC() == '/') {
+ regex += stream.nextS();
+
+ while (GLib.Regex.match_simple("[gmi]", stream.lookS().to_string())) {
+ regex += stream.nextS();
+ }
+
+ tokens.push(new Token(regex, TokenType.REGX, TokenName.REGX, this.line));
+ return true;
+ }
+
+ regex += stream.nextS();
+
+ }
+ // error: unterminated regex
+ }
+ return false;
+ }
+ }
+}
--- /dev/null
+/* TokenStream.c generated by valac 0.36.6, the Vala compiler
+ * generated from TokenStream.vala, do not modify */
+
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+
+#define JSDOC_TYPE_LANGCLASS (jsdoc_langclass_get_type ())
+#define JSDOC_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_Class))
+#define JSDOC_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+#define JSDOC_IS_LANGCLASS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_IS_LANGCLASS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_LANGCLASS))
+#define JSDOC_LANGCLASS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_LANGCLASS, JSDOCLang_ClassClass))
+
+typedef struct _JSDOCLang_Class JSDOCLang_Class;
+typedef struct _JSDOCLang_ClassClass JSDOCLang_ClassClass;
+#define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL)))
+
+typedef enum {
+ JSDOC_TOKEN_STREAM_ERROR_ArgumentError
+} JSDOCTokenStreamError;
+#define JSDOC_TOKEN_STREAM_ERROR jsdoc_token_stream_error_quark ()
+struct _JSDOCTokenStream {
+ GObject parent_instance;
+ JSDOCTokenStreamPrivate * priv;
+ GeeArrayList* tokens;
+ gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_LANG_ERROR_ArgumentError
+} JSDOCLangError;
+#define JSDOC_LANG_ERROR jsdoc_lang_error_quark ()
+
+static gpointer jsdoc_token_stream_parent_class = NULL;
+extern JSDOCLang_Class* jsdoc_Lang;
+
+GQuark jsdoc_token_stream_error_quark (void);
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+enum {
+ JSDOC_TOKEN_STREAM_DUMMY_PROPERTY
+};
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens);
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens);
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self);
+GeeArrayList* jsdoc_token_stream_toArray (JSDOCTokenStream* self);
+JSDOCToken* jsdoc_token_stream_look (JSDOCTokenStream* self, gint n, gboolean considerWhitespace);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_new (const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+JSDOCToken* jsdoc_token_construct (GType object_type, const gchar* data, JSDOCTokenType type, JSDOCTokenName name, gint line);
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+JSDOCToken* jsdoc_token_stream_lookAny (JSDOCTokenStream* self, gint n);
+gint jsdoc_token_stream_lookFor (JSDOCTokenStream* self, const gchar* data);
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n);
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self);
+GeeArrayList* jsdoc_token_stream_nextM (JSDOCTokenStream* self, gint howMany, GError** error);
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self);
+JSDOCToken* jsdoc_token_stream_nextNonSpace (JSDOCTokenStream* self);
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error);
+GType jsdoc_langclass_get_type (void) G_GNUC_CONST;
+GQuark jsdoc_lang_error_quark (void);
+JSDOCTokenName* jsdoc_langclass_matching (JSDOCLang_Class* self, JSDOCTokenName name, GError** error);
+const gchar* jsdoc_token_name_to_string (JSDOCTokenName self);
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+JSDOCToken* jsdoc_token_stream_getMatchingTokenEnd (JSDOCTokenStream* self, JSDOCTokenName end);
+JSDOCToken* jsdoc_token_stream_getMatchingToken (JSDOCTokenStream* self, JSDOCTokenName start, gint depth);
+GeeArrayList* jsdoc_token_stream_remaining (JSDOCTokenStream* self);
+void jsdoc_token_stream_printRange (JSDOCTokenStream* self, gint start, gint end);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+void jsdoc_token_stream_dump (JSDOCTokenStream* self, gint start, gint end);
+void jsdoc_token_stream_dumpAll (JSDOCTokenStream* self, const gchar* indent);
+void jsdoc_token_dump (JSDOCToken* self, const gchar* indent);
+void jsdoc_token_stream_dumpAllFlat (JSDOCTokenStream* self);
+static void jsdoc_token_stream_finalize (GObject * obj);
+
+
+GQuark jsdoc_token_stream_error_quark (void) {
+ return g_quark_from_static_string ("jsdoc_token_stream_error-quark");
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 264 "TokenStream.c"
+}
+
+
+JSDOCTokenStream* jsdoc_token_stream_construct (GType object_type, GeeArrayList* tokens) {
+ JSDOCTokenStream * self = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (tokens != NULL, NULL);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self = (JSDOCTokenStream*) g_object_new (object_type, NULL);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = tokens;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (self->tokens);
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self->tokens = _tmp1_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ jsdoc_token_stream_rewind (self);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return self;
+#line 288 "TokenStream.c"
+}
+
+
+JSDOCTokenStream* jsdoc_token_stream_new (GeeArrayList* tokens) {
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return jsdoc_token_stream_construct (JSDOC_TYPE_TOKEN_STREAM, tokens);
+#line 295 "TokenStream.c"
+}
+
+
+GeeArrayList* jsdoc_token_stream_toArray (JSDOCTokenStream* self) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = self->tokens;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp1_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 313 "TokenStream.c"
+}
+
+
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self) {
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (self != NULL);
+#line 38 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self->cursor = -1;
+#line 322 "TokenStream.c"
+}
+
+
+/**
+ @type JSDOC.Token
+*/
+JSDOCToken* jsdoc_token_stream_look (JSDOCTokenStream* self, gint n, gboolean considerWhitespace) {
+ JSDOCToken* result = NULL;
+ gboolean _tmp0_;
+ gint count = 0;
+ gint i = 0;
+ gint _tmp14_;
+#line 44 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = considerWhitespace;
+#line 48 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp0_ == TRUE) {
+#line 341 "TokenStream.c"
+ gboolean _tmp1_ = FALSE;
+ gint _tmp2_;
+ gint _tmp3_;
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gint _tmp12_;
+ gpointer _tmp13_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = self->cursor;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = n;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if ((_tmp2_ + _tmp3_) < 0) {
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = TRUE;
+#line 357 "TokenStream.c"
+ } else {
+ gint _tmp4_;
+ gint _tmp5_;
+ GeeArrayList* _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = self->cursor;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = n;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = self->tokens;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp6_);
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = _tmp7_;
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = (_tmp4_ + _tmp5_) > (_tmp8_ - 1);
+#line 376 "TokenStream.c"
+ }
+#line 50 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp1_) {
+#line 380 "TokenStream.c"
+ JSDOCToken* _tmp9_;
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = jsdoc_token_new ("", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_START_OF_STREAM, -1);
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp9_;
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 388 "TokenStream.c"
+ }
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = self->tokens;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = self->cursor;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = n;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = gee_abstract_list_get ((GeeAbstractList*) _tmp10_, _tmp11_ + _tmp12_);
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp13_;
+#line 53 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 402 "TokenStream.c"
+ }
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ count = 0;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = self->cursor;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp14_;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 412 "TokenStream.c"
+ gint _tmp15_;
+ gint _tmp17_;
+ GeeArrayList* _tmp18_;
+ gint _tmp19_;
+ gint _tmp20_;
+ gboolean _tmp22_ = FALSE;
+ gint _tmp23_;
+ gint _tmp24_;
+ gint _tmp33_;
+ gint _tmp34_;
+ gint _tmp38_;
+ gint _tmp39_ = 0;
+ gint _tmp40_;
+ gint _tmp41_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = i;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp15_ < 0) {
+#line 431 "TokenStream.c"
+ JSDOCToken* _tmp16_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = jsdoc_token_new ("", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_START_OF_STREAM, -1);
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp16_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 439 "TokenStream.c"
+ }
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = i;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = self->tokens;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp18_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = _tmp19_;
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp17_ >= _tmp20_) {
+#line 451 "TokenStream.c"
+ JSDOCToken* _tmp21_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp21_ = jsdoc_token_new ("", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_END_OF_STREAM, -1);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp21_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 459 "TokenStream.c"
+ }
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp23_ = i;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp24_ = self->cursor;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp23_ != _tmp24_) {
+#line 467 "TokenStream.c"
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gpointer _tmp27_;
+ JSDOCToken* _tmp28_;
+ gboolean _tmp29_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp25_ = self->tokens;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp26_ = i;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp27_ = gee_abstract_list_get ((GeeAbstractList*) _tmp25_, _tmp26_);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp28_ = (JSDOCToken*) _tmp27_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp29_ = jsdoc_token_isType (_tmp28_, JSDOC_TOKEN_TYPE_WHIT);
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = _tmp29_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp28_);
+#line 487 "TokenStream.c"
+ } else {
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = FALSE;
+#line 491 "TokenStream.c"
+ }
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp22_) {
+#line 495 "TokenStream.c"
+ gint _tmp30_ = 0;
+ gint _tmp31_;
+ gint _tmp32_;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp31_ = n;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp31_ < 0) {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp30_ = -1;
+#line 505 "TokenStream.c"
+ } else {
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp30_ = 1;
+#line 509 "TokenStream.c"
+ }
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp32_ = i;
+#line 69 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp32_ + _tmp30_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ continue;
+#line 517 "TokenStream.c"
+ }
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp33_ = count;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp34_ = n;
+#line 73 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp33_ == _tmp34_) {
+#line 525 "TokenStream.c"
+ GeeArrayList* _tmp35_;
+ gint _tmp36_;
+ gpointer _tmp37_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp35_ = self->tokens;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp36_ = i;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp37_ = gee_abstract_list_get ((GeeAbstractList*) _tmp35_, _tmp36_);
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp37_;
+#line 74 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 539 "TokenStream.c"
+ }
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp38_ = count;
+#line 76 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ count = _tmp38_ + 1;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp40_ = n;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp40_ < 0) {
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp39_ = -1;
+#line 551 "TokenStream.c"
+ } else {
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp39_ = 1;
+#line 555 "TokenStream.c"
+ }
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp41_ = i;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp41_ + _tmp39_;
+#line 561 "TokenStream.c"
+ }
+}
+
+
+JSDOCToken* jsdoc_token_stream_lookAny (JSDOCTokenStream* self, gint n) {
+ JSDOCToken* result = NULL;
+ gboolean _tmp0_ = FALSE;
+ gint _tmp1_;
+ gint _tmp2_;
+ GeeArrayList* _tmp9_;
+ gint _tmp10_;
+ gint _tmp11_;
+ gpointer _tmp12_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = self->cursor;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = n;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if ((_tmp1_ + _tmp2_) < 0) {
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = TRUE;
+#line 585 "TokenStream.c"
+ } else {
+ gint _tmp3_;
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = self->cursor;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = n;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = self->tokens;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = _tmp6_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = (_tmp3_ + _tmp4_) > (_tmp7_ - 1);
+#line 604 "TokenStream.c"
+ }
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp0_) {
+#line 608 "TokenStream.c"
+ JSDOCToken* _tmp8_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = jsdoc_token_new ("", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_START_OF_STREAM, -1);
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp8_;
+#line 89 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 616 "TokenStream.c"
+ }
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = self->tokens;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = self->cursor;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = n;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) _tmp9_, _tmp10_ + _tmp11_);
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp12_;
+#line 91 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 630 "TokenStream.c"
+}
+
+
+gint jsdoc_token_stream_lookFor (JSDOCTokenStream* self, const gchar* data) {
+ gint result = 0;
+ gint _tmp0_ = 0;
+ gint _tmp1_;
+ gint i = 0;
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, 0);
+#line 99 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (data != NULL, 0);
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = self->cursor;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp1_ < 0) {
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = 0;
+#line 649 "TokenStream.c"
+ } else {
+ gint _tmp2_;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = self->cursor;
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = _tmp2_;
+#line 656 "TokenStream.c"
+ }
+#line 102 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp0_;
+#line 104 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 662 "TokenStream.c"
+ gint _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ GeeArrayList* _tmp7_;
+ gint _tmp8_;
+ gpointer _tmp9_;
+ JSDOCToken* _tmp10_;
+ const gchar* _tmp11_;
+ const gchar* _tmp12_;
+ gboolean _tmp13_;
+ gint _tmp14_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = i;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = self->tokens;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = _tmp5_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp3_ >= _tmp6_) {
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = -1;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 689 "TokenStream.c"
+ }
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = self->tokens;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = i;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, _tmp8_);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = (JSDOCToken*) _tmp9_;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = _tmp10_->data;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = data;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = g_strcmp0 (_tmp11_, _tmp12_) == 0;
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp10_);
+#line 108 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp13_) {
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = i;
+#line 109 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 713 "TokenStream.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = i;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp14_ + 1;
+#line 719 "TokenStream.c"
+ }
+}
+
+
+/**
+ * look ahead (or back) x number of tokens (which are not comment or whitespace)
+ * ?? used by scope parser & compress white to look back?
+ */
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n) {
+ JSDOCToken* result = NULL;
+ gint _tmp0_ = 0;
+ gint _tmp1_;
+ gint step = 0;
+ gint count = 0;
+ gint i = 0;
+ gint _tmp2_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = n;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp1_ < 0) {
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = -1;
+#line 744 "TokenStream.c"
+ } else {
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = 1;
+#line 748 "TokenStream.c"
+ }
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ step = _tmp0_;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ count = 0;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = self->cursor;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp2_;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 760 "TokenStream.c"
+ gboolean _tmp3_ = FALSE;
+ gint _tmp4_;
+ gboolean _tmp8_ = FALSE;
+ gint _tmp9_;
+ gint _tmp12_;
+ GeeArrayList* _tmp13_;
+ gint _tmp14_;
+ gint _tmp15_;
+ JSDOCToken* tok = NULL;
+ GeeArrayList* _tmp17_;
+ gint _tmp18_;
+ gpointer _tmp19_;
+ gboolean _tmp20_ = FALSE;
+ gint _tmp21_;
+ gint _tmp22_;
+ gint _tmp30_;
+ gint _tmp31_;
+ gint _tmp35_;
+ gint _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = i;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp4_ < 0) {
+#line 786 "TokenStream.c"
+ gint _tmp5_;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = n;
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = _tmp5_ > -1;
+#line 792 "TokenStream.c"
+ } else {
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = FALSE;
+#line 796 "TokenStream.c"
+ }
+#line 135 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp3_) {
+#line 800 "TokenStream.c"
+ gint _tmp6_;
+ gint _tmp7_;
+#line 136 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = 0;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = count;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = step;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ count = _tmp6_ + _tmp7_;
+#line 138 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ continue;
+#line 813 "TokenStream.c"
+ }
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = i;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp9_ < 0) {
+#line 819 "TokenStream.c"
+ gint _tmp10_;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = n;
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = _tmp10_ < 0;
+#line 825 "TokenStream.c"
+ } else {
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = FALSE;
+#line 829 "TokenStream.c"
+ }
+#line 143 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp8_) {
+#line 833 "TokenStream.c"
+ JSDOCToken* _tmp11_;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = jsdoc_token_new ("BEG", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_END_OF_STREAM, -1);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp11_;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 841 "TokenStream.c"
+ }
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = i;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = self->tokens;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp13_);
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = _tmp14_;
+#line 149 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp12_ >= _tmp15_) {
+#line 853 "TokenStream.c"
+ JSDOCToken* _tmp16_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = jsdoc_token_new ("END", JSDOC_TOKEN_TYPE_VOID, JSDOC_TOKEN_NAME_END_OF_STREAM, -1);
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp16_;
+#line 150 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 861 "TokenStream.c"
+ }
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = self->tokens;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = i;
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = gee_abstract_list_get ((GeeAbstractList*) _tmp17_, _tmp18_);
+#line 153 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ tok = (JSDOCToken*) _tmp19_;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp21_ = i;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = self->cursor;
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp21_ != _tmp22_) {
+#line 877 "TokenStream.c"
+ gboolean _tmp23_ = FALSE;
+ JSDOCToken* _tmp24_;
+ gboolean _tmp25_;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp24_ = tok;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp25_ = jsdoc_token_isType (_tmp24_, JSDOC_TOKEN_TYPE_WHIT);
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp25_) {
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp23_ = TRUE;
+#line 889 "TokenStream.c"
+ } else {
+ JSDOCToken* _tmp26_;
+ gboolean _tmp27_;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp26_ = tok;
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp27_ = jsdoc_token_isType (_tmp26_, JSDOC_TOKEN_TYPE_COMM);
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp23_ = _tmp27_;
+#line 899 "TokenStream.c"
+ }
+#line 156 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = _tmp23_;
+#line 903 "TokenStream.c"
+ } else {
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = FALSE;
+#line 907 "TokenStream.c"
+ }
+#line 155 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp20_) {
+#line 911 "TokenStream.c"
+ gint _tmp28_;
+ gint _tmp29_;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp28_ = i;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp29_ = step;
+#line 158 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp28_ + _tmp29_;
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 159 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ continue;
+#line 924 "TokenStream.c"
+ }
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp30_ = count;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp31_ = n;
+#line 162 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp30_ == _tmp31_) {
+#line 932 "TokenStream.c"
+ GeeArrayList* _tmp32_;
+ gint _tmp33_;
+ gpointer _tmp34_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp32_ = self->tokens;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp33_ = i;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp34_ = gee_abstract_list_get ((GeeAbstractList*) _tmp32_, _tmp33_);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp34_;
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 163 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 948 "TokenStream.c"
+ }
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp35_ = count;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp36_ = step;
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ count = _tmp35_ + _tmp36_;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp37_ = i;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp38_ = step;
+#line 166 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp37_ + _tmp38_;
+#line 132 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 964 "TokenStream.c"
+ }
+}
+
+
+/**
+ * @return {Token|null}
+ * next token (with white space)
+ */
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self) {
+ JSDOCToken* result = NULL;
+ gint _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _tmp2_;
+ gint _tmp3_;
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gpointer _tmp7_;
+#line 179 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = self->cursor;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = self->tokens;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = _tmp2_;
+#line 185 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if ((_tmp0_ + 1) >= _tmp3_) {
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = NULL;
+#line 186 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 999 "TokenStream.c"
+ }
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = self->cursor;
+#line 188 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self->cursor = _tmp4_ + 1;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = self->tokens;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = self->cursor;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp5_, _tmp6_);
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp7_;
+#line 189 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1015 "TokenStream.c"
+}
+
+
+GeeArrayList* jsdoc_token_stream_nextM (JSDOCTokenStream* self, gint howMany, GError** error) {
+ GeeArrayList* result = NULL;
+ gint _tmp0_;
+ GeeArrayList* got = NULL;
+ GeeArrayList* _tmp3_;
+ gint _tmp19_;
+ gint _tmp20_;
+ GError * _inner_error_ = NULL;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = howMany;
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp0_ < 2) {
+#line 1033 "TokenStream.c"
+ gint _tmp1_;
+ GError* _tmp2_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = howMany;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = g_error_new (JSDOC_TOKEN_STREAM_ERROR, JSDOC_TOKEN_STREAM_ERROR_ArgumentError, "nextM called with wrong number : %d", _tmp1_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _inner_error_ = _tmp2_;
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_inner_error_->domain == JSDOC_TOKEN_STREAM_ERROR) {
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_propagate_error (error, _inner_error_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1048 "TokenStream.c"
+ } else {
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_clear_error (&_inner_error_);
+#line 197 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1056 "TokenStream.c"
+ }
+ }
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 199 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ got = _tmp3_;
+#line 1063 "TokenStream.c"
+ {
+ gint i = 0;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = 1;
+#line 1068 "TokenStream.c"
+ {
+ gboolean _tmp4_ = FALSE;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = TRUE;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1075 "TokenStream.c"
+ gint _tmp6_;
+ gint _tmp7_;
+ gint _tmp8_;
+ gint _tmp9_;
+ GeeArrayList* _tmp10_;
+ gint _tmp11_;
+ gint _tmp12_;
+ GeeArrayList* _tmp13_;
+ GeeArrayList* _tmp14_;
+ gint _tmp15_;
+ gint _tmp16_;
+ gpointer _tmp17_;
+ JSDOCToken* _tmp18_;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!_tmp4_) {
+#line 1091 "TokenStream.c"
+ gint _tmp5_;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = i;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp5_ + 1;
+#line 1097 "TokenStream.c"
+ }
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = FALSE;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = i;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = howMany;
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(_tmp6_ <= _tmp7_)) {
+#line 201 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1109 "TokenStream.c"
+ }
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = self->cursor;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = i;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = self->tokens;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp10_);
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = _tmp11_;
+#line 202 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if ((_tmp8_ + _tmp9_) >= _tmp12_) {
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = NULL;
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (got);
+#line 203 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1129 "TokenStream.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = got;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = self->tokens;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = self->cursor;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = i;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, _tmp15_ + _tmp16_);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = (JSDOCToken*) _tmp17_;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp13_, _tmp18_);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp18_);
+#line 1147 "TokenStream.c"
+ }
+ }
+ }
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = self->cursor;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = howMany;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self->cursor = _tmp19_ + _tmp20_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = got;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1161 "TokenStream.c"
+}
+
+
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self) {
+ JSDOCToken* result = NULL;
+ JSDOCToken* _tmp0_;
+#line 217 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = jsdoc_token_stream_nextNonSpace (self);
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp0_;
+#line 218 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1176 "TokenStream.c"
+}
+
+
+JSDOCToken* jsdoc_token_stream_nextNonSpace (JSDOCTokenStream* self) {
+ JSDOCToken* result = NULL;
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 224 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1186 "TokenStream.c"
+ JSDOCToken* tok = NULL;
+ JSDOCToken* _tmp0_;
+ JSDOCToken* _tmp1_;
+ gboolean _tmp2_ = FALSE;
+ JSDOCToken* _tmp3_;
+ gboolean _tmp4_;
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = jsdoc_token_stream_next (self);
+#line 225 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ tok = _tmp0_;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = tok;
+#line 226 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp1_ == NULL) {
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = NULL;
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 227 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1207 "TokenStream.c"
+ }
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = tok;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = jsdoc_token_isType (_tmp3_, JSDOC_TOKEN_TYPE_WHIT);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp4_) {
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = TRUE;
+#line 1217 "TokenStream.c"
+ } else {
+ JSDOCToken* _tmp5_;
+ gboolean _tmp6_;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = tok;
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = jsdoc_token_isType (_tmp5_, JSDOC_TOKEN_TYPE_COMM);
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = _tmp6_;
+#line 1227 "TokenStream.c"
+ }
+#line 229 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp2_) {
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 230 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ continue;
+#line 1235 "TokenStream.c"
+ }
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = tok;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1241 "TokenStream.c"
+ }
+}
+
+
+/**
+ * balance
+ * -- returns all the tokens betweeen and including stop token eg.. from {... to }
+ * @param start {String} token name or data (eg. '{'
+ * @param stop {String} (Optional) token name or data (eg. '}'
+ */
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error) {
+ GeeArrayList* result = NULL;
+ JSDOCTokenName start = 0;
+ JSDOCTokenName _tmp0_;
+ JSDOCTokenName* stop = NULL;
+ JSDOCLang_Class* _tmp1_;
+ JSDOCTokenName _tmp2_;
+ JSDOCTokenName* _tmp3_;
+ JSDOCTokenName* _tmp4_;
+ gint depth = 0;
+ GeeArrayList* got = NULL;
+ GeeArrayList* _tmp8_;
+ gboolean started = FALSE;
+ JSDOCToken* token = NULL;
+ GeeArrayList* _tmp28_;
+ GError * _inner_error_ = NULL;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = in_start;
+#line 257 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ start = _tmp0_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = jsdoc_Lang;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = start;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = jsdoc_langclass_matching (_tmp1_, _tmp2_, &_inner_error_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ stop = _tmp3_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_inner_error_->domain == JSDOC_TOKEN_STREAM_ERROR) {
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_propagate_error (error, _inner_error_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1290 "TokenStream.c"
+ } else {
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_clear_error (&_inner_error_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1298 "TokenStream.c"
+ }
+ }
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = stop;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp4_ == NULL) {
+#line 1305 "TokenStream.c"
+ JSDOCTokenName _tmp5_;
+ GEnumValue* _tmp6_;
+ GError* _tmp7_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = start;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = g_enum_get_value (g_type_class_ref (JSDOC_TYPE_TOKEN_NAME), _tmp5_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = g_error_new (JSDOC_TOKEN_STREAM_ERROR, JSDOC_TOKEN_STREAM_ERROR_ArgumentError, "balance called with invalid start/stop : %s", (_tmp6_ != NULL) ? _tmp6_->value_name : NULL);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _inner_error_ = _tmp7_;
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_inner_error_->domain == JSDOC_TOKEN_STREAM_ERROR) {
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_propagate_error (error, _inner_error_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1325 "TokenStream.c"
+ } else {
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_clear_error (&_inner_error_);
+#line 260 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1335 "TokenStream.c"
+ }
+ }
+#line 264 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ depth = 0;
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 265 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ got = _tmp8_;
+#line 266 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ started = FALSE;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1348 "TokenStream.c"
+ JSDOCToken* _tmp9_;
+ JSDOCToken* _tmp10_;
+ JSDOCToken* _tmp11_;
+ JSDOCTokenName _tmp12_;
+ gboolean _tmp13_;
+ gboolean _tmp15_;
+ JSDOCToken* _tmp18_;
+ JSDOCTokenName* _tmp19_;
+ gboolean _tmp20_;
+ JSDOCToken* _tmp25_;
+ JSDOCToken* _tmp26_;
+ gboolean _tmp27_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = jsdoc_token_stream_lookAny (self, 1);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ token = _tmp9_;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = token;
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(NULL != _tmp10_)) {
+#line 271 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1373 "TokenStream.c"
+ }
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = token;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = start;
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = jsdoc_token_isName (_tmp11_, _tmp12_);
+#line 273 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp13_) {
+#line 1383 "TokenStream.c"
+ gint _tmp14_;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = depth;
+#line 275 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ depth = _tmp14_ + 1;
+#line 276 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ started = TRUE;
+#line 1391 "TokenStream.c"
+ }
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = started;
+#line 279 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp15_) {
+#line 1397 "TokenStream.c"
+ GeeArrayList* _tmp16_;
+ JSDOCToken* _tmp17_;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = got;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = token;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp16_, _tmp17_);
+#line 1406 "TokenStream.c"
+ }
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = token;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = stop;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = jsdoc_token_isName (_tmp18_, *_tmp19_);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp20_) {
+#line 1416 "TokenStream.c"
+ gint _tmp21_;
+ gint _tmp22_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp21_ = depth;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ depth = _tmp21_ - 1;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = depth;
+#line 287 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp22_ < 1) {
+#line 1427 "TokenStream.c"
+ JSDOCToken* _tmp23_;
+ JSDOCToken* _tmp24_;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp23_ = jsdoc_token_stream_next (self);
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp24_ = _tmp23_;
+#line 288 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp24_);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = got;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1444 "TokenStream.c"
+ }
+ }
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp25_ = jsdoc_token_stream_next (self);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp26_ = _tmp25_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp27_ = NULL == _tmp26_;
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp26_);
+#line 294 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp27_) {
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1459 "TokenStream.c"
+ }
+ }
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp28_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp28_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (got);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1474 "TokenStream.c"
+}
+
+
+JSDOCToken* jsdoc_token_stream_getMatchingTokenEnd (JSDOCTokenStream* self, JSDOCTokenName end) {
+ JSDOCToken* result = NULL;
+ JSDOCTokenName* _tmp0_ = NULL;
+ JSDOCLang_Class* _tmp1_;
+ JSDOCTokenName _tmp2_;
+ JSDOCTokenName* _tmp3_;
+ JSDOCToken* _tmp4_;
+ GError * _inner_error_ = NULL;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = jsdoc_Lang;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = end;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = jsdoc_langclass_matching (_tmp1_, _tmp2_, &_inner_error_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = _tmp3_;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_clear_error (&_inner_error_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1504 "TokenStream.c"
+ }
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = jsdoc_token_stream_getMatchingToken (self, *_tmp0_, 1);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = _tmp4_;
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (_tmp0_);
+#line 305 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1514 "TokenStream.c"
+}
+
+
+JSDOCToken* jsdoc_token_stream_getMatchingToken (JSDOCTokenStream* self, JSDOCTokenName start, gint depth) {
+ JSDOCToken* result = NULL;
+ gint cursor = 0;
+ gint _tmp0_;
+ JSDOCTokenName* stop = NULL;
+ JSDOCLang_Class* _tmp1_;
+ JSDOCTokenName _tmp2_;
+ JSDOCTokenName* _tmp3_;
+ JSDOCToken* token = NULL;
+ GError * _inner_error_ = NULL;
+#line 308 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = self->cursor;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ cursor = _tmp0_;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = jsdoc_Lang;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = start;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = jsdoc_langclass_matching (_tmp1_, _tmp2_, &_inner_error_);
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ stop = _tmp3_;
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_clear_error (&_inner_error_);
+#line 314 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return NULL;
+#line 1550 "TokenStream.c"
+ }
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1554 "TokenStream.c"
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gpointer _tmp6_;
+ JSDOCToken* _tmp7_;
+ JSDOCToken* _tmp8_;
+ JSDOCTokenName _tmp9_;
+ gboolean _tmp10_;
+ gboolean _tmp12_ = FALSE;
+ JSDOCToken* _tmp13_;
+ JSDOCTokenName* _tmp14_;
+ gboolean _tmp15_;
+ gint _tmp22_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = self->tokens;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = cursor;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) _tmp4_, _tmp5_);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ token = (JSDOCToken*) _tmp6_;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = token;
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(NULL != _tmp7_)) {
+#line 317 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1583 "TokenStream.c"
+ }
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = token;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = start;
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = jsdoc_token_isName (_tmp8_, _tmp9_);
+#line 318 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp10_) {
+#line 1593 "TokenStream.c"
+ gint _tmp11_;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = depth;
+#line 319 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ depth = _tmp11_ + 1;
+#line 1599 "TokenStream.c"
+ }
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = token;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = stop;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = jsdoc_token_isName (_tmp13_, *_tmp14_);
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp15_) {
+#line 1609 "TokenStream.c"
+ gint _tmp16_;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = cursor;
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = _tmp16_ != 0;
+#line 1615 "TokenStream.c"
+ } else {
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = FALSE;
+#line 1619 "TokenStream.c"
+ }
+#line 322 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp12_) {
+#line 1623 "TokenStream.c"
+ gint _tmp17_;
+ gint _tmp18_;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = depth;
+#line 323 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ depth = _tmp17_ - 1;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = depth;
+#line 324 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp18_ == 0) {
+#line 1634 "TokenStream.c"
+ GeeArrayList* _tmp19_;
+ gint _tmp20_;
+ gpointer _tmp21_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = self->tokens;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = cursor;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp21_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, _tmp20_);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = (JSDOCToken*) _tmp21_;
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 325 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1652 "TokenStream.c"
+ }
+ }
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = cursor;
+#line 328 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ cursor = _tmp22_ + 1;
+#line 1659 "TokenStream.c"
+ }
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = NULL;
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (token);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (stop);
+#line 330 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1669 "TokenStream.c"
+}
+
+
+GeeArrayList* jsdoc_token_stream_remaining (JSDOCTokenStream* self) {
+ GeeArrayList* result = NULL;
+ GeeArrayList* ret = NULL;
+ GeeArrayList* _tmp0_;
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = gee_array_list_new (JSDOC_TYPE_TOKEN, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 340 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ ret = _tmp0_;
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1685 "TokenStream.c"
+ JSDOCToken* tok = NULL;
+ JSDOCToken* _tmp1_;
+ JSDOCToken* _tmp2_;
+ gboolean _tmp3_;
+ JSDOCToken* nt = NULL;
+ JSDOCToken* _tmp4_;
+ JSDOCToken* _tmp5_;
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = jsdoc_token_stream_look (self, 1, TRUE);
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ tok = _tmp1_;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = tok;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = jsdoc_token_isType (_tmp2_, JSDOC_TOKEN_TYPE_VOID);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp3_) {
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ result = ret;
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 344 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ return result;
+#line 1709 "TokenStream.c"
+ }
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = jsdoc_token_stream_next (self);
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ nt = _tmp4_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = nt;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp5_ != NULL) {
+#line 1719 "TokenStream.c"
+ GeeArrayList* _tmp6_;
+ JSDOCToken* _tmp7_;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = ret;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = nt;
+#line 348 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp6_, _tmp7_);
+#line 1728 "TokenStream.c"
+ }
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (nt);
+#line 341 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (tok);
+#line 1734 "TokenStream.c"
+ }
+#line 339 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (ret);
+#line 1738 "TokenStream.c"
+}
+
+
+void jsdoc_token_stream_printRange (JSDOCTokenStream* self, gint start, gint end) {
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (self != NULL);
+#line 1745 "TokenStream.c"
+ {
+ gint i = 0;
+ gint _tmp0_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = start;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp0_;
+#line 1753 "TokenStream.c"
+ {
+ gboolean _tmp1_ = FALSE;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = TRUE;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1760 "TokenStream.c"
+ gint _tmp3_;
+ gint _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gpointer _tmp7_;
+ JSDOCToken* _tmp8_;
+ gchar* _tmp9_;
+ gchar* _tmp10_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!_tmp1_) {
+#line 1771 "TokenStream.c"
+ gint _tmp2_;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = i;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp2_ + 1;
+#line 1777 "TokenStream.c"
+ }
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = FALSE;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = i;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = end;
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(_tmp3_ < (_tmp4_ + 1))) {
+#line 356 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1789 "TokenStream.c"
+ }
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = self->tokens;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = i;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = gee_abstract_list_get ((GeeAbstractList*) _tmp5_, _tmp6_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = (JSDOCToken*) _tmp7_;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = jsdoc_token_asString (_tmp8_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = _tmp9_;
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_print ("%s", _tmp10_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (_tmp10_);
+#line 357 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp8_);
+#line 1809 "TokenStream.c"
+ }
+ }
+ }
+}
+
+
+void jsdoc_token_stream_dump (JSDOCTokenStream* self, gint start, gint end) {
+ gint _tmp0_;
+ gint _tmp1_;
+ gint _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gchar* outs = NULL;
+ gchar* _tmp7_;
+ const gchar* _tmp32_;
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (self != NULL);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = start;
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = MAX (_tmp0_, 0);
+#line 373 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ start = _tmp1_;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = end;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = self->tokens;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = _tmp4_;
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = MIN (_tmp2_, _tmp5_);
+#line 374 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ end = _tmp6_;
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = g_strdup ("");
+#line 375 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ outs = _tmp7_;
+#line 1851 "TokenStream.c"
+ {
+ gint i = 0;
+ gint _tmp8_;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = start;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp8_;
+#line 1859 "TokenStream.c"
+ {
+ gboolean _tmp9_ = FALSE;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = TRUE;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1866 "TokenStream.c"
+ gint _tmp11_;
+ gint _tmp12_;
+ const gchar* _tmp13_ = NULL;
+ GeeArrayList* _tmp14_;
+ gint _tmp15_;
+ gpointer _tmp16_;
+ JSDOCToken* _tmp17_;
+ const gchar* _tmp18_;
+ gboolean _tmp19_;
+ const gchar* _tmp30_;
+ gchar* _tmp31_;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!_tmp9_) {
+#line 1880 "TokenStream.c"
+ gint _tmp10_;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = i;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp10_ + 1;
+#line 1886 "TokenStream.c"
+ }
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = FALSE;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = i;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = end;
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(_tmp11_ < _tmp12_)) {
+#line 376 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 1898 "TokenStream.c"
+ }
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp14_ = self->tokens;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp15_ = i;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) _tmp14_, _tmp15_);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp17_ = (JSDOCToken*) _tmp16_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp18_ = _tmp17_->outData;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp19_ = g_strcmp0 (_tmp18_, "") == 0;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp17_);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (_tmp19_) {
+#line 1916 "TokenStream.c"
+ GeeArrayList* _tmp20_;
+ gint _tmp21_;
+ gpointer _tmp22_;
+ JSDOCToken* _tmp23_;
+ const gchar* _tmp24_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp20_ = self->tokens;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp21_ = i;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp22_ = gee_abstract_list_get ((GeeAbstractList*) _tmp20_, _tmp21_);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp23_ = (JSDOCToken*) _tmp22_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp24_ = _tmp23_->data;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = _tmp24_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp23_);
+#line 1936 "TokenStream.c"
+ } else {
+ GeeArrayList* _tmp25_;
+ gint _tmp26_;
+ gpointer _tmp27_;
+ JSDOCToken* _tmp28_;
+ const gchar* _tmp29_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp25_ = self->tokens;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp26_ = i;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp27_ = gee_abstract_list_get ((GeeAbstractList*) _tmp25_, _tmp26_);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp28_ = (JSDOCToken*) _tmp27_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp29_ = _tmp28_->outData;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp13_ = _tmp29_;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp28_);
+#line 1957 "TokenStream.c"
+ }
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp30_ = outs;
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp31_ = g_strconcat (_tmp30_, _tmp13_, NULL);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (outs);
+#line 378 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ outs = _tmp31_;
+#line 1967 "TokenStream.c"
+ }
+ }
+ }
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp32_ = outs;
+#line 380 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_print ("%s", _tmp32_);
+#line 371 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (outs);
+#line 1977 "TokenStream.c"
+}
+
+
+void jsdoc_token_stream_dumpAll (JSDOCTokenStream* self, const gchar* indent) {
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (self != NULL);
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (indent != NULL);
+#line 1986 "TokenStream.c"
+ {
+ gint i = 0;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = 0;
+#line 1991 "TokenStream.c"
+ {
+ gboolean _tmp0_ = FALSE;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = TRUE;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 1998 "TokenStream.c"
+ gint _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ GeeArrayList* _tmp6_;
+ gint _tmp7_;
+ gpointer _tmp8_;
+ JSDOCToken* _tmp9_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!_tmp0_) {
+#line 2009 "TokenStream.c"
+ gint _tmp1_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = i;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp1_ + 1;
+#line 2015 "TokenStream.c"
+ }
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = FALSE;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = i;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = self->tokens;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = _tmp4_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(_tmp2_ < _tmp5_)) {
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 2031 "TokenStream.c"
+ }
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = self->tokens;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = i;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) _tmp6_, _tmp7_);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = (JSDOCToken*) _tmp8_;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ jsdoc_token_dump (_tmp9_, "");
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp9_);
+#line 2045 "TokenStream.c"
+ }
+ }
+ }
+}
+
+
+void jsdoc_token_stream_dumpAllFlat (JSDOCTokenStream* self) {
+#line 391 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_return_if_fail (self != NULL);
+#line 2055 "TokenStream.c"
+ {
+ gint i = 0;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = 0;
+#line 2060 "TokenStream.c"
+ {
+ gboolean _tmp0_ = FALSE;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = TRUE;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ while (TRUE) {
+#line 2067 "TokenStream.c"
+ gint _tmp2_;
+ GeeArrayList* _tmp3_;
+ gint _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ GeeArrayList* _tmp7_;
+ gint _tmp8_;
+ gpointer _tmp9_;
+ JSDOCToken* _tmp10_;
+ gchar* _tmp11_;
+ gchar* _tmp12_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!_tmp0_) {
+#line 2081 "TokenStream.c"
+ gint _tmp1_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp1_ = i;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ i = _tmp1_ + 1;
+#line 2087 "TokenStream.c"
+ }
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp0_ = FALSE;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp2_ = i;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp3_ = self->tokens;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp4_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp3_);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp5_ = _tmp4_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ if (!(_tmp2_ < _tmp5_)) {
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ break;
+#line 2103 "TokenStream.c"
+ }
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp6_ = i;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp7_ = self->tokens;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp8_ = i;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp9_ = gee_abstract_list_get ((GeeAbstractList*) _tmp7_, _tmp8_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp10_ = (JSDOCToken*) _tmp9_;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp11_ = jsdoc_token_asString (_tmp10_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _tmp12_ = _tmp11_;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ g_print ("%d: %s\n", _tmp6_, _tmp12_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_free0 (_tmp12_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (_tmp10_);
+#line 2125 "TokenStream.c"
+ }
+ }
+ }
+}
+
+
+static void jsdoc_token_stream_class_init (JSDOCTokenStreamClass * klass) {
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ jsdoc_token_stream_parent_class = g_type_class_peek_parent (klass);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_token_stream_finalize;
+#line 2137 "TokenStream.c"
+}
+
+
+static void jsdoc_token_stream_instance_init (JSDOCTokenStream * self) {
+}
+
+
+static void jsdoc_token_stream_finalize (GObject * obj) {
+ JSDOCTokenStream * self;
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream);
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ _g_object_unref0 (self->tokens);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/TokenStream.vala"
+ G_OBJECT_CLASS (jsdoc_token_stream_parent_class)->finalize (obj);
+#line 2153 "TokenStream.c"
+}
+
+
+GType jsdoc_token_stream_get_type (void) {
+ static volatile gsize jsdoc_token_stream_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_token_stream_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCTokenStreamClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_token_stream_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCTokenStream), 0, (GInstanceInitFunc) jsdoc_token_stream_instance_init, NULL };
+ GType jsdoc_token_stream_type_id;
+ jsdoc_token_stream_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCTokenStream", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_token_stream_type_id__volatile, jsdoc_token_stream_type_id);
+ }
+ return jsdoc_token_stream_type_id__volatile;
+}
+
+
+
--- /dev/null
+
+/**
+ * @class TokenStream
+ *
+ * BC notes:
+ *
+ * nextT => nextTok
+ * lookT => lookTok
+ *
+ */
+
+
+namespace JSDOC {
+
+ public errordomain TokenStreamError {
+ ArgumentError
+ }
+ public class TokenStream : Object
+ {
+
+ protected Gee.ArrayList<Token> tokens;
+ public int cursor; // where are we in the stream.
+
+
+ public TokenStream(Gee.ArrayList<Token> tokens) {
+
+ this.tokens = tokens;
+
+ this.rewind();
+ }
+ public Gee.ArrayList<Token> toArray()
+ {
+ return this.tokens;
+ }
+
+
+ public void rewind() {
+ this.cursor = -1;
+ }
+
+ /**
+ @type JSDOC.Token
+ */
+ public Token? look (int n, bool considerWhitespace) // depricated... causes all sorts of problems...
+ {
+
+
+ if (considerWhitespace == true) {
+
+ if (this.cursor+n < 0 || this.cursor+n > (this.tokens.size -1)) {
+ return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+ }
+ return this.tokens.get(this.cursor+n);
+ }
+
+
+ var count = 0;
+ var i = this.cursor;
+
+ while (true) {
+ if (i < 0) {
+ return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+ }
+ if (i >= this.tokens.size) {
+ return new Token("", TokenType.VOID, TokenName.END_OF_STREAM);
+ }
+
+ if (i != this.cursor && this.tokens.get(i).isType(TokenType.WHIT)) {
+ i += (n < 0) ? -1 : 1;
+ continue;
+ }
+
+ if (count == n) {
+ return this.tokens.get(i);
+ }
+ count++;
+ i += (n < 0) ? -1 : 1;
+ }
+
+ // return new Token("", "VOID", "STREAM_ERROR"); // because null isn't an object and caller always expects an object
+
+ }
+ // look through token stream, including white space...
+ public Token lookAny (int n)
+ {
+
+
+ if (this.cursor+n < 0 || this.cursor+n > (this.tokens.size -1)) {
+ return new Token("", TokenType.VOID, TokenName.START_OF_STREAM);
+ }
+ return this.tokens.get(this.cursor+n);
+
+
+
+ }
+
+
+
+ public int lookFor (string data)
+ {
+ // non tree version..
+ var i = this.cursor < 0 ? 0 : this.cursor ;
+
+ while (true) {
+ if (i >= this.tokens.size) {
+ return -1;
+ }
+ if (this.tokens.get(i).data == data) {
+ return i;
+ }
+ i++;
+
+ }
+ // should not get here!
+ // return -1;
+
+ }
+
+
+ /**
+ * look ahead (or back) x number of tokens (which are not comment or whitespace)
+ * ?? used by scope parser & compress white to look back?
+ */
+ public Token lookTok (int n) {
+
+
+ var step = (n < 0) ? -1 : 1;
+ var count = 0;
+
+ var i = this.cursor;
+
+ while (true) {
+ // print("lookTok:i=%d n= %d count=%d\n" , i, n, count);
+
+ if (i < 0 && n > -1) {
+ i = 0;
+ count += step;
+ continue;
+ }
+
+
+ // beyond beginnnig..
+ if (i < 0 && n < 0) {
+ return new Token("BEG", TokenType.VOID, TokenName.END_OF_STREAM);
+ }
+
+
+ // beyond end..
+ if (i >= this.tokens.size) {
+ return new Token("END", TokenType.VOID, TokenName.END_OF_STREAM);
+ }
+ // print("lookTok:i= %d n= %d : %s\n" , i, n, this.tokens.get(i).asString());
+ var tok = this.tokens.get(i);
+
+ if (i != this.cursor && (
+ tok.isType(TokenType.WHIT) || tok.isType(TokenType.COMM)
+ )) {
+ i += step;
+ continue;
+ }
+
+ if (count == n) {
+ return this.tokens.get(i);
+ }
+ count+=step;
+ i += step;
+ }
+ // should never get here..
+ // return new Token("", "VOID", "END_OF_STREAM");; // because null isn't an object and caller always expects an object;
+
+ }
+
+ /**
+ * @return {Token|null}
+ * next token (with white space)
+ */
+
+
+ public Token? next() {
+
+
+ //if (typeof howMany == "undefined") howMany = 1;
+ // if (howMany < 1) { return null; }
+
+ if (this.cursor+1 >= this.tokens.size) {
+ return null;
+ }
+ this.cursor++;
+ return this.tokens.get(this.cursor);
+
+ }
+
+ public Gee.ArrayList<Token>? nextM(int howMany) throws TokenStreamError {
+
+ //if (typeof howMany == "undefined") howMany = 1;
+ if (howMany < 2) {
+ throw new TokenStreamError.ArgumentError("nextM called with wrong number : %d", howMany);
+ }
+ var got = new Gee.ArrayList<Token>();
+
+ for (var i = 1; i <= howMany; i++) {
+ if (this.cursor+i >= this.tokens.size) {
+ return null;
+ }
+ got.add(this.tokens.get(this.cursor+i));
+ }
+ this.cursor += howMany;
+
+ return got;
+ }
+
+
+
+
+ // what about comments after 'function'...
+ // is this used ???
+ public Token? nextTok() {
+ return this.nextNonSpace();
+ }
+
+ public Token? nextNonSpace ()
+ {
+
+ while (true) {
+ var tok = this.next();
+ if (tok == null) {
+ return null;
+ }
+ if (tok.isType(TokenType.WHIT) || tok.isType(TokenType.COMM)) {
+ continue;
+ }
+ return tok;
+ }
+ }
+
+ /**
+ * balance
+ * -- returns all the tokens betweeen and including stop token eg.. from {... to }
+ * @param start {String} token name or data (eg. '{'
+ * @param stop {String} (Optional) token name or data (eg. '}'
+ */
+
+
+ //public Gee.ArrayList<Token> balanceStr (string start) throws TokenStreamError
+ //{
+ // return this.balance( Lang.punc(start));
+ //}
+
+
+ public Gee.ArrayList<Token> balance (TokenName in_start) throws TokenStreamError
+ {
+
+ // fixme -- validate start...
+
+ // accepts names or "{" etc..
+
+ var start = in_start;
+ var stop = Lang.matching(start); /// validates start..
+ if (stop == null) {
+ throw new TokenStreamError.ArgumentError("balance called with invalid start/stop : %s",start.to_string());
+ }
+
+ //print("START=%s, STOP=%s \n", start.to_string(),stop.to_string());
+ var depth = 0;
+ var got = new Gee.ArrayList<Token>();
+ var started = false;
+ //Seed.print("START:" + start);
+ //Seed.print("STOP:" + stop);
+ Token token;
+
+ while (null != (token = this.lookAny(1))) {
+ //print("BALANCE: %d d=%d, %s \n" , this.cursor, depth, token.asString());
+ if (token.isName(start)) {
+ // Seed.print("balance: START : " + depth + " " + token.data);
+ depth++;
+ started = true;
+ }
+
+ if (started) {
+ got.add(token);
+ }
+
+ if (token.isName(stop)) {
+ depth--;
+
+ //debug("balance (%d): STOP: %s" , depth , token.data);
+ if (depth < 1) {
+ this.next(); // shift cursor to eat closer...
+ //debug("returning got %d", got.size);
+ return got;
+ }
+
+ }
+ if (null == this.next()) {
+ break;
+ }
+ }
+ return new Gee.ArrayList<Token>();
+ }
+ // designed to get either end or start..
+
+
+ public Token? getMatchingTokenEnd(TokenName end)
+ {
+ return this.getMatchingToken(Lang.matching(end), 1);
+ }
+
+ public Token? getMatchingToken(TokenName start, int depth = 0)
+ {
+
+ var cursor = this.cursor;
+
+
+ var stop= Lang.matching(start);
+ Token token;
+
+ while (null != (token = this.tokens[cursor])) {
+ if (token.isName(start)) {
+ depth++;
+ }
+
+ if (token.isName(stop) && cursor != 0) {
+ depth--;
+ if (depth == 0) {
+ return this.tokens[cursor];
+ }
+ }
+ cursor++;
+ }
+ return null;
+ }
+ /*
+ public Gee.ArrayList<Token> insertAhead(Token token)
+ {
+ this.tokens.splice(this.cursor+1, 0, token); // fixme...
+ }
+ */
+
+ public Gee.ArrayList<Token> remaining() {
+ var ret = new Gee.ArrayList<Token>();
+ while (true) {
+ var tok = this.look(1,true);
+ if (tok.isType(TokenType.VOID)) {
+ return ret;
+ }
+ var nt = this.next();
+ if (nt != null) {
+ ret.add(nt);
+ }
+ }
+ }
+
+
+ public void printRange(int start, int end) {
+
+ for(var i = start; i < end +1; i++) {
+ print(this.tokens.get(i).asString());
+ }
+ }
+
+ /*
+ arrayToString : function(ar) {
+ console.log(typeof(ar));
+ var ret = [];
+ ar.forEach(function(e) {
+ ret.push(e.data);
+ })
+ return ret.join('');
+ },
+ */
+ public void dump(int start, int end)
+ {
+ start = int.max(start , 0);
+ end = int.min(end, this.tokens.size);
+ var outs = "";;
+ for (var i =start;i < end; i++) {
+
+ outs += (this.tokens[i].outData == "") ? this.tokens[i].data : this.tokens[i].outData;
+ }
+ print(outs);
+ }
+
+ public void dumpAll(string indent)
+ {
+ for (var i = 0;i < this.tokens.size; i++) {
+
+ this.tokens[i].dump("");
+ }
+
+ }
+ public void dumpAllFlat()
+ {
+ for (var i = 0;i < this.tokens.size; i++) {
+
+ print("%d: %s\n", i, this.tokens[i].asString());
+ }
+
+ }
+
+ }
+}
+
--- /dev/null
+/* Walker.c generated by valac 0.36.6, the Vala compiler
+ * generated from Walker.vala, do not modify */
+
+/* this walks through the code, and tries to find patterns that match documentable elements..*/
+
+#include <glib.h>
+#include <glib-object.h>
+#include <gee.h>
+#include <stdlib.h>
+#include <string.h>
+
+
+#define JSDOC_TYPE_WALKER_MODE (jsdoc_walker_mode_get_type ())
+
+#define JSDOC_TYPE_WALKER (jsdoc_walker_get_type ())
+#define JSDOC_WALKER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_WALKER, JSDOCWalker))
+#define JSDOC_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+#define JSDOC_IS_WALKER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_WALKER))
+#define JSDOC_IS_WALKER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_WALKER))
+#define JSDOC_WALKER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_WALKER, JSDOCWalkerClass))
+
+typedef struct _JSDOCWalker JSDOCWalker;
+typedef struct _JSDOCWalkerClass JSDOCWalkerClass;
+typedef struct _JSDOCWalkerPrivate JSDOCWalkerPrivate;
+
+#define JSDOC_TYPE_TOKEN_STREAM (jsdoc_token_stream_get_type ())
+#define JSDOC_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStream))
+#define JSDOC_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+#define JSDOC_IS_TOKEN_STREAM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_IS_TOKEN_STREAM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_STREAM))
+#define JSDOC_TOKEN_STREAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_STREAM, JSDOCTokenStreamClass))
+
+typedef struct _JSDOCTokenStream JSDOCTokenStream;
+typedef struct _JSDOCTokenStreamClass JSDOCTokenStreamClass;
+
+#define JSDOC_TYPE_SCOPE (jsdoc_scope_get_type ())
+#define JSDOC_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SCOPE, JSDOCScope))
+#define JSDOC_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+#define JSDOC_IS_SCOPE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SCOPE))
+#define JSDOC_IS_SCOPE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SCOPE))
+#define JSDOC_SCOPE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SCOPE, JSDOCScopeClass))
+
+typedef struct _JSDOCScope JSDOCScope;
+typedef struct _JSDOCScopeClass JSDOCScopeClass;
+
+#define JSDOC_TYPE_SYMBOL (jsdoc_symbol_get_type ())
+#define JSDOC_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbol))
+#define JSDOC_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+#define JSDOC_IS_SYMBOL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_SYMBOL))
+#define JSDOC_IS_SYMBOL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_SYMBOL))
+#define JSDOC_SYMBOL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_SYMBOL, JSDOCSymbolClass))
+
+typedef struct _JSDOCSymbol JSDOCSymbol;
+typedef struct _JSDOCSymbolClass JSDOCSymbolClass;
+
+#define JSDOC_TYPE_DOC_COMMENT (jsdoc_doc_comment_get_type ())
+#define JSDOC_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocComment))
+#define JSDOC_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+#define JSDOC_IS_DOC_COMMENT(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_IS_DOC_COMMENT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_COMMENT))
+#define JSDOC_DOC_COMMENT_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_COMMENT, JSDOCDocCommentClass))
+
+typedef struct _JSDOCDocComment JSDOCDocComment;
+typedef struct _JSDOCDocCommentClass JSDOCDocCommentClass;
+#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
+
+#define JSDOC_TYPE_TOKEN (jsdoc_token_get_type ())
+#define JSDOC_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN, JSDOCToken))
+#define JSDOC_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+#define JSDOC_IS_TOKEN(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN))
+#define JSDOC_IS_TOKEN_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN))
+#define JSDOC_TOKEN_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN, JSDOCTokenClass))
+
+typedef struct _JSDOCToken JSDOCToken;
+typedef struct _JSDOCTokenClass JSDOCTokenClass;
+#define _g_free0(var) (var = (g_free (var), NULL))
+typedef struct _JSDOCTokenStreamPrivate JSDOCTokenStreamPrivate;
+
+#define JSDOC_TYPE_TOKEN_TYPE (jsdoc_token_type_get_type ())
+
+#define JSDOC_TYPE_TOKEN_NAME (jsdoc_token_name_get_type ())
+typedef struct _JSDOCTokenPrivate JSDOCTokenPrivate;
+
+#define JSDOC_TYPE_IDENTIFIER (jsdoc_identifier_get_type ())
+#define JSDOC_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifier))
+#define JSDOC_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+#define JSDOC_IS_IDENTIFIER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IS_IDENTIFIER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_IDENTIFIER))
+#define JSDOC_IDENTIFIER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_IDENTIFIER, JSDOCIdentifierClass))
+
+typedef struct _JSDOCIdentifier JSDOCIdentifier;
+typedef struct _JSDOCIdentifierClass JSDOCIdentifierClass;
+
+#define JSDOC_TYPE_TOKEN_KEY_MAP (jsdoc_token_key_map_get_type ())
+#define JSDOC_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMap))
+#define JSDOC_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+#define JSDOC_IS_TOKEN_KEY_MAP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_IS_TOKEN_KEY_MAP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_TOKEN_KEY_MAP))
+#define JSDOC_TOKEN_KEY_MAP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_TOKEN_KEY_MAP, JSDOCTokenKeyMapClass))
+
+typedef struct _JSDOCTokenKeyMap JSDOCTokenKeyMap;
+typedef struct _JSDOCTokenKeyMapClass JSDOCTokenKeyMapClass;
+
+#define JSDOC_TYPE_DOC_TAG_TITLE (jsdoc_doc_tag_title_get_type ())
+
+#define JSDOC_TYPE_DOC_TAG (jsdoc_doc_tag_get_type ())
+#define JSDOC_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTag))
+#define JSDOC_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+#define JSDOC_IS_DOC_TAG(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_IS_DOC_TAG_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), JSDOC_TYPE_DOC_TAG))
+#define JSDOC_DOC_TAG_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), JSDOC_TYPE_DOC_TAG, JSDOCDocTagClass))
+
+typedef struct _JSDOCDocTag JSDOCDocTag;
+typedef struct _JSDOCDocTagClass JSDOCDocTagClass;
+typedef struct _JSDOCDocTagPrivate JSDOCDocTagPrivate;
+typedef struct _JSDOCScopePrivate JSDOCScopePrivate;
+typedef struct _JSDOCDocCommentPrivate JSDOCDocCommentPrivate;
+typedef struct _JSDOCSymbolPrivate JSDOCSymbolPrivate;
+
+typedef enum {
+ JSDOC_WALKER_MODE_BUILDING_SYMBOL_TREE,
+ JSDOC_WALKER_MODE_XXX
+} JSDOCWalkerMode;
+
+struct _JSDOCWalker {
+ GObject parent_instance;
+ JSDOCWalkerPrivate * priv;
+};
+
+struct _JSDOCWalkerClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCWalkerPrivate {
+ JSDOCTokenStream* ts;
+ GeeArrayList* warnings;
+ GeeArrayList* scopes;
+ GeeHashMap* indexedScopes;
+ GeeHashMap* symbols;
+ GeeHashMap* aliases;
+ JSDOCScope* globalScope;
+ gboolean global;
+ JSDOCWalkerMode mode;
+ gint braceNesting;
+ JSDOCDocComment* currentDoc;
+ gboolean munge;
+};
+
+struct _JSDOCTokenStream {
+ GObject parent_instance;
+ JSDOCTokenStreamPrivate * priv;
+ GeeArrayList* tokens;
+ gint cursor;
+};
+
+struct _JSDOCTokenStreamClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_TYPE_TOKN,
+ JSDOC_TOKEN_TYPE_KEYW,
+ JSDOC_TOKEN_TYPE_NAME,
+ JSDOC_TOKEN_TYPE_COMM,
+ JSDOC_TOKEN_TYPE_PUNC,
+ JSDOC_TOKEN_TYPE_WHIT,
+ JSDOC_TOKEN_TYPE_STRN,
+ JSDOC_TOKEN_TYPE_NUMB,
+ JSDOC_TOKEN_TYPE_REGX,
+ JSDOC_TOKEN_TYPE_VOID
+} JSDOCTokenType;
+
+typedef enum {
+ JSDOC_TOKEN_NAME_UNKNOWN_TOKEN,
+ JSDOC_TOKEN_NAME_BREAK,
+ JSDOC_TOKEN_NAME_CASE,
+ JSDOC_TOKEN_NAME_CATCH,
+ JSDOC_TOKEN_NAME_CONST,
+ JSDOC_TOKEN_NAME_CONTINUE,
+ JSDOC_TOKEN_NAME_DEFAULT,
+ JSDOC_TOKEN_NAME_DELETE,
+ JSDOC_TOKEN_NAME_DO,
+ JSDOC_TOKEN_NAME_ELSE,
+ JSDOC_TOKEN_NAME_FALSE,
+ JSDOC_TOKEN_NAME_FINALLY,
+ JSDOC_TOKEN_NAME_FOR,
+ JSDOC_TOKEN_NAME_FUNCTION,
+ JSDOC_TOKEN_NAME_IF,
+ JSDOC_TOKEN_NAME_IN,
+ JSDOC_TOKEN_NAME_INSTANCEOF,
+ JSDOC_TOKEN_NAME_NEW,
+ JSDOC_TOKEN_NAME_NULL,
+ JSDOC_TOKEN_NAME_RETURN,
+ JSDOC_TOKEN_NAME_SWITCH,
+ JSDOC_TOKEN_NAME_THIS,
+ JSDOC_TOKEN_NAME_THROW,
+ JSDOC_TOKEN_NAME_TRUE,
+ JSDOC_TOKEN_NAME_TRY,
+ JSDOC_TOKEN_NAME_TYPEOF,
+ JSDOC_TOKEN_NAME_VOID,
+ JSDOC_TOKEN_NAME_WHILE,
+ JSDOC_TOKEN_NAME_WITH,
+ JSDOC_TOKEN_NAME_VAR,
+ JSDOC_TOKEN_NAME_EVAL,
+ JSDOC_TOKEN_NAME_NAME,
+ JSDOC_TOKEN_NAME_MULTI_LINE_COMM,
+ JSDOC_TOKEN_NAME_JSDOC,
+ JSDOC_TOKEN_NAME_SINGLE_LINE_COMM,
+ JSDOC_TOKEN_NAME_SEMICOLON,
+ JSDOC_TOKEN_NAME_COMMA,
+ JSDOC_TOKEN_NAME_HOOK,
+ JSDOC_TOKEN_NAME_COLON,
+ JSDOC_TOKEN_NAME_OR,
+ JSDOC_TOKEN_NAME_AND,
+ JSDOC_TOKEN_NAME_BITWISE_OR,
+ JSDOC_TOKEN_NAME_BITWISE_XOR,
+ JSDOC_TOKEN_NAME_BITWISE_AND,
+ JSDOC_TOKEN_NAME_STRICT_EQ,
+ JSDOC_TOKEN_NAME_EQ,
+ JSDOC_TOKEN_NAME_ASSIGN,
+ JSDOC_TOKEN_NAME_STRICT_NE,
+ JSDOC_TOKEN_NAME_NE,
+ JSDOC_TOKEN_NAME_LSH,
+ JSDOC_TOKEN_NAME_LE,
+ JSDOC_TOKEN_NAME_LT,
+ JSDOC_TOKEN_NAME_URSH,
+ JSDOC_TOKEN_NAME_RSH,
+ JSDOC_TOKEN_NAME_GE,
+ JSDOC_TOKEN_NAME_GT,
+ JSDOC_TOKEN_NAME_INCREMENT,
+ JSDOC_TOKEN_NAME_DECREMENT,
+ JSDOC_TOKEN_NAME_PLUS,
+ JSDOC_TOKEN_NAME_MINUS,
+ JSDOC_TOKEN_NAME_MUL,
+ JSDOC_TOKEN_NAME_DIV,
+ JSDOC_TOKEN_NAME_MOD,
+ JSDOC_TOKEN_NAME_NOT,
+ JSDOC_TOKEN_NAME_BITWISE_NOT,
+ JSDOC_TOKEN_NAME_DOT,
+ JSDOC_TOKEN_NAME_LEFT_BRACE,
+ JSDOC_TOKEN_NAME_RIGHT_BRACE,
+ JSDOC_TOKEN_NAME_LEFT_CURLY,
+ JSDOC_TOKEN_NAME_RIGHT_CURLY,
+ JSDOC_TOKEN_NAME_LEFT_PAREN,
+ JSDOC_TOKEN_NAME_RIGHT_PAREN,
+ JSDOC_TOKEN_NAME_SPACE,
+ JSDOC_TOKEN_NAME_NEWLINE,
+ JSDOC_TOKEN_NAME_DOUBLE_QUOTE,
+ JSDOC_TOKEN_NAME_SINGLE_QUOTE,
+ JSDOC_TOKEN_NAME_OCTAL,
+ JSDOC_TOKEN_NAME_DECIMAL,
+ JSDOC_TOKEN_NAME_HEX_DEC,
+ JSDOC_TOKEN_NAME_REGX,
+ JSDOC_TOKEN_NAME_START_OF_STREAM,
+ JSDOC_TOKEN_NAME_END_OF_STREAM,
+ JSDOC_TOKEN_NAME_UNKNOWN
+} JSDOCTokenName;
+
+struct _JSDOCToken {
+ GObject parent_instance;
+ JSDOCTokenPrivate * priv;
+ gint id;
+ gchar* data;
+ JSDOCTokenType type;
+ JSDOCTokenName name;
+ gint line;
+ gchar* prefix;
+ gchar* outData;
+ JSDOCIdentifier* identifier;
+ GeeArrayList* items;
+ GeeHashMap* props;
+ GeeArrayList* keyseq;
+};
+
+struct _JSDOCTokenClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_DOC_TAG_TITLE_NO_VALUE,
+ JSDOC_DOC_TAG_TITLE_PARAM,
+ JSDOC_DOC_TAG_TITLE_PROPERTY,
+ JSDOC_DOC_TAG_TITLE_CFG,
+ JSDOC_DOC_TAG_TITLE_EXAMPLE,
+ JSDOC_DOC_TAG_TITLE_SINGLETON,
+ JSDOC_DOC_TAG_TITLE_AUTHOR,
+ JSDOC_DOC_TAG_TITLE_METHOD,
+ JSDOC_DOC_TAG_TITLE_DESC,
+ JSDOC_DOC_TAG_TITLE_OVERVIEW,
+ JSDOC_DOC_TAG_TITLE_SINCE,
+ JSDOC_DOC_TAG_TITLE_CONSTANT,
+ JSDOC_DOC_TAG_TITLE_VERSION,
+ JSDOC_DOC_TAG_TITLE_DEPRECATED,
+ JSDOC_DOC_TAG_TITLE_SEE,
+ JSDOC_DOC_TAG_TITLE_CLASS,
+ JSDOC_DOC_TAG_TITLE_NAMESPACE,
+ JSDOC_DOC_TAG_TITLE_CONSTRUCTOR,
+ JSDOC_DOC_TAG_TITLE_STATIC,
+ JSDOC_DOC_TAG_TITLE_INNER,
+ JSDOC_DOC_TAG_TITLE_FIELD,
+ JSDOC_DOC_TAG_TITLE_FUNCTION,
+ JSDOC_DOC_TAG_TITLE_EVENT,
+ JSDOC_DOC_TAG_TITLE_NAME,
+ JSDOC_DOC_TAG_TITLE_RETURN,
+ JSDOC_DOC_TAG_TITLE_THROWS,
+ JSDOC_DOC_TAG_TITLE_REQUIRES,
+ JSDOC_DOC_TAG_TITLE_TYPE,
+ JSDOC_DOC_TAG_TITLE_PRIVATE,
+ JSDOC_DOC_TAG_TITLE_IGNORE,
+ JSDOC_DOC_TAG_TITLE_ARGUMENTS,
+ JSDOC_DOC_TAG_TITLE_EXTENDS,
+ JSDOC_DOC_TAG_TITLE_DEFAULT,
+ JSDOC_DOC_TAG_TITLE_MEMBEROF,
+ JSDOC_DOC_TAG_TITLE_PUBLIC,
+ JSDOC_DOC_TAG_TITLE_SCOPE,
+ JSDOC_DOC_TAG_TITLE_SCOPEALIAS
+} JSDOCDocTagTitle;
+
+struct _JSDOCDocTag {
+ GObject parent_instance;
+ JSDOCDocTagPrivate * priv;
+ JSDOCDocTagTitle title;
+ gchar* type;
+ gchar* name;
+ gboolean isOptional;
+ gchar* defaultValue;
+ gchar* desc;
+ GeeArrayList* optvalues;
+ gchar* memberOf;
+};
+
+struct _JSDOCDocTagClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCScope {
+ GObject parent_instance;
+ JSDOCScopePrivate * priv;
+ JSDOCScope* parent;
+ GeeArrayList* subScopes;
+ gchar* ident;
+};
+
+struct _JSDOCScopeClass {
+ GObjectClass parent_class;
+};
+
+typedef enum {
+ JSDOC_TOKEN_STREAM_ERROR_ArgumentError
+} JSDOCTokenStreamError;
+#define JSDOC_TOKEN_STREAM_ERROR jsdoc_token_stream_error_quark ()
+struct _JSDOCDocComment {
+ GObject parent_instance;
+ JSDOCDocCommentPrivate * priv;
+ gboolean isUserComment;
+ gboolean hasTags;
+ gchar* src;
+ GeeArrayList* tags;
+};
+
+struct _JSDOCDocCommentClass {
+ GObjectClass parent_class;
+};
+
+struct _JSDOCSymbol {
+ GObject parent_instance;
+ JSDOCSymbolPrivate * priv;
+ GeeArrayList* augments;
+ GeeArrayList* methods;
+ GeeArrayList* properties;
+ GeeArrayList* returns;
+ GeeArrayList* childClasses;
+ GeeArrayList* inheritsFrom;
+ GeeHashMap* cfgs;
+ JSDOCDocComment* comment;
+ gchar* alias;
+ gchar* desc;
+ gchar* isa;
+ gboolean isEvent;
+ gboolean isConstant;
+ gboolean isIgnored;
+ gboolean isInner;
+ gboolean isNamespace;
+ gboolean isPrivate;
+ gboolean isStatic;
+ gchar* memberOf;
+};
+
+struct _JSDOCSymbolClass {
+ GObjectClass parent_class;
+};
+
+
+static gpointer jsdoc_walker_parent_class = NULL;
+
+GType jsdoc_walker_mode_get_type (void) G_GNUC_CONST;
+GType jsdoc_walker_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_stream_get_type (void) G_GNUC_CONST;
+GType jsdoc_scope_get_type (void) G_GNUC_CONST;
+GType jsdoc_symbol_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_comment_get_type (void) G_GNUC_CONST;
+#define JSDOC_WALKER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), JSDOC_TYPE_WALKER, JSDOCWalkerPrivate))
+enum {
+ JSDOC_WALKER_DUMMY_PROPERTY
+};
+JSDOCWalker* jsdoc_walker_new (JSDOCTokenStream* ts);
+JSDOCWalker* jsdoc_walker_construct (GType object_type, JSDOCTokenStream* ts);
+void jsdoc_walker_buildSymbolTree (JSDOCWalker* self);
+void jsdoc_token_stream_rewind (JSDOCTokenStream* self);
+GType jsdoc_token_get_type (void) G_GNUC_CONST;
+JSDOCScope* jsdoc_scope_new (gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+JSDOCScope* jsdoc_scope_construct (GType object_type, gint braceN, JSDOCScope* parent, gint startTokN, const gchar* lastIdent, JSDOCToken* token);
+static void jsdoc_walker_parseScope (JSDOCWalker* self, JSDOCScope* in_scope, GeeHashMap* ealiases);
+static GeeHashMap* jsdoc_walker_emptyAlias (JSDOCWalker* self);
+static gchar* jsdoc_walker_fixAlias (JSDOCWalker* self, GeeHashMap* aliases, const gchar* str, gboolean nomore);
+static void jsdoc_walker_scopesIn (JSDOCWalker* self, JSDOCScope* s);
+JSDOCToken* jsdoc_token_stream_next (JSDOCTokenStream* self);
+GType jsdoc_token_type_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isType (JSDOCToken* self, JSDOCTokenType what);
+GType jsdoc_token_name_get_type (void) G_GNUC_CONST;
+gboolean jsdoc_token_isName (JSDOCToken* self, JSDOCTokenName what);
+static void jsdoc_walker_addSymbol (JSDOCWalker* self, const gchar* in_lastIdent, gboolean appendIt, const gchar* atype);
+GType jsdoc_identifier_get_type (void) G_GNUC_CONST;
+GType jsdoc_token_key_map_get_type (void) G_GNUC_CONST;
+JSDOCDocComment* jsdoc_doc_comment_new (const gchar* comment);
+JSDOCDocComment* jsdoc_doc_comment_construct (GType object_type, const gchar* comment);
+GType jsdoc_doc_tag_title_get_type (void) G_GNUC_CONST;
+GType jsdoc_doc_tag_get_type (void) G_GNUC_CONST;
+GeeArrayList* jsdoc_doc_comment_getTag (JSDOCDocComment* self, JSDOCDocTagTitle tagTitle);
+JSDOCToken* jsdoc_token_stream_lookTok (JSDOCTokenStream* self, gint n);
+JSDOCToken* jsdoc_token_stream_nextTok (JSDOCTokenStream* self);
+gchar* jsdoc_token_asString (JSDOCToken* self);
+GQuark jsdoc_token_stream_error_quark (void);
+GeeArrayList* jsdoc_token_stream_balance (JSDOCTokenStream* self, JSDOCTokenName in_start, GError** error);
+static JSDOCScope* jsdoc_walker_scopeOut (JSDOCWalker* self);
+static void _vala_array_add5 (gchar** * array, int* length, int* size, gchar* value);
+static void _vala_array_add6 (gchar** * array, int* length, int* size, gchar* value);
+JSDOCSymbol* jsdoc_symbol_new_new_populate_with_args (const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+JSDOCSymbol* jsdoc_symbol_construct_new_populate_with_args (GType object_type, const gchar* name, GeeArrayList* params, const gchar* isa, JSDOCDocComment* comment);
+void jsdoc_doc_parser_addSymbol (JSDOCSymbol* symbol);
+void jsdoc_symbol_addDocTag (JSDOCSymbol* self, JSDOCDocTag* docTag);
+static gchar* jsdoc_walker_scopeListToStr (JSDOCWalker* self);
+static void _vala_array_add7 (gchar** * array, int* length, int* size, gchar* value);
+static void jsdoc_walker_finalize (GObject * obj);
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func);
+static gint _vala_array_length (gpointer array);
+
+static GRegex* _tmp_regex_0 = NULL;
+static GRegex* _tmp_regex_1 = NULL;
+static GRegex* _tmp_regex_2 = NULL;
+static GRegex* _tmp_regex_3 = NULL;
+static GRegex* _tmp_regex_4 = NULL;
+static GRegex* _tmp_regex_5 = NULL;
+
+GType jsdoc_walker_mode_get_type (void) {
+ static volatile gsize jsdoc_walker_mode_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_walker_mode_type_id__volatile)) {
+ static const GEnumValue values[] = {{JSDOC_WALKER_MODE_BUILDING_SYMBOL_TREE, "JSDOC_WALKER_MODE_BUILDING_SYMBOL_TREE", "building-symbol-tree"}, {JSDOC_WALKER_MODE_XXX, "JSDOC_WALKER_MODE_XXX", "xxx"}, {0, NULL, NULL}};
+ GType jsdoc_walker_mode_type_id;
+ jsdoc_walker_mode_type_id = g_enum_register_static ("JSDOCWalkerMode", values);
+ g_once_init_leave (&jsdoc_walker_mode_type_id__volatile, jsdoc_walker_mode_type_id);
+ }
+ return jsdoc_walker_mode_type_id__volatile;
+}
+
+
+static gpointer _g_object_ref0 (gpointer self) {
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return self ? g_object_ref (self) : NULL;
+#line 472 "Walker.c"
+}
+
+
+JSDOCWalker* jsdoc_walker_construct (GType object_type, JSDOCTokenStream* ts) {
+ JSDOCWalker * self = NULL;
+ JSDOCTokenStream* _tmp0_;
+ JSDOCTokenStream* _tmp1_;
+ GeeArrayList* _tmp2_;
+ GeeArrayList* _tmp3_;
+ GeeHashMap* _tmp4_;
+ GeeHashMap* _tmp5_;
+ GeeHashMap* _tmp6_;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (ts != NULL, NULL);
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self = (JSDOCWalker*) g_object_new (object_type, NULL);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = ts;
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 31 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->ts = _tmp1_;
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->warnings);
+#line 32 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->warnings = _tmp2_;
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = gee_array_list_new (JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->scopes);
+#line 33 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->scopes = _tmp3_;
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 34 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->indexedScopes = _tmp4_;
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, JSDOC_TYPE_SYMBOL, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->symbols);
+#line 35 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->symbols = _tmp5_;
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->aliases);
+#line 36 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->aliases = _tmp6_;
+#line 37 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->braceNesting = 0;
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return self;
+#line 531 "Walker.c"
+}
+
+
+JSDOCWalker* jsdoc_walker_new (JSDOCTokenStream* ts) {
+#line 29 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return jsdoc_walker_construct (JSDOC_TYPE_WALKER, ts);
+#line 538 "Walker.c"
+}
+
+
+void jsdoc_walker_buildSymbolTree (JSDOCWalker* self) {
+ JSDOCTokenStream* _tmp0_;
+ GeeArrayList* _tmp1_;
+ GeeHashMap* _tmp2_;
+ JSDOCScope* _tmp3_;
+ GeeHashMap* _tmp4_;
+ GeeHashMap* _tmp5_;
+ JSDOCScope* _tmp6_;
+ JSDOCScope* _tmp7_;
+ GeeHashMap* _tmp8_;
+ GeeHashMap* _tmp9_;
+#line 51 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (self != NULL);
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = self->priv->ts;
+#line 55 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_token_stream_rewind (_tmp0_);
+#line 56 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->braceNesting = 0;
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = gee_array_list_new (JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->scopes);
+#line 57 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->scopes = _tmp1_;
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->aliases);
+#line 58 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->aliases = _tmp2_;
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = jsdoc_scope_new (-1, NULL, -1, "$global$", NULL);
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->globalScope);
+#line 60 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->globalScope = _tmp3_;
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = gee_hash_map_new (G_TYPE_INT, NULL, NULL, JSDOC_TYPE_SCOPE, (GBoxedCopyFunc) g_object_ref, (GDestroyNotify) g_object_unref, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 61 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->indexedScopes = _tmp4_;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = self->priv->indexedScopes;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = self->priv->globalScope;
+#line 62 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp5_, (gpointer) ((gintptr) 0), _tmp6_);
+#line 64 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->mode = JSDOC_WALKER_MODE_BUILDING_SYMBOL_TREE;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7_ = self->priv->globalScope;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp8_ = jsdoc_walker_emptyAlias (self);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp9_ = _tmp8_;
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp7_, _tmp9_);
+#line 65 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp9_);
+#line 603 "Walker.c"
+}
+
+
+static GeeHashMap* jsdoc_walker_emptyAlias (JSDOCWalker* self) {
+ GeeHashMap* result = NULL;
+ GeeHashMap* _tmp0_;
+#line 68 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ result = _tmp0_;
+#line 70 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return result;
+#line 618 "Walker.c"
+}
+
+
+static gchar* _vala_g_strjoinv (const gchar* separator, gchar** str_array, int str_array_length1) {
+ gchar* result = NULL;
+ const gchar* _tmp0_;
+ gboolean _tmp1_ = FALSE;
+ gboolean _tmp2_ = FALSE;
+ gchar** _tmp3_;
+ gint _tmp3__length1;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = separator;
+#line 1078 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_ == NULL) {
+#line 1079 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ separator = "";
+#line 635 "Walker.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ != NULL) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = TRUE;
+#line 645 "Walker.c"
+ } else {
+ gchar** _tmp4_;
+ gint _tmp4__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = _tmp4__length1 > 0;
+#line 655 "Walker.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp2_) {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = TRUE;
+#line 661 "Walker.c"
+ } else {
+ gboolean _tmp5_ = FALSE;
+ gchar** _tmp6_;
+ gint _tmp6__length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp6__length1 == -1) {
+#line 672 "Walker.c"
+ gchar** _tmp7_;
+ gint _tmp7__length1;
+ const gchar* _tmp8_;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = str_array;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7__length1 = str_array_length1;
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = _tmp7_[0];
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = _tmp8_ != NULL;
+#line 684 "Walker.c"
+ } else {
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = FALSE;
+#line 688 "Walker.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _tmp5_;
+#line 692 "Walker.c"
+ }
+#line 1081 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_) {
+#line 696 "Walker.c"
+ gint i = 0;
+ gsize len = 0UL;
+ gint _tmp31_;
+ gint _tmp33_;
+ gint _tmp34_;
+ gsize _tmp35_;
+ const gchar* _tmp36_;
+ gint _tmp37_;
+ gint _tmp38_;
+ gint _tmp39_;
+ const gchar* res = NULL;
+ gsize _tmp40_;
+ void* _tmp41_;
+ void* ptr = NULL;
+ const gchar* _tmp42_;
+ gchar** _tmp43_;
+ gint _tmp43__length1;
+ const gchar* _tmp44_;
+ void* _tmp45_;
+ const gchar* _tmp62_;
+#line 1083 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = (gsize) 1;
+#line 719 "Walker.c"
+ {
+ gboolean _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 0;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = TRUE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 728 "Walker.c"
+ gboolean _tmp11_ = FALSE;
+ gboolean _tmp12_ = FALSE;
+ gchar** _tmp13_;
+ gint _tmp13__length1;
+ gint _tmp21_ = 0;
+ gchar** _tmp22_;
+ gint _tmp22__length1;
+ gint _tmp23_;
+ const gchar* _tmp24_;
+ gsize _tmp30_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp9_) {
+#line 741 "Walker.c"
+ gint _tmp10_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp10_ + 1;
+#line 747 "Walker.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = FALSE;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp13__length1 != -1) {
+#line 757 "Walker.c"
+ gint _tmp14_;
+ gchar** _tmp15_;
+ gint _tmp15__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = _tmp14_ < _tmp15__length1;
+#line 769 "Walker.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = FALSE;
+#line 773 "Walker.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp12_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = TRUE;
+#line 779 "Walker.c"
+ } else {
+ gboolean _tmp16_ = FALSE;
+ gchar** _tmp17_;
+ gint _tmp17__length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp17__length1 == -1) {
+#line 790 "Walker.c"
+ gchar** _tmp18_;
+ gint _tmp18__length1;
+ gint _tmp19_;
+ const gchar* _tmp20_;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = str_array;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18__length1 = str_array_length1;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = i;
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = _tmp18_[_tmp19_];
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = _tmp20_ != NULL;
+#line 805 "Walker.c"
+ } else {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = FALSE;
+#line 809 "Walker.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = _tmp16_;
+#line 813 "Walker.c"
+ }
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp11_) {
+#line 1084 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 819 "Walker.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp23_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp24_ = _tmp22_[_tmp23_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp24_ != NULL) {
+#line 831 "Walker.c"
+ gchar** _tmp25_;
+ gint _tmp25__length1;
+ gint _tmp26_;
+ const gchar* _tmp27_;
+ gint _tmp28_;
+ gint _tmp29_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25_ = str_array;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp25__length1 = str_array_length1;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp26_ = i;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp27_ = _tmp25_[_tmp26_];
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp28_ = strlen ((const gchar*) _tmp27_);
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp29_ = _tmp28_;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = _tmp29_;
+#line 852 "Walker.c"
+ } else {
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = 0;
+#line 856 "Walker.c"
+ }
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp30_ = len;
+#line 1085 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp30_ + _tmp21_;
+#line 862 "Walker.c"
+ }
+ }
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp31_ = i;
+#line 1087 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp31_ == 0) {
+#line 869 "Walker.c"
+ gchar* _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp32_ = g_strdup ("");
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp32_;
+#line 1088 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 877 "Walker.c"
+ }
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp33_ = i;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ str_array_length1 = _tmp33_;
+#line 1090 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp34_ = str_array_length1;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp35_ = len;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp36_ = separator;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp37_ = strlen ((const gchar*) _tmp36_);
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp38_ = _tmp37_;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp39_ = i;
+#line 1091 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp35_ + (_tmp38_ * (_tmp39_ - 1));
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp40_ = len;
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp41_ = g_malloc (_tmp40_);
+#line 1093 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = _tmp41_;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp42_ = res;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43_ = str_array;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp43__length1 = str_array_length1;
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp44_ = _tmp43_[0];
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp45_ = g_stpcpy ((void*) _tmp42_, (const gchar*) _tmp44_);
+#line 1094 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp45_;
+#line 915 "Walker.c"
+ {
+ gboolean _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = 1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = TRUE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ while (TRUE) {
+#line 924 "Walker.c"
+ gint _tmp48_;
+ gchar** _tmp49_;
+ gint _tmp49__length1;
+ void* _tmp50_;
+ const gchar* _tmp51_;
+ void* _tmp52_;
+ const gchar* _tmp53_ = NULL;
+ gchar** _tmp54_;
+ gint _tmp54__length1;
+ gint _tmp55_;
+ const gchar* _tmp56_;
+ void* _tmp60_;
+ void* _tmp61_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!_tmp46_) {
+#line 940 "Walker.c"
+ gint _tmp47_;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp47_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ i = _tmp47_ + 1;
+#line 946 "Walker.c"
+ }
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp46_ = FALSE;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp48_ = i;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49_ = str_array;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp49__length1 = str_array_length1;
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (!(_tmp48_ < _tmp49__length1)) {
+#line 1095 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ break;
+#line 960 "Walker.c"
+ }
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp50_ = ptr;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp51_ = separator;
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp52_ = g_stpcpy (_tmp50_, (const gchar*) _tmp51_);
+#line 1096 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp52_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp54__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp55_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp56_ = _tmp54_[_tmp55_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp56_ != NULL) {
+#line 980 "Walker.c"
+ gchar** _tmp57_;
+ gint _tmp57__length1;
+ gint _tmp58_;
+ const gchar* _tmp59_;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57_ = str_array;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp57__length1 = str_array_length1;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp58_ = i;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp59_ = _tmp57_[_tmp58_];
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = (const gchar*) _tmp59_;
+#line 995 "Walker.c"
+ } else {
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp53_ = "";
+#line 999 "Walker.c"
+ }
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp60_ = ptr;
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp61_ = g_stpcpy (_tmp60_, _tmp53_);
+#line 1097 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ ptr = _tmp61_;
+#line 1007 "Walker.c"
+ }
+ }
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp62_ = res;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ res = NULL;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (gchar*) _tmp62_;
+#line 1100 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1018 "Walker.c"
+ } else {
+ gchar* _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp63_ = g_strdup ("");
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp63_;
+#line 1102 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1027 "Walker.c"
+ }
+}
+
+
+static gchar* jsdoc_walker_fixAlias (JSDOCWalker* self, GeeHashMap* aliases, const gchar* str, gboolean nomore) {
+ gchar* result = NULL;
+ gchar** ar = NULL;
+ const gchar* _tmp0_;
+ gchar** _tmp1_;
+ gchar** _tmp2_;
+ gint ar_length1;
+ gint _ar_size_;
+ gchar* m = NULL;
+ gchar** _tmp3_;
+ gint _tmp3__length1;
+ const gchar* _tmp4_;
+ gchar* _tmp5_;
+ GeeHashMap* _tmp6_;
+ const gchar* _tmp7_;
+ gboolean _tmp8_;
+ gchar** _tmp11_;
+ gint _tmp11__length1;
+ GeeHashMap* _tmp12_;
+ const gchar* _tmp13_;
+ gpointer _tmp14_;
+ gchar* _tmp15_;
+ gchar* ret = NULL;
+ gchar** _tmp16_;
+ gint _tmp16__length1;
+ gchar* _tmp17_;
+ gboolean _tmp18_;
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (aliases != NULL, NULL);
+#line 75 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (str != NULL, NULL);
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = str;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = _tmp1_ = g_strsplit (_tmp0_, ".", 0);
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ar = _tmp2_;
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ar_length1 = _vala_array_length (_tmp1_);
+#line 77 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _ar_size_ = ar_length1;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = ar;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3__length1 = ar_length1;
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = _tmp3_[0];
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = g_strdup (_tmp4_);
+#line 78 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ m = _tmp5_;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = aliases;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7_ = m;
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp8_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp6_, _tmp7_);
+#line 81 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp8_) {
+#line 1093 "Walker.c"
+ const gchar* _tmp9_;
+ gchar* _tmp10_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp9_ = str;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp10_ = g_strdup (_tmp9_);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ result = _tmp10_;
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (m);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ar = (_vala_array_free (ar, ar_length1, (GDestroyNotify) g_free), NULL);
+#line 82 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return result;
+#line 1108 "Walker.c"
+ }
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11_ = ar;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11__length1 = ar_length1;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp12_ = aliases;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp13_ = m;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp14_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp12_, _tmp13_);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp11_[0]);
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11_[0] = (gchar*) _tmp14_;
+#line 84 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp15_ = _tmp11_[0];
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp16_ = ar;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp16__length1 = ar_length1;
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp17_ = _vala_g_strjoinv (".", _tmp16_, _tmp16__length1);
+#line 86 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ret = _tmp17_;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp18_ = nomore;
+#line 87 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp18_ != TRUE) {
+#line 1138 "Walker.c"
+ GeeHashMap* _tmp19_;
+ const gchar* _tmp20_;
+ gchar* _tmp21_;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp19_ = aliases;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp20_ = ret;
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp21_ = jsdoc_walker_fixAlias (self, _tmp19_, _tmp20_, TRUE);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (ret);
+#line 88 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ret = _tmp21_;
+#line 1152 "Walker.c"
+ }
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ result = ret;
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (m);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ar = (_vala_array_free (ar, ar_length1, (GDestroyNotify) g_free), NULL);
+#line 92 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return result;
+#line 1162 "Walker.c"
+}
+
+
+static gchar* string_strip (const gchar* self) {
+ gchar* result = NULL;
+ gchar* _result_ = NULL;
+ gchar* _tmp0_;
+ const gchar* _tmp1_;
+#line 1234 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = g_strdup (self);
+#line 1235 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _result_ = _tmp0_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = _result_;
+#line 1236 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_strstrip (_tmp1_);
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _result_;
+#line 1237 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1185 "Walker.c"
+}
+
+
+static inline GRegex* _thread_safe_regex_init (GRegex** re, const gchar * pattern, GRegexMatchFlags match_options) {
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_once_init_enter ((volatile gsize*) re)) {
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ GRegex* val = g_regex_new (pattern, match_options, 0, NULL);
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_once_init_leave ((volatile gsize*) re, (gsize) val);
+#line 1196 "Walker.c"
+ }
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return *re;
+#line 1200 "Walker.c"
+}
+
+
+static glong string_strnlen (gchar* str, glong maxlen) {
+ glong result = 0L;
+ gchar* end = NULL;
+ gchar* _tmp0_;
+ glong _tmp1_;
+ gchar* _tmp2_;
+ gchar* _tmp3_;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = str;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = maxlen;
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = memchr (_tmp0_, 0, (gsize) _tmp1_);
+#line 1322 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ end = _tmp2_;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = end;
+#line 1323 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp3_ == NULL) {
+#line 1223 "Walker.c"
+ glong _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = maxlen;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp4_;
+#line 1324 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1231 "Walker.c"
+ } else {
+ gchar* _tmp5_;
+ gchar* _tmp6_;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = end;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = str;
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = (glong) (_tmp5_ - _tmp6_);
+#line 1326 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1243 "Walker.c"
+ }
+}
+
+
+static gchar* string_substring (const gchar* self, glong offset, glong len) {
+ gchar* result = NULL;
+ glong string_length = 0L;
+ gboolean _tmp0_ = FALSE;
+ glong _tmp1_;
+ glong _tmp8_;
+ glong _tmp14_;
+ glong _tmp17_;
+ glong _tmp18_;
+ glong _tmp19_;
+ glong _tmp20_;
+ glong _tmp21_;
+ gchar* _tmp22_;
+#line 1333 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp1_ = offset;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp1_ >= ((glong) 0)) {
+#line 1267 "Walker.c"
+ glong _tmp2_;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp2_ = len;
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = _tmp2_ >= ((glong) 0);
+#line 1273 "Walker.c"
+ } else {
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp0_ = FALSE;
+#line 1277 "Walker.c"
+ }
+#line 1335 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp0_) {
+#line 1281 "Walker.c"
+ glong _tmp3_;
+ glong _tmp4_;
+ glong _tmp5_;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp3_ = offset;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp4_ = len;
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp5_ = string_strnlen ((gchar*) self, _tmp3_ + _tmp4_);
+#line 1337 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = _tmp5_;
+#line 1293 "Walker.c"
+ } else {
+ gint _tmp6_;
+ gint _tmp7_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp6_ = strlen (self);
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp7_ = _tmp6_;
+#line 1339 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ string_length = (glong) _tmp7_;
+#line 1303 "Walker.c"
+ }
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp8_ = offset;
+#line 1342 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp8_ < ((glong) 0)) {
+#line 1309 "Walker.c"
+ glong _tmp9_;
+ glong _tmp10_;
+ glong _tmp11_;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp9_ = string_length;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp10_ = offset;
+#line 1343 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ offset = _tmp9_ + _tmp10_;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp11_ = offset;
+#line 1344 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp11_ >= ((glong) 0), NULL);
+#line 1323 "Walker.c"
+ } else {
+ glong _tmp12_;
+ glong _tmp13_;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp12_ = offset;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp13_ = string_length;
+#line 1346 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail (_tmp12_ <= _tmp13_, NULL);
+#line 1333 "Walker.c"
+ }
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp14_ = len;
+#line 1348 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ if (_tmp14_ < ((glong) 0)) {
+#line 1339 "Walker.c"
+ glong _tmp15_;
+ glong _tmp16_;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp15_ = string_length;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp16_ = offset;
+#line 1349 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ len = _tmp15_ - _tmp16_;
+#line 1348 "Walker.c"
+ }
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp17_ = offset;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp18_ = len;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp19_ = string_length;
+#line 1351 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ g_return_val_if_fail ((_tmp17_ + _tmp18_) <= _tmp19_, NULL);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp20_ = offset;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp21_ = len;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ _tmp22_ = g_strndup (((gchar*) self) + _tmp20_, (gsize) _tmp21_);
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ result = _tmp22_;
+#line 1352 "/usr/share/vala-0.36/vapi/glib-2.0.vapi"
+ return result;
+#line 1368 "Walker.c"
+}
+
+
+static void jsdoc_walker_parseScope (JSDOCWalker* self, JSDOCScope* in_scope, GeeHashMap* ealiases) {
+ JSDOCScope* scope = NULL;
+ JSDOCScope* _tmp0_;
+ JSDOCScope* _tmp1_;
+ GeeHashMap* aliases = NULL;
+ GeeHashMap* _tmp2_;
+ gint expressionBraceNesting = 0;
+ gint _tmp19_;
+ gint bracketNesting = 0;
+ gint parensNesting = 0;
+ gchar* l1 = NULL;
+ gchar* _tmp20_;
+ gchar* l2 = NULL;
+ gchar* _tmp21_;
+ gchar* scopeName = NULL;
+ gchar* _tmp22_;
+ gint locBraceNest = 0;
+ GeeArrayList* isObjectLitAr = NULL;
+ GeeArrayList* _tmp23_;
+ GeeArrayList* _tmp24_;
+ JSDOCScope* _tmp25_;
+ gint scopeLen = 0;
+ GeeArrayList* _tmp26_;
+ gint _tmp27_;
+ gint _tmp28_;
+ JSDOCTokenStream* _tmp29_;
+ gint _tmp30_;
+ JSDOCToken* token = NULL;
+ GError * _inner_error_ = NULL;
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (self != NULL);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (in_scope != NULL);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (ealiases != NULL);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = in_scope;
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = _g_object_ref0 (_tmp0_);
+#line 101 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp1_;
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
+#line 103 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ aliases = _tmp2_;
+#line 1417 "Walker.c"
+ {
+ GeeIterator* _i_it = NULL;
+ GeeHashMap* _tmp3_;
+ GeeSet* _tmp4_;
+ GeeSet* _tmp5_;
+ GeeSet* _tmp6_;
+ GeeIterator* _tmp7_;
+ GeeIterator* _tmp8_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = ealiases;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = gee_abstract_map_get_keys ((GeeAbstractMap*) _tmp3_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = _tmp4_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = _tmp5_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7_ = gee_iterable_iterator ((GeeIterable*) _tmp6_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp8_ = _tmp7_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp6_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _i_it = _tmp8_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 1444 "Walker.c"
+ GeeIterator* _tmp9_;
+ gboolean _tmp10_;
+ gchar* i = NULL;
+ GeeIterator* _tmp11_;
+ gpointer _tmp12_;
+ GeeHashMap* _tmp13_;
+ const gchar* _tmp14_;
+ GeeHashMap* _tmp15_;
+ const gchar* _tmp16_;
+ gpointer _tmp17_;
+ gchar* _tmp18_;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp9_ = _i_it;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp10_ = gee_iterator_next (_tmp9_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp10_) {
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 1464 "Walker.c"
+ }
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11_ = _i_it;
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp12_ = gee_iterator_get (_tmp11_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = (gchar*) _tmp12_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp13_ = aliases;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp14_ = i;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp15_ = ealiases;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp16_ = i;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp17_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp15_, _tmp16_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp18_ = (gchar*) _tmp17_;
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp13_, _tmp14_, _tmp18_);
+#line 106 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp18_);
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (i);
+#line 1490 "Walker.c"
+ }
+#line 105 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_i_it);
+#line 1494 "Walker.c"
+ }
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp19_ = self->priv->braceNesting;
+#line 111 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ expressionBraceNesting = _tmp19_;
+#line 112 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ bracketNesting = 0;
+#line 113 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ parensNesting = 0;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp20_ = g_strdup ("");
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ l1 = _tmp20_;
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp21_ = g_strdup ("");
+#line 116 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ l2 = _tmp21_;
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp22_ = g_strdup ("");
+#line 117 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp22_;
+#line 120 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = 0;
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp23_ = gee_array_list_new (G_TYPE_BOOLEAN, NULL, NULL, NULL, NULL, NULL);
+#line 123 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ isObjectLitAr = _tmp23_;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp24_ = isObjectLitAr;
+#line 124 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp24_, (gpointer) ((gintptr) FALSE));
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp25_ = scope;
+#line 127 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp25_);
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp26_ = self->priv->scopes;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp27_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp26_);
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp28_ = _tmp27_;
+#line 128 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeLen = _tmp28_;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp29_ = self->priv->ts;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp30_ = _tmp29_->cursor;
+#line 130 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp30_ < 1) {
+#line 1544 "Walker.c"
+ }
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 1548 "Walker.c"
+ JSDOCTokenStream* _tmp31_;
+ JSDOCToken* _tmp32_;
+ JSDOCToken* _tmp33_;
+ JSDOCToken* _tmp34_;
+ gboolean _tmp35_;
+ gboolean _tmp82_ = FALSE;
+ JSDOCDocComment* _tmp83_;
+ gboolean _tmp89_ = FALSE;
+ gboolean _tmp90_ = FALSE;
+ gboolean _tmp91_ = FALSE;
+ gboolean _tmp92_ = FALSE;
+ JSDOCToken* _tmp93_;
+ gboolean _tmp94_;
+ gboolean _tmp120_ = FALSE;
+ JSDOCToken* _tmp121_;
+ const gchar* _tmp122_;
+ JSDOCToken* _tmp126_;
+ gboolean _tmp127_;
+ JSDOCToken* _tmp437_;
+ gboolean _tmp438_;
+ JSDOCToken* _tmp448_;
+ gboolean _tmp449_;
+ JSDOCToken* _tmp625_;
+ const gchar* _tmp626_;
+ JSDOCToken* _tmp723_;
+ const gchar* _tmp724_;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp31_ = self->priv->ts;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp32_ = jsdoc_token_stream_next (_tmp31_);
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp32_;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp33_ = token;
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!(NULL != _tmp33_)) {
+#line 137 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 1589 "Walker.c"
+ }
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp34_ = token;
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp35_ = jsdoc_token_isType (_tmp34_, JSDOC_TOKEN_TYPE_COMM);
+#line 141 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp35_) {
+#line 1597 "Walker.c"
+ JSDOCToken* _tmp36_;
+ gboolean _tmp37_;
+ JSDOCDocComment* _tmp38_;
+ JSDOCDocComment* newDoc = NULL;
+ JSDOCToken* _tmp39_;
+ const gchar* _tmp40_;
+ JSDOCDocComment* _tmp41_;
+ JSDOCDocComment* _tmp42_;
+ GeeArrayList* _tmp43_;
+ GeeArrayList* _tmp44_;
+ gint _tmp45_;
+ gint _tmp46_;
+ gboolean _tmp47_;
+ JSDOCDocComment* _tmp56_;
+ GeeArrayList* _tmp57_;
+ GeeArrayList* _tmp58_;
+ gint _tmp59_;
+ gint _tmp60_;
+ gboolean _tmp61_;
+ JSDOCDocComment* _tmp80_;
+ JSDOCDocComment* _tmp81_;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp36_ = token;
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp37_ = jsdoc_token_isName (_tmp36_, JSDOC_TOKEN_NAME_JSDOC);
+#line 144 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp37_) {
+#line 146 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 1627 "Walker.c"
+ }
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp38_ = self->priv->currentDoc;
+#line 148 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp38_ != NULL) {
+#line 151 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, "", TRUE, "OBJECT");
+#line 1635 "Walker.c"
+ }
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp39_ = token;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp40_ = _tmp39_->data;
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp41_ = jsdoc_doc_comment_new (_tmp40_);
+#line 157 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ newDoc = _tmp41_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp42_ = newDoc;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp43_ = jsdoc_doc_comment_getTag (_tmp42_, JSDOC_DOC_TAG_TITLE_SCOPE);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp44_ = _tmp43_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp45_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp44_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp46_ = _tmp45_;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp47_ = _tmp46_ > 0;
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp44_);
+#line 161 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp47_) {
+#line 1661 "Walker.c"
+ JSDOCScope* _tmp48_;
+ JSDOCDocComment* _tmp49_;
+ GeeArrayList* _tmp50_;
+ GeeArrayList* _tmp51_;
+ gpointer _tmp52_;
+ JSDOCDocTag* _tmp53_;
+ const gchar* _tmp54_;
+ gchar* _tmp55_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp48_ = scope;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp49_ = newDoc;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp50_ = jsdoc_doc_comment_getTag (_tmp49_, JSDOC_DOC_TAG_TITLE_SCOPE);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp51_ = _tmp50_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp52_ = gee_abstract_list_get ((GeeAbstractList*) _tmp51_, 0);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp53_ = (JSDOCDocTag*) _tmp52_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp54_ = _tmp53_->desc;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp55_ = g_strconcat ("$private$|", _tmp54_, NULL);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp48_->ident);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp48_->ident = _tmp55_;
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp53_);
+#line 164 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp51_);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (newDoc);
+#line 165 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 1698 "Walker.c"
+ }
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp56_ = newDoc;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp57_ = jsdoc_doc_comment_getTag (_tmp56_, JSDOC_DOC_TAG_TITLE_SCOPEALIAS);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp58_ = _tmp57_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp59_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp58_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp60_ = _tmp59_;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp61_ = _tmp60_ > 0;
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp58_);
+#line 169 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp61_) {
+#line 1716 "Walker.c"
+ gchar** sal = NULL;
+ JSDOCDocComment* _tmp62_;
+ GeeArrayList* _tmp63_;
+ GeeArrayList* _tmp64_;
+ gpointer _tmp65_;
+ JSDOCDocTag* _tmp66_;
+ const gchar* _tmp67_;
+ gchar** _tmp68_;
+ gchar** _tmp69_;
+ gchar** _tmp70_;
+ gint _tmp70__length1;
+ gint sal_length1;
+ gint _sal_size_;
+ GeeHashMap* _tmp71_;
+ gchar** _tmp72_;
+ gint _tmp72__length1;
+ const gchar* _tmp73_;
+ gchar* _tmp74_;
+ gchar* _tmp75_;
+ gchar** _tmp76_;
+ gint _tmp76__length1;
+ const gchar* _tmp77_;
+ gchar* _tmp78_;
+ gchar* _tmp79_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp62_ = newDoc;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp63_ = jsdoc_doc_comment_getTag (_tmp62_, JSDOC_DOC_TAG_TITLE_SCOPEALIAS);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp64_ = _tmp63_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp65_ = gee_abstract_list_get ((GeeAbstractList*) _tmp64_, 0);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp66_ = (JSDOCDocTag*) _tmp65_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp67_ = _tmp66_->desc;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp69_ = _tmp68_ = g_strsplit (_tmp67_, "=", 0);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp70_ = _tmp69_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp70__length1 = _vala_array_length (_tmp68_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp66_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp64_);
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ sal = _tmp70_;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ sal_length1 = _tmp70__length1;
+#line 173 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _sal_size_ = sal_length1;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp71_ = aliases;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp72_ = sal;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp72__length1 = sal_length1;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp73_ = _tmp72_[0];
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp74_ = string_strip (_tmp73_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp75_ = _tmp74_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp76_ = sal;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp76__length1 = sal_length1;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp77_ = _tmp76_[1];
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp78_ = string_strip (_tmp77_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp79_ = _tmp78_;
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp71_, _tmp75_, _tmp79_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp79_);
+#line 174 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp75_);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ sal = (_vala_array_free (sal, sal_length1, (GDestroyNotify) g_free), NULL);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (newDoc);
+#line 176 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 1803 "Walker.c"
+ }
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp80_ = newDoc;
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp81_ = _g_object_ref0 (_tmp80_);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 183 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = _tmp81_;
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (newDoc);
+#line 184 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 1817 "Walker.c"
+ }
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp83_ = self->priv->currentDoc;
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp83_ != NULL) {
+#line 1823 "Walker.c"
+ gboolean _tmp84_ = FALSE;
+ JSDOCToken* _tmp85_;
+ const gchar* _tmp86_;
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp85_ = token;
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp86_ = _tmp85_->data;
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_strcmp0 (_tmp86_, ";") == 0) {
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp84_ = TRUE;
+#line 1835 "Walker.c"
+ } else {
+ JSDOCToken* _tmp87_;
+ const gchar* _tmp88_;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp87_ = token;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp88_ = _tmp87_->data;
+#line 195 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp84_ = g_strcmp0 (_tmp88_, "}") == 0;
+#line 1845 "Walker.c"
+ }
+#line 194 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp82_ = _tmp84_;
+#line 1849 "Walker.c"
+ } else {
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp82_ = FALSE;
+#line 1853 "Walker.c"
+ }
+#line 193 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp82_) {
+#line 196 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, "", TRUE, "OBJECT");
+#line 1859 "Walker.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp93_ = token;
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp94_ = jsdoc_token_isName (_tmp93_, JSDOC_TOKEN_NAME_VAR);
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp94_) {
+#line 1867 "Walker.c"
+ JSDOCTokenStream* _tmp95_;
+ JSDOCToken* _tmp96_;
+ JSDOCToken* _tmp97_;
+ gboolean _tmp98_;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp95_ = self->priv->ts;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp96_ = jsdoc_token_stream_lookTok (_tmp95_, 1);
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp97_ = _tmp96_;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp98_ = jsdoc_token_isType (_tmp97_, JSDOC_TOKEN_TYPE_NAME);
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp92_ = _tmp98_;
+#line 207 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp97_);
+#line 1884 "Walker.c"
+ } else {
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp92_ = FALSE;
+#line 1888 "Walker.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp92_) {
+#line 1892 "Walker.c"
+ JSDOCTokenStream* _tmp99_;
+ JSDOCToken* _tmp100_;
+ JSDOCToken* _tmp101_;
+ const gchar* _tmp102_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp99_ = self->priv->ts;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp100_ = jsdoc_token_stream_lookTok (_tmp99_, 2);
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp101_ = _tmp100_;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp102_ = _tmp101_->data;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp91_ = g_strcmp0 (_tmp102_, "=") == 0;
+#line 208 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp101_);
+#line 1909 "Walker.c"
+ } else {
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp91_ = FALSE;
+#line 1913 "Walker.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp91_) {
+#line 1917 "Walker.c"
+ JSDOCTokenStream* _tmp103_;
+ JSDOCToken* _tmp104_;
+ JSDOCToken* _tmp105_;
+ gboolean _tmp106_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp103_ = self->priv->ts;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp104_ = jsdoc_token_stream_lookTok (_tmp103_, 3);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp105_ = _tmp104_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp106_ = jsdoc_token_isType (_tmp105_, JSDOC_TOKEN_TYPE_NAME);
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp90_ = _tmp106_;
+#line 209 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp105_);
+#line 1934 "Walker.c"
+ } else {
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp90_ = FALSE;
+#line 1938 "Walker.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp90_) {
+#line 1942 "Walker.c"
+ JSDOCTokenStream* _tmp107_;
+ JSDOCToken* _tmp108_;
+ JSDOCToken* _tmp109_;
+ const gchar* _tmp110_;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp107_ = self->priv->ts;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp108_ = jsdoc_token_stream_lookTok (_tmp107_, 4);
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp109_ = _tmp108_;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp110_ = _tmp109_->data;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp89_ = g_strcmp0 (_tmp110_, ";") == 0;
+#line 210 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp109_);
+#line 1959 "Walker.c"
+ } else {
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp89_ = FALSE;
+#line 1963 "Walker.c"
+ }
+#line 205 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp89_) {
+#line 1967 "Walker.c"
+ GeeHashMap* _tmp111_;
+ JSDOCTokenStream* _tmp112_;
+ JSDOCToken* _tmp113_;
+ JSDOCToken* _tmp114_;
+ const gchar* _tmp115_;
+ JSDOCTokenStream* _tmp116_;
+ JSDOCToken* _tmp117_;
+ JSDOCToken* _tmp118_;
+ const gchar* _tmp119_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp111_ = aliases;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp112_ = self->priv->ts;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp113_ = jsdoc_token_stream_lookTok (_tmp112_, 1);
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp114_ = _tmp113_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp115_ = _tmp114_->data;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp116_ = self->priv->ts;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp117_ = jsdoc_token_stream_lookTok (_tmp116_, 3);
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp118_ = _tmp117_;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp119_ = _tmp118_->data;
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp111_, _tmp115_, _tmp119_);
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp118_);
+#line 216 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp114_);
+#line 2001 "Walker.c"
+ }
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp121_ = token;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp122_ = _tmp121_->data;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_strcmp0 (_tmp122_, "eval") == 0) {
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp120_ = TRUE;
+#line 2011 "Walker.c"
+ } else {
+ JSDOCToken* _tmp123_;
+ const gchar* _tmp124_;
+ gboolean _tmp125_;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp123_ = token;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp124_ = _tmp123_->data;
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp125_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_0, "\\.eval$", 0), _tmp124_, 0, NULL);
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp120_ = _tmp125_;
+#line 2024 "Walker.c"
+ }
+#line 220 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp120_) {
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 221 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 222 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 2034 "Walker.c"
+ }
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp126_ = token;
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp127_ = jsdoc_token_isType (_tmp126_, JSDOC_TOKEN_TYPE_NAME);
+#line 232 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp127_) {
+#line 2042 "Walker.c"
+ gboolean _tmp128_ = FALSE;
+ gboolean _tmp129_ = FALSE;
+ gboolean _tmp130_ = FALSE;
+ gboolean _tmp131_ = FALSE;
+ gboolean _tmp132_ = FALSE;
+ gboolean _tmp133_ = FALSE;
+ JSDOCToken* _tmp134_;
+ const gchar* _tmp135_;
+ gboolean _tmp136_;
+ gboolean _tmp209_ = FALSE;
+ gboolean _tmp210_ = FALSE;
+ gboolean _tmp211_ = FALSE;
+ gboolean _tmp212_ = FALSE;
+ gboolean _tmp213_ = FALSE;
+ gboolean _tmp214_ = FALSE;
+ JSDOCToken* _tmp215_;
+ const gchar* _tmp216_;
+ gboolean _tmp217_;
+ gboolean _tmp287_ = FALSE;
+ gboolean _tmp288_ = FALSE;
+ gboolean _tmp289_ = FALSE;
+ gboolean _tmp290_ = FALSE;
+ JSDOCToken* _tmp291_;
+ const gchar* _tmp292_;
+ gboolean _tmp293_;
+ gboolean _tmp343_ = FALSE;
+ gboolean _tmp344_ = FALSE;
+ gboolean _tmp345_ = FALSE;
+ gboolean _tmp346_ = FALSE;
+ JSDOCTokenStream* _tmp347_;
+ JSDOCToken* _tmp348_;
+ JSDOCToken* _tmp349_;
+ const gchar* _tmp350_;
+ gboolean _tmp351_;
+ JSDOCDocComment* _tmp405_;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp134_ = token;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp135_ = _tmp134_->data;
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp136_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_1, "\\.extend$", 0), _tmp135_, 0, NULL);
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp136_) {
+#line 2086 "Walker.c"
+ JSDOCTokenStream* _tmp137_;
+ JSDOCToken* _tmp138_;
+ JSDOCToken* _tmp139_;
+ const gchar* _tmp140_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp137_ = self->priv->ts;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp138_ = jsdoc_token_stream_lookTok (_tmp137_, 1);
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp139_ = _tmp138_;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp140_ = _tmp139_->data;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp133_ = g_strcmp0 (_tmp140_, "(") == 0;
+#line 237 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp139_);
+#line 2103 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp133_ = FALSE;
+#line 2107 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp133_) {
+#line 2111 "Walker.c"
+ JSDOCTokenStream* _tmp141_;
+ JSDOCToken* _tmp142_;
+ JSDOCToken* _tmp143_;
+ gboolean _tmp144_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp141_ = self->priv->ts;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp142_ = jsdoc_token_stream_lookTok (_tmp141_, 2);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp143_ = _tmp142_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp144_ = jsdoc_token_isType (_tmp143_, JSDOC_TOKEN_TYPE_NAME);
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp132_ = _tmp144_;
+#line 238 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp143_);
+#line 2128 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp132_ = FALSE;
+#line 2132 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp132_) {
+#line 2136 "Walker.c"
+ JSDOCTokenStream* _tmp145_;
+ JSDOCToken* _tmp146_;
+ JSDOCToken* _tmp147_;
+ const gchar* _tmp148_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp145_ = self->priv->ts;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp146_ = jsdoc_token_stream_lookTok (_tmp145_, 3);
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp147_ = _tmp146_;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp148_ = _tmp147_->data;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp131_ = g_strcmp0 (_tmp148_, ",") == 0;
+#line 239 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp147_);
+#line 2153 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp131_ = FALSE;
+#line 2157 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp131_) {
+#line 2161 "Walker.c"
+ JSDOCTokenStream* _tmp149_;
+ JSDOCToken* _tmp150_;
+ JSDOCToken* _tmp151_;
+ gboolean _tmp152_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp149_ = self->priv->ts;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp150_ = jsdoc_token_stream_lookTok (_tmp149_, 4);
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp151_ = _tmp150_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp152_ = jsdoc_token_isType (_tmp151_, JSDOC_TOKEN_TYPE_NAME);
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp130_ = _tmp152_;
+#line 240 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp151_);
+#line 2178 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp130_ = FALSE;
+#line 2182 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp130_) {
+#line 2186 "Walker.c"
+ JSDOCTokenStream* _tmp153_;
+ JSDOCToken* _tmp154_;
+ JSDOCToken* _tmp155_;
+ const gchar* _tmp156_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp153_ = self->priv->ts;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp154_ = jsdoc_token_stream_lookTok (_tmp153_, 5);
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp155_ = _tmp154_;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp156_ = _tmp155_->data;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp129_ = g_strcmp0 (_tmp156_, ",") == 0;
+#line 241 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp155_);
+#line 2203 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp129_ = FALSE;
+#line 2207 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp129_) {
+#line 2211 "Walker.c"
+ JSDOCTokenStream* _tmp157_;
+ JSDOCToken* _tmp158_;
+ JSDOCToken* _tmp159_;
+ const gchar* _tmp160_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp157_ = self->priv->ts;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp158_ = jsdoc_token_stream_lookTok (_tmp157_, 6);
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp159_ = _tmp158_;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp160_ = _tmp159_->data;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp128_ = g_strcmp0 (_tmp160_, "{") == 0;
+#line 242 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp159_);
+#line 2228 "Walker.c"
+ } else {
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp128_ = FALSE;
+#line 2232 "Walker.c"
+ }
+#line 236 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp128_) {
+#line 2236 "Walker.c"
+ JSDOCTokenStream* _tmp161_;
+ JSDOCToken* _tmp162_;
+ JSDOCToken* _tmp163_;
+ JSDOCTokenStream* _tmp164_;
+ JSDOCToken* _tmp165_;
+ JSDOCToken* _tmp166_;
+ const gchar* _tmp167_;
+ gchar* _tmp168_;
+ JSDOCDocComment* _tmp169_;
+ JSDOCTokenStream* _tmp171_;
+ JSDOCToken* _tmp172_;
+ JSDOCToken* _tmp173_;
+ JSDOCTokenStream* _tmp174_;
+ JSDOCToken* _tmp175_;
+ JSDOCToken* _tmp176_;
+ JSDOCTokenStream* _tmp177_;
+ JSDOCToken* _tmp178_;
+ JSDOCToken* _tmp179_;
+ JSDOCTokenStream* _tmp180_;
+ JSDOCToken* _tmp181_;
+ GeeHashMap* _tmp182_;
+ const gchar* _tmp183_;
+ gchar* _tmp184_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp185_;
+ JSDOCScope* _tmp186_;
+ JSDOCToken* _tmp187_;
+ gint _tmp188_;
+ const gchar* _tmp189_;
+ gchar* _tmp190_;
+ gchar* _tmp191_;
+ gchar* _tmp192_;
+ gchar* _tmp193_;
+ const gchar* _tmp194_;
+ gchar* _tmp195_;
+ gchar* _tmp196_;
+ gchar* _tmp197_;
+ gchar* _tmp198_;
+ JSDOCScope* _tmp199_;
+ JSDOCScope* _tmp200_;
+ GeeHashMap* _tmp201_;
+ JSDOCTokenStream* _tmp202_;
+ gint _tmp203_;
+ JSDOCScope* _tmp204_;
+ JSDOCScope* _tmp205_;
+ JSDOCScope* _tmp206_;
+ JSDOCScope* _tmp207_;
+ gint _tmp208_;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp161_ = self->priv->ts;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp162_ = jsdoc_token_stream_nextTok (_tmp161_);
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp163_ = _tmp162_;
+#line 246 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp163_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp164_ = self->priv->ts;
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp165_ = jsdoc_token_stream_nextTok (_tmp164_);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 247 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp165_;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp166_ = token;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp167_ = _tmp166_->data;
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp168_ = g_strdup (_tmp167_);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 248 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp168_;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp169_ = self->priv->currentDoc;
+#line 250 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp169_ != NULL) {
+#line 2315 "Walker.c"
+ const gchar* _tmp170_;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp170_ = scopeName;
+#line 251 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp170_, FALSE, "OBJECT");
+#line 2321 "Walker.c"
+ }
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp171_ = self->priv->ts;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp172_ = jsdoc_token_stream_nextTok (_tmp171_);
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp173_ = _tmp172_;
+#line 254 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp173_);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp174_ = self->priv->ts;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp175_ = jsdoc_token_stream_nextTok (_tmp174_);
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp176_ = _tmp175_;
+#line 255 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp176_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp177_ = self->priv->ts;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp178_ = jsdoc_token_stream_nextTok (_tmp177_);
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp179_ = _tmp178_;
+#line 258 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp179_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp180_ = self->priv->ts;
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp181_ = jsdoc_token_stream_nextTok (_tmp180_);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 259 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp181_;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp182_ = aliases;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp183_ = scopeName;
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp184_ = jsdoc_walker_fixAlias (self, _tmp182_, _tmp183_, FALSE);
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 261 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp184_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp185_ = self->priv->braceNesting;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp186_ = scope;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp187_ = token;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp188_ = _tmp187_->id;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp189_ = scopeName;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp190_ = g_strconcat ("$this$=", _tmp189_, NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp191_ = _tmp190_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp192_ = g_strconcat (_tmp191_, "|", NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp193_ = _tmp192_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp194_ = scopeName;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp195_ = g_strconcat (_tmp193_, _tmp194_, NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp196_ = _tmp195_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp197_ = g_strconcat (_tmp196_, ".prototype", NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp198_ = _tmp197_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp199_ = jsdoc_scope_new (_tmp185_, _tmp186_, _tmp188_, _tmp198_, NULL);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp200_ = _tmp199_;
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp198_);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp196_);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp193_);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp191_);
+#line 263 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp200_;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp201_ = self->priv->indexedScopes;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp202_ = self->priv->ts;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp203_ = _tmp202_->cursor;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp204_ = fnScope;
+#line 268 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp201_, (gpointer) ((gintptr) _tmp203_), _tmp204_);
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp205_ = fnScope;
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp206_ = _g_object_ref0 (_tmp205_);
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 269 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp206_;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp207_ = fnScope;
+#line 270 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp207_);
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp208_ = locBraceNest;
+#line 272 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp208_ + 1;
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 274 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 2437 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp215_ = token;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp216_ = _tmp215_->data;
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp217_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_2, "\\.extend$", 0), _tmp216_, 0, NULL);
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp217_) {
+#line 2447 "Walker.c"
+ JSDOCTokenStream* _tmp218_;
+ JSDOCToken* _tmp219_;
+ JSDOCToken* _tmp220_;
+ gboolean _tmp221_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp218_ = self->priv->ts;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp219_ = jsdoc_token_stream_lookTok (_tmp218_, -2);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp220_ = _tmp219_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp221_ = jsdoc_token_isType (_tmp220_, JSDOC_TOKEN_TYPE_NAME);
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp214_ = _tmp221_;
+#line 281 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp220_);
+#line 2464 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp214_ = FALSE;
+#line 2468 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp214_) {
+#line 2472 "Walker.c"
+ JSDOCTokenStream* _tmp222_;
+ JSDOCToken* _tmp223_;
+ JSDOCToken* _tmp224_;
+ const gchar* _tmp225_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp222_ = self->priv->ts;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp223_ = jsdoc_token_stream_lookTok (_tmp222_, -1);
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp224_ = _tmp223_;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp225_ = _tmp224_->data;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp213_ = g_strcmp0 (_tmp225_, "=") == 0;
+#line 282 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp224_);
+#line 2489 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp213_ = FALSE;
+#line 2493 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp213_) {
+#line 2497 "Walker.c"
+ JSDOCTokenStream* _tmp226_;
+ JSDOCToken* _tmp227_;
+ JSDOCToken* _tmp228_;
+ const gchar* _tmp229_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp226_ = self->priv->ts;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp227_ = jsdoc_token_stream_lookTok (_tmp226_, 1);
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp228_ = _tmp227_;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp229_ = _tmp228_->data;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp212_ = g_strcmp0 (_tmp229_, "(") == 0;
+#line 283 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp228_);
+#line 2514 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp212_ = FALSE;
+#line 2518 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp212_) {
+#line 2522 "Walker.c"
+ JSDOCTokenStream* _tmp230_;
+ JSDOCToken* _tmp231_;
+ JSDOCToken* _tmp232_;
+ gboolean _tmp233_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp230_ = self->priv->ts;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp231_ = jsdoc_token_stream_lookTok (_tmp230_, 2);
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp232_ = _tmp231_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp233_ = jsdoc_token_isType (_tmp232_, JSDOC_TOKEN_TYPE_NAME);
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp211_ = _tmp233_;
+#line 284 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp232_);
+#line 2539 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp211_ = FALSE;
+#line 2543 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp211_) {
+#line 2547 "Walker.c"
+ JSDOCTokenStream* _tmp234_;
+ JSDOCToken* _tmp235_;
+ JSDOCToken* _tmp236_;
+ const gchar* _tmp237_;
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp234_ = self->priv->ts;
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp235_ = jsdoc_token_stream_lookTok (_tmp234_, 3);
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp236_ = _tmp235_;
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp237_ = _tmp236_->data;
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp210_ = g_strcmp0 (_tmp237_, ",") == 0;
+#line 285 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp236_);
+#line 2564 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp210_ = FALSE;
+#line 2568 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp210_) {
+#line 2572 "Walker.c"
+ JSDOCTokenStream* _tmp238_;
+ JSDOCToken* _tmp239_;
+ JSDOCToken* _tmp240_;
+ const gchar* _tmp241_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp238_ = self->priv->ts;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp239_ = jsdoc_token_stream_lookTok (_tmp238_, 4);
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp240_ = _tmp239_;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp241_ = _tmp240_->data;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp209_ = g_strcmp0 (_tmp241_, "{") == 0;
+#line 286 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp240_);
+#line 2589 "Walker.c"
+ } else {
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp209_ = FALSE;
+#line 2593 "Walker.c"
+ }
+#line 280 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp209_) {
+#line 2597 "Walker.c"
+ JSDOCTokenStream* _tmp242_;
+ JSDOCToken* _tmp243_;
+ JSDOCToken* _tmp244_;
+ const gchar* _tmp245_;
+ gchar* _tmp246_;
+ JSDOCDocComment* _tmp247_;
+ JSDOCTokenStream* _tmp249_;
+ JSDOCToken* _tmp250_;
+ JSDOCToken* _tmp251_;
+ JSDOCTokenStream* _tmp252_;
+ JSDOCToken* _tmp253_;
+ JSDOCToken* _tmp254_;
+ JSDOCTokenStream* _tmp255_;
+ JSDOCToken* _tmp256_;
+ JSDOCToken* _tmp257_;
+ JSDOCTokenStream* _tmp258_;
+ JSDOCToken* _tmp259_;
+ GeeHashMap* _tmp260_;
+ const gchar* _tmp261_;
+ gchar* _tmp262_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp263_;
+ JSDOCScope* _tmp264_;
+ JSDOCToken* _tmp265_;
+ gint _tmp266_;
+ const gchar* _tmp267_;
+ gchar* _tmp268_;
+ gchar* _tmp269_;
+ gchar* _tmp270_;
+ gchar* _tmp271_;
+ const gchar* _tmp272_;
+ gchar* _tmp273_;
+ gchar* _tmp274_;
+ gchar* _tmp275_;
+ gchar* _tmp276_;
+ JSDOCScope* _tmp277_;
+ JSDOCScope* _tmp278_;
+ GeeHashMap* _tmp279_;
+ JSDOCTokenStream* _tmp280_;
+ gint _tmp281_;
+ JSDOCScope* _tmp282_;
+ JSDOCScope* _tmp283_;
+ JSDOCScope* _tmp284_;
+ JSDOCScope* _tmp285_;
+ gint _tmp286_;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp242_ = self->priv->ts;
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp243_ = jsdoc_token_stream_lookTok (_tmp242_, -2);
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 289 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp243_;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp244_ = token;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp245_ = _tmp244_->data;
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp246_ = g_strdup (_tmp245_);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 290 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp246_;
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp247_ = self->priv->currentDoc;
+#line 291 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp247_ != NULL) {
+#line 2665 "Walker.c"
+ const gchar* _tmp248_;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp248_ = scopeName;
+#line 292 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp248_, FALSE, "OBJECT");
+#line 2671 "Walker.c"
+ }
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp249_ = self->priv->ts;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp250_ = jsdoc_token_stream_nextTok (_tmp249_);
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp251_ = _tmp250_;
+#line 295 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp251_);
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp252_ = self->priv->ts;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp253_ = jsdoc_token_stream_nextTok (_tmp252_);
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp254_ = _tmp253_;
+#line 296 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp254_);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp255_ = self->priv->ts;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp256_ = jsdoc_token_stream_nextTok (_tmp255_);
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp257_ = _tmp256_;
+#line 298 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp257_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp258_ = self->priv->ts;
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp259_ = jsdoc_token_stream_nextTok (_tmp258_);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 299 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp259_;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp260_ = aliases;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp261_ = scopeName;
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp262_ = jsdoc_walker_fixAlias (self, _tmp260_, _tmp261_, FALSE);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 302 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp262_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp263_ = self->priv->braceNesting;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp264_ = scope;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp265_ = token;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp266_ = _tmp265_->id;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp267_ = scopeName;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp268_ = g_strconcat ("$this$=", _tmp267_, NULL);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp269_ = _tmp268_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp270_ = g_strconcat (_tmp269_, "|", NULL);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp271_ = _tmp270_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp272_ = scopeName;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp273_ = g_strconcat (_tmp271_, _tmp272_, NULL);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp274_ = _tmp273_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp275_ = g_strconcat (_tmp274_, ".prototype", NULL);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp276_ = _tmp275_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp277_ = jsdoc_scope_new (_tmp263_, _tmp264_, _tmp266_, _tmp276_, NULL);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp278_ = _tmp277_;
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp276_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp274_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp271_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp269_);
+#line 303 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp278_;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp279_ = self->priv->indexedScopes;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp280_ = self->priv->ts;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp281_ = _tmp280_->cursor;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp282_ = fnScope;
+#line 309 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp279_, (gpointer) ((gintptr) _tmp281_), _tmp282_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp283_ = fnScope;
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp284_ = _g_object_ref0 (_tmp283_);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 310 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp284_;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp285_ = fnScope;
+#line 311 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp285_);
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp286_ = locBraceNest;
+#line 313 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp286_ + 1;
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 315 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 2787 "Walker.c"
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp291_ = token;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp292_ = _tmp291_->data;
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp293_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_3, "\\.(applyIf|apply)$", 0), _tmp292_, 0, NULL);
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp293_) {
+#line 2797 "Walker.c"
+ JSDOCTokenStream* _tmp294_;
+ JSDOCToken* _tmp295_;
+ JSDOCToken* _tmp296_;
+ const gchar* _tmp297_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp294_ = self->priv->ts;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp295_ = jsdoc_token_stream_lookTok (_tmp294_, 1);
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp296_ = _tmp295_;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp297_ = _tmp296_->data;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp290_ = g_strcmp0 (_tmp297_, "(") == 0;
+#line 332 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp296_);
+#line 2814 "Walker.c"
+ } else {
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp290_ = FALSE;
+#line 2818 "Walker.c"
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp290_) {
+#line 2822 "Walker.c"
+ JSDOCTokenStream* _tmp298_;
+ JSDOCToken* _tmp299_;
+ JSDOCToken* _tmp300_;
+ gboolean _tmp301_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp298_ = self->priv->ts;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp299_ = jsdoc_token_stream_lookTok (_tmp298_, 2);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp300_ = _tmp299_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp301_ = jsdoc_token_isType (_tmp300_, JSDOC_TOKEN_TYPE_NAME);
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp289_ = _tmp301_;
+#line 333 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp300_);
+#line 2839 "Walker.c"
+ } else {
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp289_ = FALSE;
+#line 2843 "Walker.c"
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp289_) {
+#line 2847 "Walker.c"
+ JSDOCTokenStream* _tmp302_;
+ JSDOCToken* _tmp303_;
+ JSDOCToken* _tmp304_;
+ const gchar* _tmp305_;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp302_ = self->priv->ts;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp303_ = jsdoc_token_stream_lookTok (_tmp302_, 3);
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp304_ = _tmp303_;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp305_ = _tmp304_->data;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp288_ = g_strcmp0 (_tmp305_, ",") == 0;
+#line 334 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp304_);
+#line 2864 "Walker.c"
+ } else {
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp288_ = FALSE;
+#line 2868 "Walker.c"
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp288_) {
+#line 2872 "Walker.c"
+ JSDOCTokenStream* _tmp306_;
+ JSDOCToken* _tmp307_;
+ JSDOCToken* _tmp308_;
+ const gchar* _tmp309_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp306_ = self->priv->ts;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp307_ = jsdoc_token_stream_lookTok (_tmp306_, 4);
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp308_ = _tmp307_;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp309_ = _tmp308_->data;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp287_ = g_strcmp0 (_tmp309_, "{") == 0;
+#line 335 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp308_);
+#line 2889 "Walker.c"
+ } else {
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp287_ = FALSE;
+#line 2893 "Walker.c"
+ }
+#line 331 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp287_) {
+#line 2897 "Walker.c"
+ JSDOCTokenStream* _tmp310_;
+ JSDOCToken* _tmp311_;
+ JSDOCToken* _tmp312_;
+ JSDOCTokenStream* _tmp313_;
+ JSDOCToken* _tmp314_;
+ JSDOCToken* _tmp315_;
+ const gchar* _tmp316_;
+ gchar* _tmp317_;
+ JSDOCDocComment* _tmp318_;
+ JSDOCTokenStream* _tmp320_;
+ JSDOCToken* _tmp321_;
+ JSDOCToken* _tmp322_;
+ JSDOCTokenStream* _tmp323_;
+ JSDOCToken* _tmp324_;
+ JSDOCToken* _tmp325_;
+ GeeHashMap* _tmp326_;
+ const gchar* _tmp327_;
+ gchar* _tmp328_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp329_;
+ JSDOCScope* _tmp330_;
+ JSDOCToken* _tmp331_;
+ gint _tmp332_;
+ const gchar* _tmp333_;
+ JSDOCScope* _tmp334_;
+ GeeHashMap* _tmp335_;
+ JSDOCTokenStream* _tmp336_;
+ gint _tmp337_;
+ JSDOCScope* _tmp338_;
+ JSDOCScope* _tmp339_;
+ JSDOCScope* _tmp340_;
+ JSDOCScope* _tmp341_;
+ gint _tmp342_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp310_ = self->priv->ts;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp311_ = jsdoc_token_stream_nextTok (_tmp310_);
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp312_ = _tmp311_;
+#line 338 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp312_);
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp313_ = self->priv->ts;
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp314_ = jsdoc_token_stream_nextTok (_tmp313_);
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 342 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp314_;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp315_ = token;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp316_ = _tmp315_->data;
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp317_ = g_strdup (_tmp316_);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 343 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp317_;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp318_ = self->priv->currentDoc;
+#line 346 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp318_ != NULL) {
+#line 2961 "Walker.c"
+ const gchar* _tmp319_;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp319_ = scopeName;
+#line 347 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp319_, FALSE, "OBJECT");
+#line 2967 "Walker.c"
+ }
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp320_ = self->priv->ts;
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp321_ = jsdoc_token_stream_nextTok (_tmp320_);
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp322_ = _tmp321_;
+#line 352 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp322_);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp323_ = self->priv->ts;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp324_ = jsdoc_token_stream_nextTok (_tmp323_);
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp325_ = _tmp324_;
+#line 353 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp325_);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp326_ = aliases;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp327_ = scopeName;
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp328_ = jsdoc_walker_fixAlias (self, _tmp326_, _tmp327_, FALSE);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 354 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp328_;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp329_ = self->priv->braceNesting;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp330_ = scope;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp331_ = token;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp332_ = _tmp331_->id;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp333_ = scopeName;
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp334_ = jsdoc_scope_new (_tmp329_, _tmp330_, _tmp332_, _tmp333_, NULL);
+#line 355 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp334_;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp335_ = self->priv->indexedScopes;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp336_ = self->priv->ts;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp337_ = _tmp336_->cursor;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp338_ = fnScope;
+#line 359 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp335_, (gpointer) ((gintptr) _tmp337_), _tmp338_);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp339_ = fnScope;
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp340_ = _g_object_ref0 (_tmp339_);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 360 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp340_;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp341_ = fnScope;
+#line 361 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp341_);
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp342_ = locBraceNest;
+#line 363 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp342_ + 1;
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 365 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 3039 "Walker.c"
+ }
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp347_ = self->priv->ts;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp348_ = jsdoc_token_stream_lookTok (_tmp347_, 1);
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp349_ = _tmp348_;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp350_ = _tmp349_->data;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp351_ = g_strcmp0 (_tmp350_, "=") == 0;
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp349_);
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp351_) {
+#line 3055 "Walker.c"
+ JSDOCTokenStream* _tmp352_;
+ JSDOCToken* _tmp353_;
+ JSDOCToken* _tmp354_;
+ gboolean _tmp355_;
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp352_ = self->priv->ts;
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp353_ = jsdoc_token_stream_lookTok (_tmp352_, 2);
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp354_ = _tmp353_;
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp355_ = jsdoc_token_isName (_tmp354_, JSDOC_TOKEN_NAME_NEW);
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp346_ = _tmp355_;
+#line 382 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp354_);
+#line 3072 "Walker.c"
+ } else {
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp346_ = FALSE;
+#line 3076 "Walker.c"
+ }
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp346_) {
+#line 3080 "Walker.c"
+ JSDOCTokenStream* _tmp356_;
+ JSDOCToken* _tmp357_;
+ JSDOCToken* _tmp358_;
+ gboolean _tmp359_;
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp356_ = self->priv->ts;
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp357_ = jsdoc_token_stream_lookTok (_tmp356_, 3);
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp358_ = _tmp357_;
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp359_ = jsdoc_token_isType (_tmp358_, JSDOC_TOKEN_TYPE_NAME);
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp345_ = _tmp359_;
+#line 383 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp358_);
+#line 3097 "Walker.c"
+ } else {
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp345_ = FALSE;
+#line 3101 "Walker.c"
+ }
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp345_) {
+#line 3105 "Walker.c"
+ JSDOCTokenStream* _tmp360_;
+ JSDOCToken* _tmp361_;
+ JSDOCToken* _tmp362_;
+ const gchar* _tmp363_;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp360_ = self->priv->ts;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp361_ = jsdoc_token_stream_lookTok (_tmp360_, 4);
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp362_ = _tmp361_;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp363_ = _tmp362_->data;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp344_ = g_strcmp0 (_tmp363_, "(") == 0;
+#line 384 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp362_);
+#line 3122 "Walker.c"
+ } else {
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp344_ = FALSE;
+#line 3126 "Walker.c"
+ }
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp344_) {
+#line 3130 "Walker.c"
+ JSDOCTokenStream* _tmp364_;
+ JSDOCToken* _tmp365_;
+ JSDOCToken* _tmp366_;
+ const gchar* _tmp367_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp364_ = self->priv->ts;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp365_ = jsdoc_token_stream_lookTok (_tmp364_, 5);
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp366_ = _tmp365_;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp367_ = _tmp366_->data;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp343_ = g_strcmp0 (_tmp367_, "{") == 0;
+#line 385 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp366_);
+#line 3147 "Walker.c"
+ } else {
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp343_ = FALSE;
+#line 3151 "Walker.c"
+ }
+#line 381 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp343_) {
+#line 3155 "Walker.c"
+ JSDOCToken* _tmp368_;
+ const gchar* _tmp369_;
+ gchar* _tmp370_;
+ JSDOCDocComment* _tmp371_;
+ JSDOCTokenStream* _tmp373_;
+ JSDOCToken* _tmp374_;
+ JSDOCToken* _tmp375_;
+ JSDOCTokenStream* _tmp376_;
+ JSDOCToken* _tmp377_;
+ JSDOCToken* _tmp378_;
+ JSDOCTokenStream* _tmp379_;
+ JSDOCToken* _tmp380_;
+ JSDOCToken* _tmp381_;
+ JSDOCTokenStream* _tmp382_;
+ JSDOCToken* _tmp383_;
+ JSDOCToken* _tmp384_;
+ JSDOCTokenStream* _tmp385_;
+ JSDOCToken* _tmp386_;
+ JSDOCToken* _tmp387_;
+ GeeHashMap* _tmp388_;
+ const gchar* _tmp389_;
+ gchar* _tmp390_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp391_;
+ JSDOCScope* _tmp392_;
+ JSDOCToken* _tmp393_;
+ gint _tmp394_;
+ const gchar* _tmp395_;
+ JSDOCScope* _tmp396_;
+ GeeHashMap* _tmp397_;
+ JSDOCTokenStream* _tmp398_;
+ gint _tmp399_;
+ JSDOCScope* _tmp400_;
+ JSDOCScope* _tmp401_;
+ JSDOCScope* _tmp402_;
+ JSDOCScope* _tmp403_;
+ gint _tmp404_;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp368_ = token;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp369_ = _tmp368_->data;
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp370_ = g_strdup (_tmp369_);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 387 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp370_;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp371_ = self->priv->currentDoc;
+#line 388 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp371_ != NULL) {
+#line 3207 "Walker.c"
+ const gchar* _tmp372_;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp372_ = scopeName;
+#line 389 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp372_, FALSE, "OBJECT");
+#line 3213 "Walker.c"
+ }
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp373_ = self->priv->ts;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp374_ = jsdoc_token_stream_nextTok (_tmp373_);
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp375_ = _tmp374_;
+#line 393 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp375_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp376_ = self->priv->ts;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp377_ = jsdoc_token_stream_nextTok (_tmp376_);
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp378_ = _tmp377_;
+#line 394 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp378_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp379_ = self->priv->ts;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp380_ = jsdoc_token_stream_nextTok (_tmp379_);
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp381_ = _tmp380_;
+#line 395 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp381_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp382_ = self->priv->ts;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp383_ = jsdoc_token_stream_nextTok (_tmp382_);
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp384_ = _tmp383_;
+#line 396 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp384_);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp385_ = self->priv->ts;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp386_ = jsdoc_token_stream_nextTok (_tmp385_);
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp387_ = _tmp386_;
+#line 397 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp387_);
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp388_ = aliases;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp389_ = scopeName;
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp390_ = jsdoc_walker_fixAlias (self, _tmp388_, _tmp389_, FALSE);
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 399 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp390_;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp391_ = self->priv->braceNesting;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp392_ = scope;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp393_ = token;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp394_ = _tmp393_->id;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp395_ = scopeName;
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp396_ = jsdoc_scope_new (_tmp391_, _tmp392_, _tmp394_, _tmp395_, NULL);
+#line 400 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp396_;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp397_ = self->priv->indexedScopes;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp398_ = self->priv->ts;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp399_ = _tmp398_->cursor;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp400_ = fnScope;
+#line 403 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp397_, (gpointer) ((gintptr) _tmp399_), _tmp400_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp401_ = fnScope;
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp402_ = _g_object_ref0 (_tmp401_);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 404 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp402_;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp403_ = fnScope;
+#line 405 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp403_);
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp404_ = locBraceNest;
+#line 407 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp404_ + 1;
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 410 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 3309 "Walker.c"
+ }
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp405_ = self->priv->currentDoc;
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp405_ != NULL) {
+#line 3315 "Walker.c"
+ gchar* atype = NULL;
+ gchar* _tmp406_;
+ gboolean _tmp407_ = FALSE;
+ gboolean _tmp408_ = FALSE;
+ JSDOCTokenStream* _tmp409_;
+ JSDOCToken* _tmp410_;
+ JSDOCToken* _tmp411_;
+ const gchar* _tmp412_;
+ gboolean _tmp413_;
+ gchar* _tmp423_ = NULL;
+ JSDOCTokenStream* _tmp424_;
+ JSDOCToken* _tmp425_;
+ JSDOCToken* _tmp426_;
+ const gchar* _tmp427_;
+ gboolean _tmp428_;
+ const gchar* _tmp436_;
+#line 427 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp406_ = g_strdup ("OBJECT");
+#line 427 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ atype = _tmp406_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp409_ = self->priv->ts;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp410_ = jsdoc_token_stream_lookTok (_tmp409_, 1);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp411_ = _tmp410_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp412_ = _tmp411_->data;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp413_ = g_strcmp0 (_tmp412_, ":") == 0;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp411_);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp413_) {
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp408_ = TRUE;
+#line 3352 "Walker.c"
+ } else {
+ JSDOCTokenStream* _tmp414_;
+ JSDOCToken* _tmp415_;
+ JSDOCToken* _tmp416_;
+ const gchar* _tmp417_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp414_ = self->priv->ts;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp415_ = jsdoc_token_stream_lookTok (_tmp414_, 1);
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp416_ = _tmp415_;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp417_ = _tmp416_->data;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp408_ = g_strcmp0 (_tmp417_, "=") == 0;
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp416_);
+#line 3370 "Walker.c"
+ }
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp408_) {
+#line 3374 "Walker.c"
+ JSDOCTokenStream* _tmp418_;
+ JSDOCToken* _tmp419_;
+ JSDOCToken* _tmp420_;
+ gboolean _tmp421_;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp418_ = self->priv->ts;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp419_ = jsdoc_token_stream_lookTok (_tmp418_, 2);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp420_ = _tmp419_;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp421_ = jsdoc_token_isName (_tmp420_, JSDOC_TOKEN_NAME_FUNCTION);
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp407_ = _tmp421_;
+#line 430 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp420_);
+#line 3391 "Walker.c"
+ } else {
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp407_ = FALSE;
+#line 3395 "Walker.c"
+ }
+#line 429 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp407_) {
+#line 3399 "Walker.c"
+ gchar* _tmp422_;
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp422_ = g_strdup ("FUNCTION");
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (atype);
+#line 434 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ atype = _tmp422_;
+#line 3407 "Walker.c"
+ }
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp424_ = self->priv->ts;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp425_ = jsdoc_token_stream_lookTok (_tmp424_, -1);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp426_ = _tmp425_;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp427_ = _tmp426_->data;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp428_ = g_strcmp0 (_tmp427_, ".") == 0;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp426_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp428_) {
+#line 3423 "Walker.c"
+ JSDOCToken* _tmp429_;
+ const gchar* _tmp430_;
+ gchar* _tmp431_;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp429_ = token;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp430_ = _tmp429_->data;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp431_ = g_strdup (_tmp430_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp423_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp423_ = _tmp431_;
+#line 3437 "Walker.c"
+ } else {
+ GeeHashMap* _tmp432_;
+ JSDOCToken* _tmp433_;
+ const gchar* _tmp434_;
+ gchar* _tmp435_;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp432_ = aliases;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp433_ = token;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp434_ = _tmp433_->data;
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp435_ = jsdoc_walker_fixAlias (self, _tmp432_, _tmp434_, FALSE);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp423_);
+#line 440 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp423_ = _tmp435_;
+#line 3455 "Walker.c"
+ }
+#line 439 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp436_ = atype;
+#line 439 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp423_, FALSE, _tmp436_);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 445 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp423_);
+#line 422 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (atype);
+#line 3469 "Walker.c"
+ }
+#line 455 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 3473 "Walker.c"
+ }
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp437_ = token;
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp438_ = jsdoc_token_isType (_tmp437_, JSDOC_TOKEN_TYPE_STRN);
+#line 462 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp438_) {
+#line 3481 "Walker.c"
+ JSDOCDocComment* _tmp439_;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp439_ = self->priv->currentDoc;
+#line 463 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp439_ != NULL) {
+#line 3487 "Walker.c"
+ JSDOCToken* _tmp440_;
+ const gchar* _tmp441_;
+ JSDOCToken* _tmp442_;
+ const gchar* _tmp443_;
+ gint _tmp444_;
+ gint _tmp445_;
+ gchar* _tmp446_;
+ gchar* _tmp447_;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp440_ = token;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp441_ = _tmp440_->data;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp442_ = token;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp443_ = _tmp442_->data;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp444_ = strlen (_tmp443_);
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp445_ = _tmp444_;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp446_ = string_substring (_tmp441_, (glong) 1, (glong) (_tmp445_ - 1));
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp447_ = _tmp446_;
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, _tmp447_, FALSE, "OBJECT");
+#line 464 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp447_);
+#line 3516 "Walker.c"
+ }
+ }
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp448_ = token;
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp449_ = jsdoc_token_isName (_tmp448_, JSDOC_TOKEN_NAME_FUNCTION);
+#line 471 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp449_) {
+#line 3525 "Walker.c"
+ JSDOCDocComment* _tmp450_;
+ gboolean _tmp454_ = FALSE;
+ JSDOCTokenStream* _tmp455_;
+ JSDOCToken* _tmp456_;
+ JSDOCToken* _tmp457_;
+ const gchar* _tmp458_;
+ gboolean _tmp459_;
+ gboolean _tmp500_ = FALSE;
+ gboolean _tmp501_ = FALSE;
+ JSDOCTokenStream* _tmp502_;
+ JSDOCToken* _tmp503_;
+ JSDOCToken* _tmp504_;
+ gboolean _tmp505_;
+ gboolean _tmp506_;
+ gboolean _tmp535_ = FALSE;
+ gboolean _tmp536_ = FALSE;
+ JSDOCTokenStream* _tmp537_;
+ JSDOCToken* _tmp538_;
+ JSDOCToken* _tmp539_;
+ const gchar* _tmp540_;
+ gboolean _tmp541_;
+ JSDOCTokenStream* _tmp576_;
+ JSDOCToken* _tmp577_;
+ JSDOCToken* _tmp578_;
+ gboolean _tmp579_;
+ gboolean _tmp580_;
+ JSDOCTokenStream* _tmp598_;
+ JSDOCToken* _tmp599_;
+ JSDOCToken* _tmp600_;
+ gboolean _tmp601_;
+ gboolean _tmp602_;
+ JSDOCToken* _tmp620_;
+ gchar* _tmp621_;
+ gchar* _tmp622_;
+ gchar* _tmp623_;
+ gchar* _tmp624_;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp450_ = self->priv->currentDoc;
+#line 475 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp450_ != NULL) {
+#line 3566 "Walker.c"
+ JSDOCToken* _tmp451_;
+ gchar* _tmp452_;
+ gchar* _tmp453_;
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp451_ = token;
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp452_ = jsdoc_token_asString (_tmp451_);
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp453_ = _tmp452_;
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_error ("Walker.vala:476: Unhandled doc (TOKfunction) %s", _tmp453_);
+#line 476 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp453_);
+#line 3580 "Walker.c"
+ }
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp455_ = self->priv->ts;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp456_ = jsdoc_token_stream_lookTok (_tmp455_, -1);
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp457_ = _tmp456_;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp458_ = _tmp457_->data;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp459_ = g_strcmp0 (_tmp458_, "=") == 0;
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp457_);
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp459_) {
+#line 3596 "Walker.c"
+ JSDOCTokenStream* _tmp460_;
+ JSDOCToken* _tmp461_;
+ JSDOCToken* _tmp462_;
+ gboolean _tmp463_;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp460_ = self->priv->ts;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp461_ = jsdoc_token_stream_lookTok (_tmp460_, -2);
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp462_ = _tmp461_;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp463_ = jsdoc_token_isType (_tmp462_, JSDOC_TOKEN_TYPE_NAME);
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp454_ = _tmp463_;
+#line 488 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp462_);
+#line 3613 "Walker.c"
+ } else {
+#line 487 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp454_ = FALSE;
+#line 3617 "Walker.c"
+ }
+#line 486 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp454_) {
+#line 3621 "Walker.c"
+ JSDOCTokenStream* _tmp464_;
+ JSDOCToken* _tmp465_;
+ JSDOCToken* _tmp466_;
+ const gchar* _tmp467_;
+ gchar* _tmp468_;
+ JSDOCTokenStream* _tmp469_;
+ GeeArrayList* _tmp470_;
+ GeeArrayList* _tmp471_;
+ JSDOCTokenStream* _tmp472_;
+ JSDOCToken* _tmp473_;
+ GeeHashMap* _tmp474_;
+ const gchar* _tmp475_;
+ gchar* _tmp476_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp477_;
+ JSDOCScope* _tmp478_;
+ JSDOCToken* _tmp479_;
+ gint _tmp480_;
+ const gchar* _tmp481_;
+ gchar* _tmp482_;
+ gchar* _tmp483_;
+ gchar* _tmp484_;
+ gchar* _tmp485_;
+ const gchar* _tmp486_;
+ gchar* _tmp487_;
+ gchar* _tmp488_;
+ gchar* _tmp489_;
+ gchar* _tmp490_;
+ JSDOCScope* _tmp491_;
+ JSDOCScope* _tmp492_;
+ GeeHashMap* _tmp493_;
+ JSDOCTokenStream* _tmp494_;
+ gint _tmp495_;
+ JSDOCScope* _tmp496_;
+ JSDOCScope* _tmp497_;
+ GeeHashMap* _tmp498_;
+ gint _tmp499_;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp464_ = self->priv->ts;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp465_ = jsdoc_token_stream_lookTok (_tmp464_, -2);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp466_ = _tmp465_;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp467_ = _tmp466_->data;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp468_ = g_strdup (_tmp467_);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp468_;
+#line 490 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp466_);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp469_ = self->priv->ts;
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp470_ = jsdoc_token_stream_balance (_tmp469_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp471_ = _tmp470_;
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp471_);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 491 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 3705 "Walker.c"
+ }
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp472_ = self->priv->ts;
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp473_ = jsdoc_token_stream_nextTok (_tmp472_);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 492 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp473_;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp474_ = aliases;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp475_ = scopeName;
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp476_ = jsdoc_walker_fixAlias (self, _tmp474_, _tmp475_, FALSE);
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 496 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp476_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp477_ = self->priv->braceNesting;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp478_ = scope;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp479_ = token;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp480_ = _tmp479_->id;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp481_ = scopeName;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp482_ = g_strconcat ("$this$=", _tmp481_, NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp483_ = _tmp482_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp484_ = g_strconcat (_tmp483_, ".prototype|$private$|", NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp485_ = _tmp484_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp486_ = scopeName;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp487_ = g_strconcat (_tmp485_, _tmp486_, NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp488_ = _tmp487_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp489_ = g_strconcat (_tmp488_, ".prototype", NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp490_ = _tmp489_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp491_ = jsdoc_scope_new (_tmp477_, _tmp478_, _tmp480_, _tmp490_, NULL);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp492_ = _tmp491_;
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp490_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp488_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp485_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp483_);
+#line 497 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp492_;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp493_ = self->priv->indexedScopes;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp494_ = self->priv->ts;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp495_ = _tmp494_->cursor;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp496_ = fnScope;
+#line 502 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp493_, (gpointer) ((gintptr) _tmp495_), _tmp496_);
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp497_ = fnScope;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp498_ = aliases;
+#line 505 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp497_, _tmp498_);
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp499_ = locBraceNest;
+#line 509 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp499_ + 1;
+#line 511 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 511 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 3791 "Walker.c"
+ }
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp502_ = self->priv->ts;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp503_ = jsdoc_token_stream_lookTok (_tmp502_, -1);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp504_ = _tmp503_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp505_ = jsdoc_token_isName (_tmp504_, JSDOC_TOKEN_NAME_NEW);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp506_ = _tmp505_;
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp504_);
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp506_) {
+#line 3807 "Walker.c"
+ JSDOCTokenStream* _tmp507_;
+ JSDOCToken* _tmp508_;
+ JSDOCToken* _tmp509_;
+ const gchar* _tmp510_;
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp507_ = self->priv->ts;
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp508_ = jsdoc_token_stream_lookTok (_tmp507_, -2);
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp509_ = _tmp508_;
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp510_ = _tmp509_->data;
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp501_ = g_strcmp0 (_tmp510_, "=") == 0;
+#line 523 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp509_);
+#line 3824 "Walker.c"
+ } else {
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp501_ = FALSE;
+#line 3828 "Walker.c"
+ }
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp501_) {
+#line 3832 "Walker.c"
+ JSDOCTokenStream* _tmp511_;
+ JSDOCToken* _tmp512_;
+ JSDOCToken* _tmp513_;
+ gboolean _tmp514_;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp511_ = self->priv->ts;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp512_ = jsdoc_token_stream_lookTok (_tmp511_, -3);
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp513_ = _tmp512_;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp514_ = jsdoc_token_isName (_tmp513_, JSDOC_TOKEN_NAME_FUNCTION);
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp500_ = _tmp514_;
+#line 524 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp513_);
+#line 3849 "Walker.c"
+ } else {
+#line 522 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp500_ = FALSE;
+#line 3853 "Walker.c"
+ }
+#line 521 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp500_) {
+#line 3857 "Walker.c"
+ JSDOCTokenStream* _tmp515_;
+ GeeArrayList* _tmp516_;
+ GeeArrayList* _tmp517_;
+ JSDOCTokenStream* _tmp518_;
+ JSDOCToken* _tmp519_;
+ GeeHashMap* _tmp520_;
+ const gchar* _tmp521_;
+ gchar* _tmp522_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp523_;
+ JSDOCScope* _tmp524_;
+ JSDOCToken* _tmp525_;
+ gint _tmp526_;
+ JSDOCScope* _tmp527_;
+ GeeHashMap* _tmp528_;
+ JSDOCTokenStream* _tmp529_;
+ gint _tmp530_;
+ JSDOCScope* _tmp531_;
+ JSDOCScope* _tmp532_;
+ GeeHashMap* _tmp533_;
+ gint _tmp534_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp515_ = self->priv->ts;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp516_ = jsdoc_token_stream_balance (_tmp515_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp517_ = _tmp516_;
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp517_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 527 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 3909 "Walker.c"
+ }
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp518_ = self->priv->ts;
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp519_ = jsdoc_token_stream_nextTok (_tmp518_);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 528 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp519_;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp520_ = aliases;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp521_ = scopeName;
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp522_ = jsdoc_walker_fixAlias (self, _tmp520_, _tmp521_, FALSE);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 529 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp522_;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp523_ = self->priv->braceNesting;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp524_ = scope;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp525_ = token;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp526_ = _tmp525_->id;
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp527_ = jsdoc_scope_new (_tmp523_, _tmp524_, _tmp526_, "$private$", NULL);
+#line 530 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp527_;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp528_ = self->priv->indexedScopes;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp529_ = self->priv->ts;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp530_ = _tmp529_->cursor;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp531_ = fnScope;
+#line 535 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp528_, (gpointer) ((gintptr) _tmp530_), _tmp531_);
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp532_ = fnScope;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp533_ = aliases;
+#line 538 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp532_, _tmp533_);
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp534_ = locBraceNest;
+#line 540 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp534_ + 1;
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 542 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 3965 "Walker.c"
+ }
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp537_ = self->priv->ts;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp538_ = jsdoc_token_stream_lookTok (_tmp537_, -1);
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp539_ = _tmp538_;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp540_ = _tmp539_->data;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp541_ = g_strcmp0 (_tmp540_, ":") == 0;
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp539_);
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp541_) {
+#line 3981 "Walker.c"
+ JSDOCTokenStream* _tmp542_;
+ JSDOCToken* _tmp543_;
+ JSDOCToken* _tmp544_;
+ gboolean _tmp545_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp542_ = self->priv->ts;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp543_ = jsdoc_token_stream_lookTok (_tmp542_, -2);
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp544_ = _tmp543_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp545_ = jsdoc_token_isType (_tmp544_, JSDOC_TOKEN_TYPE_NAME);
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp536_ = _tmp545_;
+#line 558 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp544_);
+#line 3998 "Walker.c"
+ } else {
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp536_ = FALSE;
+#line 4002 "Walker.c"
+ }
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp536_) {
+#line 4006 "Walker.c"
+ gboolean _tmp546_ = FALSE;
+ JSDOCTokenStream* _tmp547_;
+ JSDOCToken* _tmp548_;
+ JSDOCToken* _tmp549_;
+ const gchar* _tmp550_;
+ gboolean _tmp551_;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp547_ = self->priv->ts;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp548_ = jsdoc_token_stream_lookTok (_tmp547_, -3);
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp549_ = _tmp548_;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp550_ = _tmp549_->data;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp551_ = g_strcmp0 (_tmp550_, "(") == 0;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp549_);
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp551_) {
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp546_ = TRUE;
+#line 4029 "Walker.c"
+ } else {
+ JSDOCTokenStream* _tmp552_;
+ JSDOCToken* _tmp553_;
+ JSDOCToken* _tmp554_;
+ const gchar* _tmp555_;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp552_ = self->priv->ts;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp553_ = jsdoc_token_stream_lookTok (_tmp552_, -3);
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp554_ = _tmp553_;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp555_ = _tmp554_->data;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp546_ = g_strcmp0 (_tmp555_, ",") == 0;
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp554_);
+#line 4047 "Walker.c"
+ }
+#line 559 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp535_ = _tmp546_;
+#line 4051 "Walker.c"
+ } else {
+#line 557 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp535_ = FALSE;
+#line 4055 "Walker.c"
+ }
+#line 556 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp535_) {
+#line 4059 "Walker.c"
+ JSDOCTokenStream* _tmp556_;
+ GeeArrayList* _tmp557_;
+ GeeArrayList* _tmp558_;
+ JSDOCTokenStream* _tmp559_;
+ JSDOCToken* _tmp560_;
+ GeeHashMap* _tmp561_;
+ const gchar* _tmp562_;
+ gchar* _tmp563_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp564_;
+ JSDOCScope* _tmp565_;
+ JSDOCToken* _tmp566_;
+ gint _tmp567_;
+ JSDOCScope* _tmp568_;
+ GeeHashMap* _tmp569_;
+ JSDOCTokenStream* _tmp570_;
+ gint _tmp571_;
+ JSDOCScope* _tmp572_;
+ JSDOCScope* _tmp573_;
+ GeeHashMap* _tmp574_;
+ gint _tmp575_;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp556_ = self->priv->ts;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp557_ = jsdoc_token_stream_balance (_tmp556_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp558_ = _tmp557_;
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp558_);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 564 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 4111 "Walker.c"
+ }
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp559_ = self->priv->ts;
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp560_ = jsdoc_token_stream_nextTok (_tmp559_);
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 566 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp560_;
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp561_ = aliases;
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp562_ = scopeName;
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp563_ = jsdoc_walker_fixAlias (self, _tmp561_, _tmp562_, FALSE);
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 569 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp563_;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp564_ = self->priv->braceNesting;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp565_ = scope;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp566_ = token;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp567_ = _tmp566_->id;
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp568_ = jsdoc_scope_new (_tmp564_, _tmp565_, _tmp567_, "", NULL);
+#line 570 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp568_;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp569_ = self->priv->indexedScopes;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp570_ = self->priv->ts;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp571_ = _tmp570_->cursor;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp572_ = fnScope;
+#line 574 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp569_, (gpointer) ((gintptr) _tmp571_), _tmp572_);
+#line 577 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp573_ = fnScope;
+#line 577 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp574_ = aliases;
+#line 577 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp573_, _tmp574_);
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp575_ = locBraceNest;
+#line 578 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp575_ + 1;
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 580 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4167 "Walker.c"
+ }
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp576_ = self->priv->ts;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp577_ = jsdoc_token_stream_lookTok (_tmp576_, 1);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp578_ = _tmp577_;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp579_ = jsdoc_token_isType (_tmp578_, JSDOC_TOKEN_TYPE_NAME);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp580_ = _tmp579_;
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp578_);
+#line 587 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp580_) {
+#line 4183 "Walker.c"
+ JSDOCTokenStream* _tmp581_;
+ GeeArrayList* _tmp582_;
+ GeeArrayList* _tmp583_;
+ JSDOCTokenStream* _tmp584_;
+ JSDOCToken* _tmp585_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp586_;
+ JSDOCScope* _tmp587_;
+ JSDOCToken* _tmp588_;
+ gint _tmp589_;
+ JSDOCScope* _tmp590_;
+ GeeHashMap* _tmp591_;
+ JSDOCTokenStream* _tmp592_;
+ gint _tmp593_;
+ JSDOCScope* _tmp594_;
+ JSDOCScope* _tmp595_;
+ GeeHashMap* _tmp596_;
+ gint _tmp597_;
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp581_ = self->priv->ts;
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp582_ = jsdoc_token_stream_balance (_tmp581_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp583_ = _tmp582_;
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp583_);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 591 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 4232 "Walker.c"
+ }
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp584_ = self->priv->ts;
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp585_ = jsdoc_token_stream_nextTok (_tmp584_);
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 592 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp585_;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp586_ = self->priv->braceNesting;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp587_ = scope;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp588_ = token;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp589_ = _tmp588_->id;
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp590_ = jsdoc_scope_new (_tmp586_, _tmp587_, _tmp589_, "", NULL);
+#line 593 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp590_;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp591_ = self->priv->indexedScopes;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp592_ = self->priv->ts;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp593_ = _tmp592_->cursor;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp594_ = fnScope;
+#line 597 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp591_, (gpointer) ((gintptr) _tmp593_), _tmp594_);
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp595_ = fnScope;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp596_ = aliases;
+#line 600 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp595_, _tmp596_);
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp597_ = locBraceNest;
+#line 601 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp597_ + 1;
+#line 603 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 603 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4278 "Walker.c"
+ }
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp598_ = self->priv->ts;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp599_ = jsdoc_token_stream_lookTok (_tmp598_, 1);
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp600_ = _tmp599_;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp601_ = jsdoc_token_isType (_tmp600_, JSDOC_TOKEN_TYPE_NAME);
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp602_ = !_tmp601_;
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp600_);
+#line 612 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp602_) {
+#line 4294 "Walker.c"
+ JSDOCTokenStream* _tmp603_;
+ GeeArrayList* _tmp604_;
+ GeeArrayList* _tmp605_;
+ JSDOCTokenStream* _tmp606_;
+ JSDOCToken* _tmp607_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp608_;
+ JSDOCScope* _tmp609_;
+ JSDOCToken* _tmp610_;
+ gint _tmp611_;
+ JSDOCScope* _tmp612_;
+ GeeHashMap* _tmp613_;
+ JSDOCTokenStream* _tmp614_;
+ gint _tmp615_;
+ JSDOCScope* _tmp616_;
+ JSDOCScope* _tmp617_;
+ GeeHashMap* _tmp618_;
+ gint _tmp619_;
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp603_ = self->priv->ts;
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp604_ = jsdoc_token_stream_balance (_tmp603_, JSDOC_TOKEN_NAME_LEFT_PAREN, &_inner_error_);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp605_ = _tmp604_;
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp605_);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 621 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 4343 "Walker.c"
+ }
+#line 622 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp606_ = self->priv->ts;
+#line 622 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp607_ = jsdoc_token_stream_nextTok (_tmp606_);
+#line 622 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 622 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp607_;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp608_ = self->priv->braceNesting;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp609_ = scope;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp610_ = token;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp611_ = _tmp610_->id;
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp612_ = jsdoc_scope_new (_tmp608_, _tmp609_, _tmp611_, "$private$", NULL);
+#line 623 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp612_;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp613_ = self->priv->indexedScopes;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp614_ = self->priv->ts;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp615_ = _tmp614_->cursor;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp616_ = fnScope;
+#line 627 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp613_, (gpointer) ((gintptr) _tmp615_), _tmp616_);
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp617_ = fnScope;
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp618_ = aliases;
+#line 630 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parseScope (self, _tmp617_, _tmp618_);
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp619_ = locBraceNest;
+#line 631 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp619_ + 1;
+#line 633 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 633 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4389 "Walker.c"
+ }
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp620_ = token;
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp621_ = jsdoc_token_asString (_tmp620_);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp622_ = _tmp621_;
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp623_ = g_strconcat ("dont know how to handle function syntax??\n %s", _tmp622_, NULL);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp624_ = _tmp623_;
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_error ("Walker.vala:638: %s", _tmp624_);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp624_);
+#line 638 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp622_);
+#line 643 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4409 "Walker.c"
+ }
+#line 650 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp625_ = token;
+#line 650 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp626_ = _tmp625_->data;
+#line 650 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_strcmp0 (_tmp626_, "{") == 0) {
+#line 4417 "Walker.c"
+ gboolean _tmp627_ = FALSE;
+ gboolean _tmp628_ = FALSE;
+ JSDOCTokenStream* _tmp629_;
+ JSDOCToken* _tmp630_;
+ JSDOCToken* _tmp631_;
+ const gchar* _tmp632_;
+ gboolean _tmp633_;
+ gboolean _tmp673_ = FALSE;
+ gboolean _tmp674_ = FALSE;
+ JSDOCTokenStream* _tmp675_;
+ JSDOCToken* _tmp676_;
+ JSDOCToken* _tmp677_;
+ const gchar* _tmp678_;
+ gboolean _tmp679_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp710_;
+ JSDOCScope* _tmp711_;
+ JSDOCToken* _tmp712_;
+ gint _tmp713_;
+ JSDOCScope* _tmp714_;
+ GeeHashMap* _tmp715_;
+ JSDOCTokenStream* _tmp716_;
+ gint _tmp717_;
+ JSDOCScope* _tmp718_;
+ JSDOCScope* _tmp719_;
+ JSDOCScope* _tmp720_;
+ JSDOCScope* _tmp721_;
+ gint _tmp722_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp629_ = self->priv->ts;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp630_ = jsdoc_token_stream_lookTok (_tmp629_, -1);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp631_ = _tmp630_;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp632_ = _tmp631_->data;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp633_ = g_strcmp0 (_tmp632_, "=") == 0;
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp631_);
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp633_) {
+#line 4460 "Walker.c"
+ JSDOCTokenStream* _tmp634_;
+ JSDOCToken* _tmp635_;
+ JSDOCToken* _tmp636_;
+ gboolean _tmp637_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp634_ = self->priv->ts;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp635_ = jsdoc_token_stream_lookTok (_tmp634_, -2);
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp636_ = _tmp635_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp637_ = jsdoc_token_isType (_tmp636_, JSDOC_TOKEN_TYPE_NAME);
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp628_ = _tmp637_;
+#line 658 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp636_);
+#line 4477 "Walker.c"
+ } else {
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp628_ = FALSE;
+#line 4481 "Walker.c"
+ }
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp628_) {
+#line 4485 "Walker.c"
+ JSDOCTokenStream* _tmp638_;
+ JSDOCToken* _tmp639_;
+ JSDOCToken* _tmp640_;
+ gboolean _tmp641_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp638_ = self->priv->ts;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp639_ = jsdoc_token_stream_lookTok (_tmp638_, -3);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp640_ = _tmp639_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp641_ = jsdoc_token_isName (_tmp640_, JSDOC_TOKEN_NAME_VAR);
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp627_ = !_tmp641_;
+#line 659 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp640_);
+#line 4502 "Walker.c"
+ } else {
+#line 657 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp627_ = FALSE;
+#line 4506 "Walker.c"
+ }
+#line 656 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp627_) {
+#line 4510 "Walker.c"
+ JSDOCTokenStream* _tmp642_;
+ JSDOCToken* _tmp643_;
+ JSDOCToken* _tmp644_;
+ const gchar* _tmp645_;
+ gchar* _tmp646_;
+ GeeHashMap* _tmp647_;
+ const gchar* _tmp648_;
+ gchar* _tmp649_;
+ const gchar* _tmp650_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp651_;
+ JSDOCScope* _tmp652_;
+ JSDOCToken* _tmp653_;
+ gint _tmp654_;
+ const gchar* _tmp655_;
+ gchar* _tmp656_;
+ gchar* _tmp657_;
+ gchar* _tmp658_;
+ gchar* _tmp659_;
+ const gchar* _tmp660_;
+ gchar* _tmp661_;
+ gchar* _tmp662_;
+ JSDOCScope* _tmp663_;
+ JSDOCScope* _tmp664_;
+ GeeHashMap* _tmp665_;
+ JSDOCTokenStream* _tmp666_;
+ gint _tmp667_;
+ JSDOCScope* _tmp668_;
+ JSDOCScope* _tmp669_;
+ JSDOCScope* _tmp670_;
+ JSDOCScope* _tmp671_;
+ gint _tmp672_;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp642_ = self->priv->ts;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp643_ = jsdoc_token_stream_lookTok (_tmp642_, -2);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp644_ = _tmp643_;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp645_ = _tmp644_->data;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp646_ = g_strdup (_tmp645_);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp646_;
+#line 662 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp644_);
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp647_ = aliases;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp648_ = scopeName;
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp649_ = jsdoc_walker_fixAlias (self, _tmp647_, _tmp648_, FALSE);
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 664 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp649_;
+#line 665 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp650_ = scopeName;
+#line 665 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:665: got %s = {", _tmp650_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp651_ = self->priv->braceNesting;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp652_ = scope;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp653_ = token;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp654_ = _tmp653_->id;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp655_ = scopeName;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp656_ = g_strconcat ("$this$=", _tmp655_, NULL);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp657_ = _tmp656_;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp658_ = g_strconcat (_tmp657_, "|", NULL);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp659_ = _tmp658_;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp660_ = scopeName;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp661_ = g_strconcat (_tmp659_, _tmp660_, NULL);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp662_ = _tmp661_;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp663_ = jsdoc_scope_new (_tmp651_, _tmp652_, _tmp654_, _tmp662_, NULL);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp664_ = _tmp663_;
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp662_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp659_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp657_);
+#line 668 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp664_;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp665_ = self->priv->indexedScopes;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp666_ = self->priv->ts;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp667_ = _tmp666_->cursor;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp668_ = fnScope;
+#line 672 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp665_, (gpointer) ((gintptr) _tmp667_), _tmp668_);
+#line 673 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp669_ = fnScope;
+#line 673 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp670_ = _g_object_ref0 (_tmp669_);
+#line 673 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 673 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp670_;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp671_ = fnScope;
+#line 675 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp671_);
+#line 679 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp672_ = locBraceNest;
+#line 679 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp672_ + 1;
+#line 681 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 681 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4639 "Walker.c"
+ }
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp675_ = self->priv->ts;
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp676_ = jsdoc_token_stream_lookTok (_tmp675_, -1);
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp677_ = _tmp676_;
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp678_ = _tmp677_->data;
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp679_ = g_strcmp0 (_tmp678_, ":") == 0;
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp677_);
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp679_) {
+#line 4655 "Walker.c"
+ JSDOCTokenStream* _tmp680_;
+ JSDOCToken* _tmp681_;
+ JSDOCToken* _tmp682_;
+ gboolean _tmp683_;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp680_ = self->priv->ts;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp681_ = jsdoc_token_stream_lookTok (_tmp680_, -2);
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp682_ = _tmp681_;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp683_ = jsdoc_token_isType (_tmp682_, JSDOC_TOKEN_TYPE_NAME);
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp674_ = _tmp683_;
+#line 689 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp682_);
+#line 4672 "Walker.c"
+ } else {
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp674_ = FALSE;
+#line 4676 "Walker.c"
+ }
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp674_) {
+#line 4680 "Walker.c"
+ JSDOCTokenStream* _tmp684_;
+ JSDOCToken* _tmp685_;
+ JSDOCToken* _tmp686_;
+ gboolean _tmp687_;
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp684_ = self->priv->ts;
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp685_ = jsdoc_token_stream_lookTok (_tmp684_, -3);
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp686_ = _tmp685_;
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp687_ = jsdoc_token_isName (_tmp686_, JSDOC_TOKEN_NAME_VAR);
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp673_ = !_tmp687_;
+#line 690 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp686_);
+#line 4697 "Walker.c"
+ } else {
+#line 688 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp673_ = FALSE;
+#line 4701 "Walker.c"
+ }
+#line 687 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp673_) {
+#line 4705 "Walker.c"
+ JSDOCTokenStream* _tmp688_;
+ JSDOCToken* _tmp689_;
+ JSDOCToken* _tmp690_;
+ const gchar* _tmp691_;
+ gchar* _tmp692_;
+ GeeHashMap* _tmp693_;
+ const gchar* _tmp694_;
+ gchar* _tmp695_;
+ JSDOCScope* fnScope = NULL;
+ gint _tmp696_;
+ JSDOCScope* _tmp697_;
+ JSDOCToken* _tmp698_;
+ gint _tmp699_;
+ const gchar* _tmp700_;
+ JSDOCScope* _tmp701_;
+ GeeHashMap* _tmp702_;
+ JSDOCTokenStream* _tmp703_;
+ gint _tmp704_;
+ JSDOCScope* _tmp705_;
+ JSDOCScope* _tmp706_;
+ JSDOCScope* _tmp707_;
+ JSDOCScope* _tmp708_;
+ gint _tmp709_;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp688_ = self->priv->ts;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp689_ = jsdoc_token_stream_lookTok (_tmp688_, -2);
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp690_ = _tmp689_;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp691_ = _tmp690_->data;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp692_ = g_strdup (_tmp691_);
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp692_;
+#line 693 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp690_);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp693_ = aliases;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp694_ = scopeName;
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp695_ = jsdoc_walker_fixAlias (self, _tmp693_, _tmp694_, FALSE);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 694 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scopeName = _tmp695_;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp696_ = self->priv->braceNesting;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp697_ = scope;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp698_ = token;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp699_ = _tmp698_->id;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp700_ = scopeName;
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp701_ = jsdoc_scope_new (_tmp696_, _tmp697_, _tmp699_, _tmp700_, NULL);
+#line 695 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp701_;
+#line 699 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp702_ = self->priv->indexedScopes;
+#line 699 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp703_ = self->priv->ts;
+#line 699 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp704_ = _tmp703_->cursor;
+#line 699 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp705_ = fnScope;
+#line 699 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp702_, (gpointer) ((gintptr) _tmp704_), _tmp705_);
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp706_ = fnScope;
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp707_ = _g_object_ref0 (_tmp706_);
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 700 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp707_;
+#line 701 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp708_ = fnScope;
+#line 701 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp708_);
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp709_ = locBraceNest;
+#line 703 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp709_ + 1;
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 705 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4799 "Walker.c"
+ }
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp710_ = self->priv->braceNesting;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp711_ = scope;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp712_ = token;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp713_ = _tmp712_->id;
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp714_ = jsdoc_scope_new (_tmp710_, _tmp711_, _tmp713_, "", NULL);
+#line 707 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ fnScope = _tmp714_;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp715_ = self->priv->indexedScopes;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp716_ = self->priv->ts;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp717_ = _tmp716_->cursor;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp718_ = fnScope;
+#line 711 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp715_, (gpointer) ((gintptr) _tmp717_), _tmp718_);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp719_ = fnScope;
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp720_ = _g_object_ref0 (_tmp719_);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 712 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = _tmp720_;
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp721_ = fnScope;
+#line 713 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_scopesIn (self, _tmp721_);
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp722_ = locBraceNest;
+#line 715 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp722_ + 1;
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (fnScope);
+#line 717 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4843 "Walker.c"
+ }
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp723_ = token;
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp724_ = _tmp723_->data;
+#line 720 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_strcmp0 (_tmp724_, "}") == 0) {
+#line 4851 "Walker.c"
+ JSDOCDocComment* _tmp725_;
+ gint _tmp726_;
+ JSDOCScope* closescope = NULL;
+ JSDOCScope* _tmp727_;
+ GeeArrayList* _tmp728_;
+ GeeArrayList* _tmp729_;
+ gint _tmp730_;
+ gint _tmp731_;
+ gpointer _tmp732_;
+ gint _tmp733_;
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp725_ = self->priv->currentDoc;
+#line 723 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp725_ != NULL) {
+#line 724 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_addSymbol (self, "", TRUE, "OBJECT");
+#line 4868 "Walker.c"
+ }
+#line 730 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp726_ = locBraceNest;
+#line 730 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ locBraceNest = _tmp726_ - 1;
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp727_ = jsdoc_walker_scopeOut (self);
+#line 733 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ closescope = _tmp727_;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp728_ = self->priv->scopes;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp729_ = self->priv->scopes;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp730_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp729_);
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp731_ = _tmp730_;
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp732_ = gee_abstract_list_get ((GeeAbstractList*) _tmp728_, _tmp731_ - 1);
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 735 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ scope = (JSDOCScope*) _tmp732_;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp733_ = locBraceNest;
+#line 739 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp733_ < 0) {
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (closescope);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 744 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 4914 "Walker.c"
+ }
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (closescope);
+#line 746 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 4920 "Walker.c"
+ }
+ }
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (isObjectLitAr);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (scopeName);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l2);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (l1);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (aliases);
+#line 97 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (scope);
+#line 4937 "Walker.c"
+}
+
+
+static void _vala_array_add5 (gchar** * array, int* length, int* size, gchar* value) {
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if ((*length) == (*size)) {
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 4948 "Walker.c"
+ }
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[(*length)++] = value;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[*length] = NULL;
+#line 4954 "Walker.c"
+}
+
+
+static void _vala_array_add6 (gchar** * array, int* length, int* size, gchar* value) {
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if ((*length) == (*size)) {
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 4965 "Walker.c"
+ }
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[(*length)++] = value;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[*length] = NULL;
+#line 4971 "Walker.c"
+}
+
+
+static void jsdoc_walker_addSymbol (JSDOCWalker* self, const gchar* in_lastIdent, gboolean appendIt, const gchar* atype) {
+ const gchar* _tmp0_;
+ gchar* lastIdent = NULL;
+ const gchar* _tmp1_;
+ gchar* _tmp2_;
+ JSDOCDocComment* _tmp3_;
+ GeeArrayList* _tmp4_;
+ GeeArrayList* _tmp5_;
+ gint _tmp6_;
+ gint _tmp7_;
+ gboolean _tmp8_;
+ JSDOCToken* token = NULL;
+ JSDOCTokenStream* _tmp9_;
+ JSDOCToken* _tmp10_;
+ JSDOCDocComment* _tmp11_;
+ GeeArrayList* _tmp12_;
+ GeeArrayList* _tmp13_;
+ gint _tmp14_;
+ gint _tmp15_;
+ gboolean _tmp16_;
+ gboolean _tmp24_ = FALSE;
+ const gchar* _tmp25_;
+ gint _tmp26_;
+ gint _tmp27_;
+ gchar* _s = NULL;
+ const gchar* _tmp40_;
+ gchar* _tmp41_;
+ const gchar* _tmp42_;
+ gboolean _tmp43_;
+ GeeHashMap* _tmp188_;
+ const gchar* _tmp189_;
+ gboolean _tmp190_;
+ JSDOCSymbol* symbol = NULL;
+ const gchar* _tmp198_;
+ GeeArrayList* _tmp199_;
+ GeeArrayList* _tmp200_;
+ const gchar* _tmp201_;
+ JSDOCDocComment* _tmp202_;
+ JSDOCSymbol* _tmp203_;
+ JSDOCSymbol* _tmp204_;
+ JSDOCSymbol* _tmp205_;
+ GeeHashMap* _tmp206_;
+ const gchar* _tmp207_;
+ JSDOCSymbol* _tmp208_;
+ GError * _inner_error_ = NULL;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (self != NULL);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (in_lastIdent != NULL);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (atype != NULL);
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = in_lastIdent;
+#line 759 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:759: addSymbol %s", _tmp0_);
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = in_lastIdent;
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = g_strdup (_tmp1_);
+#line 760 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ lastIdent = _tmp2_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = self->priv->currentDoc;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = jsdoc_doc_comment_getTag (_tmp3_, JSDOC_DOC_TAG_TITLE_PRIVATE);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = _tmp4_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp5_);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7_ = _tmp6_;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp8_ = _tmp7_ > 0;
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp5_);
+#line 761 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp8_) {
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 765 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 767 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 5060 "Walker.c"
+ }
+#line 770 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp9_ = self->priv->ts;
+#line 770 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp10_ = jsdoc_token_stream_lookTok (_tmp9_, 0);
+#line 770 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ token = _tmp10_;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11_ = self->priv->currentDoc;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp12_ = jsdoc_doc_comment_getTag (_tmp11_, JSDOC_DOC_TAG_TITLE_EVENT);
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp13_ = _tmp12_;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp14_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp13_);
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp15_ = _tmp14_;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp16_ = _tmp15_ > 0;
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp13_);
+#line 773 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp16_) {
+#line 5084 "Walker.c"
+ JSDOCDocComment* _tmp17_;
+ GeeArrayList* _tmp18_;
+ GeeArrayList* _tmp19_;
+ gpointer _tmp20_;
+ JSDOCDocTag* _tmp21_;
+ const gchar* _tmp22_;
+ gchar* _tmp23_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp17_ = self->priv->currentDoc;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp18_ = jsdoc_doc_comment_getTag (_tmp17_, JSDOC_DOC_TAG_TITLE_EVENT);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp19_ = _tmp18_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) _tmp19_, 0);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp21_ = (JSDOCDocTag*) _tmp20_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp22_ = _tmp21_->desc;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp23_ = g_strconcat ("*", _tmp22_, NULL);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ lastIdent = _tmp23_;
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp21_);
+#line 776 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp19_);
+#line 5114 "Walker.c"
+ }
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp25_ = lastIdent;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp26_ = strlen (_tmp25_);
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp27_ = _tmp26_;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp27_ < 1) {
+#line 5124 "Walker.c"
+ JSDOCDocComment* _tmp28_;
+ GeeArrayList* _tmp29_;
+ GeeArrayList* _tmp30_;
+ gint _tmp31_;
+ gint _tmp32_;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp28_ = self->priv->currentDoc;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp29_ = jsdoc_doc_comment_getTag (_tmp28_, JSDOC_DOC_TAG_TITLE_PROPERTY);
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp30_ = _tmp29_;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp31_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp30_);
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp32_ = _tmp31_;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp24_ = _tmp32_ > 0;
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp30_);
+#line 5144 "Walker.c"
+ } else {
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp24_ = FALSE;
+#line 5148 "Walker.c"
+ }
+#line 779 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp24_) {
+#line 5152 "Walker.c"
+ JSDOCDocComment* _tmp33_;
+ GeeArrayList* _tmp34_;
+ GeeArrayList* _tmp35_;
+ gpointer _tmp36_;
+ JSDOCDocTag* _tmp37_;
+ const gchar* _tmp38_;
+ gchar* _tmp39_;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp33_ = self->priv->currentDoc;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp34_ = jsdoc_doc_comment_getTag (_tmp33_, JSDOC_DOC_TAG_TITLE_PROPERTY);
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp35_ = _tmp34_;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp36_ = gee_abstract_list_get ((GeeAbstractList*) _tmp35_, 0);
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp37_ = (JSDOCDocTag*) _tmp36_;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp38_ = _tmp37_->name;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp39_ = g_strdup (_tmp38_);
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ lastIdent = _tmp39_;
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp37_);
+#line 780 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp35_);
+#line 5182 "Walker.c"
+ }
+#line 784 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp40_ = lastIdent;
+#line 784 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp41_ = g_strdup (_tmp40_);
+#line 784 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp41_;
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp42_ = _s;
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp43_ = g_regex_match (_thread_safe_regex_init (&_tmp_regex_4, "\\.", 0), _tmp42_, 0, NULL);
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp43_) {
+#line 5196 "Walker.c"
+ gchar** s = NULL;
+ gchar** _tmp44_;
+ gint s_length1;
+ gint _s_size_;
+ GeeArrayList* _tmp45_;
+ gint _tmp46_;
+ gint _tmp47_;
+ gchar** _tmp69_;
+ gint _tmp69__length1;
+ const gchar* _tmp70_;
+ gchar* _tmp71_;
+ gchar** _tmp72_;
+ gint _tmp72__length1;
+ gchar* _tmp73_;
+ gchar* _tmp74_;
+ gchar** _tmp75_;
+ gint _tmp75__length1;
+ gchar* _tmp76_;
+ gchar* _tmp77_;
+ gchar** _tmp78_;
+ gchar** _tmp79_;
+ gchar* _t = NULL;
+ gchar* _tmp80_;
+ gchar* _tmp81_;
+ const gchar* _tmp130_ = NULL;
+ gboolean _tmp131_;
+ const gchar* _tmp132_;
+ gboolean _tmp133_ = FALSE;
+ gboolean _tmp134_;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp44_ = g_new0 (gchar*, 0 + 1);
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = _tmp44_;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s_length1 = 0;
+#line 789 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s_size_ = s_length1;
+#line 790 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp45_ = self->priv->scopes;
+#line 790 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp46_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp45_);
+#line 790 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp47_ = _tmp46_;
+#line 790 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:790: Checking Scopes %d", _tmp47_);
+#line 5242 "Walker.c"
+ {
+ gint i = 0;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = 0;
+#line 5247 "Walker.c"
+ {
+ gboolean _tmp48_ = FALSE;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp48_ = TRUE;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 5254 "Walker.c"
+ gint _tmp50_;
+ GeeArrayList* _tmp51_;
+ gint _tmp52_;
+ gint _tmp53_;
+ GeeArrayList* _tmp54_;
+ gint _tmp55_;
+ gpointer _tmp56_;
+ JSDOCScope* _tmp57_;
+ const gchar* _tmp58_;
+ gchar* adds = NULL;
+ GeeArrayList* _tmp59_;
+ gint _tmp60_;
+ gpointer _tmp61_;
+ JSDOCScope* _tmp62_;
+ const gchar* _tmp63_;
+ gchar* _tmp64_;
+ gchar* _tmp65_;
+ gchar** _tmp66_;
+ gint _tmp66__length1;
+ const gchar* _tmp67_;
+ gchar* _tmp68_;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp48_) {
+#line 5278 "Walker.c"
+ gint _tmp49_;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp49_ = i;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = _tmp49_ + 1;
+#line 5284 "Walker.c"
+ }
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp48_ = FALSE;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp50_ = i;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp51_ = self->priv->scopes;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp52_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp51_);
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp53_ = _tmp52_;
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!(_tmp50_ < _tmp53_)) {
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 5300 "Walker.c"
+ }
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp54_ = self->priv->scopes;
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp55_ = i;
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp56_ = gee_abstract_list_get ((GeeAbstractList*) _tmp54_, _tmp55_);
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp57_ = (JSDOCScope*) _tmp56_;
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp58_ = _tmp57_->ident;
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:792: Scope %s", _tmp58_);
+#line 792 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp57_);
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp59_ = self->priv->scopes;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp60_ = i;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp61_ = gee_abstract_list_get ((GeeAbstractList*) _tmp59_, _tmp60_);
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp62_ = (JSDOCScope*) _tmp61_;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp63_ = _tmp62_->ident;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp64_ = g_strdup (_tmp63_);
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp65_ = _tmp64_;
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp62_);
+#line 793 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ adds = _tmp65_;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp66_ = s;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp66__length1 = s_length1;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp67_ = adds;
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp68_ = g_strdup (_tmp67_);
+#line 795 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _vala_array_add5 (&s, &s_length1, &_s_size_, _tmp68_);
+#line 791 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (adds);
+#line 5346 "Walker.c"
+ }
+ }
+ }
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp69_ = s;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp69__length1 = s_length1;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp70_ = lastIdent;
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp71_ = g_strdup (_tmp70_);
+#line 797 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _vala_array_add6 (&s, &s_length1, &_s_size_, _tmp71_);
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp72_ = s;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp72__length1 = s_length1;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp73_ = _vala_g_strjoinv ("', '", _tmp72_, _tmp72__length1);
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp74_ = _tmp73_;
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:799: FULLSCOPE: '%s'", _tmp74_);
+#line 799 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp74_);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp75_ = s;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp75__length1 = s_length1;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp76_ = _vala_g_strjoinv ("|", _tmp75_, _tmp75__length1);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp77_ = _tmp76_;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp79_ = _tmp78_ = g_strsplit (_tmp77_, "|", 0);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = _tmp79_;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s_length1 = _vala_array_length (_tmp78_);
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s_size_ = s_length1;
+#line 802 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp77_);
+#line 805 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp80_ = g_strdup ("");
+#line 805 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _t = _tmp80_;
+#line 806 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp81_ = g_strdup ("");
+#line 806 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 806 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp81_;
+#line 5402 "Walker.c"
+ {
+ gint i = 0;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = 0;
+#line 5407 "Walker.c"
+ {
+ gboolean _tmp82_ = FALSE;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp82_ = TRUE;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 5414 "Walker.c"
+ gint _tmp84_;
+ gchar** _tmp85_;
+ gint _tmp85__length1;
+ gchar** _tmp86_;
+ gint _tmp86__length1;
+ gint _tmp87_;
+ const gchar* _tmp88_;
+ gint _tmp89_;
+ gint _tmp90_;
+ gboolean _tmp91_ = FALSE;
+ gchar** _tmp92_;
+ gint _tmp92__length1;
+ gint _tmp93_;
+ const gchar* _tmp94_;
+ gboolean _tmp99_ = FALSE;
+ gchar** _tmp100_;
+ gint _tmp100__length1;
+ gint _tmp101_;
+ const gchar* _tmp102_;
+ gint _tmp103_;
+ gint _tmp104_;
+ const gchar* _tmp119_ = NULL;
+ const gchar* _tmp120_;
+ gint _tmp121_;
+ gint _tmp122_;
+ const gchar* _tmp123_;
+ gchar* _tmp124_;
+ const gchar* _tmp125_;
+ gchar** _tmp126_;
+ gint _tmp126__length1;
+ gint _tmp127_;
+ const gchar* _tmp128_;
+ gchar* _tmp129_;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp82_) {
+#line 5450 "Walker.c"
+ gint _tmp83_;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp83_ = i;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = _tmp83_ + 1;
+#line 5456 "Walker.c"
+ }
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp82_ = FALSE;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp84_ = i;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp85_ = s;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp85__length1 = s_length1;
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!(_tmp84_ < _tmp85__length1)) {
+#line 809 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 5470 "Walker.c"
+ }
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp86_ = s;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp86__length1 = s_length1;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp87_ = i;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp88_ = _tmp86_[_tmp87_];
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp89_ = strlen (_tmp88_);
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp90_ = _tmp89_;
+#line 811 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp90_ < 1) {
+#line 812 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 5488 "Walker.c"
+ }
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp92_ = s;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp92__length1 = s_length1;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp93_ = i;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp94_ = _tmp92_[_tmp93_];
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (g_strcmp0 (_tmp94_, "$private$") == 0) {
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp91_ = TRUE;
+#line 5502 "Walker.c"
+ } else {
+ gchar** _tmp95_;
+ gint _tmp95__length1;
+ gint _tmp96_;
+ const gchar* _tmp97_;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp95_ = s;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp95__length1 = s_length1;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp96_ = i;
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp97_ = _tmp95_[_tmp96_];
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp91_ = g_strcmp0 (_tmp97_, "$global$") == 0;
+#line 5518 "Walker.c"
+ }
+#line 814 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp91_) {
+#line 5522 "Walker.c"
+ gchar* _tmp98_;
+#line 815 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp98_ = g_strdup ("");
+#line 815 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 815 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp98_;
+#line 816 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 5532 "Walker.c"
+ }
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp100_ = s;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp100__length1 = s_length1;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp101_ = i;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp102_ = _tmp100_[_tmp101_];
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp103_ = strlen (_tmp102_);
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp104_ = _tmp103_;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp104_ > 5) {
+#line 5548 "Walker.c"
+ gchar** _tmp105_;
+ gint _tmp105__length1;
+ gint _tmp106_;
+ const gchar* _tmp107_;
+ gchar* _tmp108_;
+ gchar* _tmp109_;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp105_ = s;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp105__length1 = s_length1;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp106_ = i;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp107_ = _tmp105_[_tmp106_];
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp108_ = string_substring (_tmp107_, (glong) 0, (glong) 6);
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp109_ = _tmp108_;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp99_ = g_strcmp0 (_tmp109_, "$this$") == 0;
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp109_);
+#line 5571 "Walker.c"
+ } else {
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp99_ = FALSE;
+#line 5575 "Walker.c"
+ }
+#line 818 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp99_) {
+#line 5579 "Walker.c"
+ gchar** ts = NULL;
+ gchar** _tmp110_;
+ gint _tmp110__length1;
+ gint _tmp111_;
+ const gchar* _tmp112_;
+ gchar** _tmp113_;
+ gchar** _tmp114_;
+ gint ts_length1;
+ gint _ts_size_;
+ gchar** _tmp115_;
+ gint _tmp115__length1;
+ const gchar* _tmp116_;
+ gchar* _tmp117_;
+ gchar* _tmp118_;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp110_ = s;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp110__length1 = s_length1;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp111_ = i;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp112_ = _tmp110_[_tmp111_];
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp114_ = _tmp113_ = g_strsplit (_tmp112_, "=", 0);
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ts = _tmp114_;
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ts_length1 = _vala_array_length (_tmp113_);
+#line 819 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _ts_size_ = ts_length1;
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp115_ = ts;
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp115__length1 = ts_length1;
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp116_ = _tmp115_[1];
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp117_ = g_strdup (_tmp116_);
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 820 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _t = _tmp117_;
+#line 821 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp118_ = g_strdup ("");
+#line 821 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 821 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp118_;
+#line 822 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ ts = (_vala_array_free (ts, ts_length1, (GDestroyNotify) g_free), NULL);
+#line 822 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ continue;
+#line 5632 "Walker.c"
+ }
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp120_ = _s;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp121_ = strlen (_tmp120_);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp122_ = _tmp121_;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp122_ > 0) {
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp119_ = ".";
+#line 5644 "Walker.c"
+ } else {
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp119_ = "";
+#line 5648 "Walker.c"
+ }
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp123_ = _s;
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp124_ = g_strconcat (_tmp123_, _tmp119_, NULL);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 825 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp124_;
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp125_ = _s;
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp126_ = s;
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp126__length1 = s_length1;
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp127_ = i;
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp128_ = _tmp126_[_tmp127_];
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp129_ = g_strconcat (_tmp125_, _tmp128_, NULL);
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 826 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp129_;
+#line 5674 "Walker.c"
+ }
+ }
+ }
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp131_ = appendIt;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp131_) {
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp130_ = "YES";
+#line 5684 "Walker.c"
+ } else {
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp130_ = "no";
+#line 5688 "Walker.c"
+ }
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp132_ = _s;
+#line 828 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:828: FULLSCOPE: _s=%s (append = %s)", _tmp132_, _tmp130_);
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp134_ = appendIt;
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp134_) {
+#line 5698 "Walker.c"
+ const gchar* _tmp135_;
+ gint _tmp136_;
+ gint _tmp137_;
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp135_ = lastIdent;
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp136_ = strlen (_tmp135_);
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp137_ = _tmp136_;
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp133_ = _tmp137_ < 1;
+#line 5710 "Walker.c"
+ } else {
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp133_ = FALSE;
+#line 5714 "Walker.c"
+ }
+#line 835 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp133_) {
+#line 5718 "Walker.c"
+ JSDOCDocComment* _tmp138_;
+ GeeArrayList* _tmp139_;
+ GeeArrayList* _tmp140_;
+ gint _tmp141_;
+ gint _tmp142_;
+ gboolean _tmp143_;
+ gchar* _tmp161_ = NULL;
+ const gchar* _tmp162_;
+ const gchar* _tmp163_;
+ gint _tmp164_;
+ gint _tmp165_;
+ gchar* _tmp166_;
+ gchar* _tmp167_;
+ GeeHashMap* _tmp168_;
+ const gchar* _tmp169_;
+ gboolean _tmp170_;
+ const gchar* _tmp171_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp138_ = self->priv->currentDoc;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp139_ = jsdoc_doc_comment_getTag (_tmp138_, JSDOC_DOC_TAG_TITLE_CLASS);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp140_ = _tmp139_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp141_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp140_);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp142_ = _tmp141_;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp143_ = _tmp142_ > 0;
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp140_);
+#line 840 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp143_) {
+#line 5752 "Walker.c"
+ JSDOCDocComment* _tmp144_;
+ GeeArrayList* _tmp145_;
+ GeeArrayList* _tmp146_;
+ gpointer _tmp147_;
+ JSDOCDocTag* _tmp148_;
+ const gchar* _tmp149_;
+ gchar* _tmp150_;
+ JSDOCSymbol* symbol = NULL;
+ const gchar* _tmp151_;
+ GeeArrayList* _tmp152_;
+ GeeArrayList* _tmp153_;
+ JSDOCDocComment* _tmp154_;
+ JSDOCSymbol* _tmp155_;
+ JSDOCSymbol* _tmp156_;
+ JSDOCSymbol* _tmp157_;
+ GeeHashMap* _tmp158_;
+ const gchar* _tmp159_;
+ JSDOCSymbol* _tmp160_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp144_ = self->priv->currentDoc;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp145_ = jsdoc_doc_comment_getTag (_tmp144_, JSDOC_DOC_TAG_TITLE_CLASS);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp146_ = _tmp145_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp147_ = gee_abstract_list_get ((GeeAbstractList*) _tmp146_, 0);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp148_ = (JSDOCDocTag*) _tmp147_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp149_ = _tmp148_->desc;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp150_ = g_strdup (_tmp149_);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp150_;
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp148_);
+#line 841 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp146_);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp151_ = _s;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp152_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp153_ = _tmp152_;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp154_ = self->priv->currentDoc;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp155_ = jsdoc_symbol_new_new_populate_with_args (_tmp151_, _tmp153_, "CONSTRUCTOR", _tmp154_);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp156_ = _tmp155_;
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp153_);
+#line 842 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ symbol = _tmp156_;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp157_ = symbol;
+#line 845 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_doc_parser_addSymbol (_tmp157_);
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp158_ = self->priv->symbols;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp159_ = _s;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp160_ = symbol;
+#line 846 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp158_, _tmp159_, _tmp160_);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (symbol);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 847 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 5835 "Walker.c"
+ }
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp162_ = _s;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp163_ = _s;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp164_ = strlen (_tmp163_);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp165_ = _tmp164_;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp166_ = g_regex_replace (_thread_safe_regex_init (&_tmp_regex_5, "\\.prototype.*$", 0), _tmp162_, (gssize) _tmp165_, 0, "", 0, &_inner_error_);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp161_ = _tmp166_;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (G_UNLIKELY (_inner_error_ != NULL)) {
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_clear_error (&_inner_error_);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 5867 "Walker.c"
+ }
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp167_ = _tmp161_;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp161_ = NULL;
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 855 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s = _tmp167_;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp168_ = self->priv->symbols;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp169_ = _s;
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp170_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp168_, _tmp169_);
+#line 857 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp170_) {
+#line 866 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 866 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp161_);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 867 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 5903 "Walker.c"
+ }
+#line 870 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp171_ = _s;
+#line 870 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_debug ("Walker.vala:870: add to symbol _s=%s ", _tmp171_);
+#line 5909 "Walker.c"
+ {
+ gint i = 0;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = 0;
+#line 5914 "Walker.c"
+ {
+ gboolean _tmp172_ = FALSE;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp172_ = TRUE;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 5921 "Walker.c"
+ gint _tmp174_;
+ JSDOCDocComment* _tmp175_;
+ GeeArrayList* _tmp176_;
+ gint _tmp177_;
+ gint _tmp178_;
+ GeeHashMap* _tmp179_;
+ const gchar* _tmp180_;
+ gpointer _tmp181_;
+ JSDOCSymbol* _tmp182_;
+ JSDOCDocComment* _tmp183_;
+ GeeArrayList* _tmp184_;
+ gint _tmp185_;
+ gpointer _tmp186_;
+ JSDOCDocTag* _tmp187_;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp172_) {
+#line 5938 "Walker.c"
+ gint _tmp173_;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp173_ = i;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = _tmp173_ + 1;
+#line 5944 "Walker.c"
+ }
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp172_ = FALSE;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp174_ = i;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp175_ = self->priv->currentDoc;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp176_ = _tmp175_->tags;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp177_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp176_);
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp178_ = _tmp177_;
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!(_tmp174_ < _tmp178_)) {
+#line 871 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 5962 "Walker.c"
+ }
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp179_ = self->priv->symbols;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp180_ = _s;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp181_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp179_, _tmp180_);
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp182_ = (JSDOCSymbol*) _tmp181_;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp183_ = self->priv->currentDoc;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp184_ = _tmp183_->tags;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp185_ = i;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp186_ = gee_abstract_list_get ((GeeAbstractList*) _tmp184_, _tmp185_);
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp187_ = (JSDOCDocTag*) _tmp186_;
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_symbol_addDocTag (_tmp182_, _tmp187_);
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp187_);
+#line 872 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp182_);
+#line 5988 "Walker.c"
+ }
+ }
+ }
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 874 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_tmp161_);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 875 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 6010 "Walker.c"
+ }
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_t);
+#line 785 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 6016 "Walker.c"
+ }
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp188_ = self->priv->symbols;
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp189_ = _s;
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp190_ = gee_abstract_map_has_key ((GeeAbstractMap*) _tmp188_, _tmp189_);
+#line 879 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp190_) {
+#line 6026 "Walker.c"
+ GeeHashMap* _tmp191_;
+ const gchar* _tmp192_;
+ gpointer _tmp193_;
+ JSDOCSymbol* _tmp194_;
+ JSDOCDocComment* _tmp195_;
+ gboolean _tmp196_;
+ gboolean _tmp197_;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp191_ = self->priv->symbols;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp192_ = _s;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp193_ = gee_abstract_map_get ((GeeAbstractMap*) _tmp191_, _tmp192_);
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp194_ = (JSDOCSymbol*) _tmp193_;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp195_ = _tmp194_->comment;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp196_ = _tmp195_->hasTags;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp197_ = _tmp196_;
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp194_);
+#line 881 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (_tmp197_) {
+#line 887 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 887 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 887 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 887 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return;
+#line 6060 "Walker.c"
+ }
+ }
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp198_ = _s;
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp199_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL);
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp200_ = _tmp199_;
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp201_ = atype;
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp202_ = self->priv->currentDoc;
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp203_ = jsdoc_symbol_new_new_populate_with_args (_tmp198_, _tmp200_, _tmp201_, _tmp202_);
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp204_ = _tmp203_;
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp200_);
+#line 899 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ symbol = _tmp204_;
+#line 902 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp205_ = symbol;
+#line 902 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_doc_parser_addSymbol (_tmp205_);
+#line 903 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp206_ = self->priv->symbols;
+#line 903 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp207_ = _s;
+#line 903 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp208_ = symbol;
+#line 903 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_map_set ((GeeAbstractMap*) _tmp206_, _tmp207_, _tmp208_);
+#line 905 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 905 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (symbol);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (_s);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (token);
+#line 756 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_free0 (lastIdent);
+#line 6105 "Walker.c"
+}
+
+
+static void jsdoc_walker_scopesIn (JSDOCWalker* self, JSDOCScope* s) {
+ GeeArrayList* _tmp0_;
+ JSDOCScope* _tmp1_;
+#line 912 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (self != NULL);
+#line 912 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_if_fail (s != NULL);
+#line 914 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = self->priv->scopes;
+#line 914 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = s;
+#line 914 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ gee_abstract_collection_add ((GeeAbstractCollection*) _tmp0_, _tmp1_);
+#line 6122 "Walker.c"
+}
+
+
+static JSDOCScope* jsdoc_walker_scopeOut (JSDOCWalker* self) {
+ JSDOCScope* result = NULL;
+ GeeArrayList* _tmp0_;
+ GeeArrayList* _tmp1_;
+ gint _tmp2_;
+ gint _tmp3_;
+ gpointer _tmp4_;
+#line 918 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = self->priv->scopes;
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = self->priv->scopes;
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp1_);
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = _tmp2_;
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = gee_abstract_list_remove_at ((GeeAbstractList*) _tmp0_, _tmp3_ - 1);
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ result = (JSDOCScope*) _tmp4_;
+#line 922 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return result;
+#line 6149 "Walker.c"
+}
+
+
+static void _vala_array_add7 (gchar** * array, int* length, int* size, gchar* value) {
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if ((*length) == (*size)) {
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *size = (*size) ? (2 * (*size)) : 4;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ *array = g_renew (gchar*, *array, (*size) + 1);
+#line 6160 "Walker.c"
+ }
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[(*length)++] = value;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ (*array)[*length] = NULL;
+#line 6166 "Walker.c"
+}
+
+
+static gchar* jsdoc_walker_scopeListToStr (JSDOCWalker* self) {
+ gchar* result = NULL;
+ gchar** s = NULL;
+ gchar** _tmp0_;
+ gint s_length1;
+ gint _s_size_;
+ gchar** _tmp14_;
+ gint _tmp14__length1;
+ gchar* _tmp15_;
+#line 926 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_return_val_if_fail (self != NULL, NULL);
+#line 928 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp0_ = g_new0 (gchar*, 0 + 1);
+#line 928 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = _tmp0_;
+#line 928 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s_length1 = 0;
+#line 928 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _s_size_ = s_length1;
+#line 6189 "Walker.c"
+ {
+ gint i = 0;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = 0;
+#line 6194 "Walker.c"
+ {
+ gboolean _tmp1_ = FALSE;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = TRUE;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ while (TRUE) {
+#line 6201 "Walker.c"
+ gint _tmp3_;
+ GeeArrayList* _tmp4_;
+ gint _tmp5_;
+ gint _tmp6_;
+ gchar** _tmp7_;
+ gint _tmp7__length1;
+ GeeArrayList* _tmp8_;
+ gint _tmp9_;
+ gpointer _tmp10_;
+ JSDOCScope* _tmp11_;
+ const gchar* _tmp12_;
+ gchar* _tmp13_;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!_tmp1_) {
+#line 6216 "Walker.c"
+ gint _tmp2_;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp2_ = i;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ i = _tmp2_ + 1;
+#line 6222 "Walker.c"
+ }
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp1_ = FALSE;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp3_ = i;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp4_ = self->priv->scopes;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp5_ = gee_abstract_collection_get_size ((GeeAbstractCollection*) _tmp4_);
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp6_ = _tmp5_;
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ if (!(_tmp3_ < _tmp6_)) {
+#line 929 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ break;
+#line 6238 "Walker.c"
+ }
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7_ = s;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp7__length1 = s_length1;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp8_ = self->priv->scopes;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp9_ = i;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) _tmp8_, _tmp9_);
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp11_ = (JSDOCScope*) _tmp10_;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp12_ = _tmp11_->ident;
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp13_ = g_strdup (_tmp12_);
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _vala_array_add7 (&s, &s_length1, &_s_size_, _tmp13_);
+#line 930 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (_tmp11_);
+#line 6260 "Walker.c"
+ }
+ }
+ }
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp14_ = s;
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp14__length1 = s_length1;
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _tmp15_ = _vala_g_strjoinv ("\n\t", _tmp14_, _tmp14__length1);
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ result = _tmp15_;
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ s = (_vala_array_free (s, s_length1, (GDestroyNotify) g_free), NULL);
+#line 932 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ return result;
+#line 6276 "Walker.c"
+}
+
+
+static void jsdoc_walker_class_init (JSDOCWalkerClass * klass) {
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ jsdoc_walker_parent_class = g_type_class_peek_parent (klass);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ g_type_class_add_private (klass, sizeof (JSDOCWalkerPrivate));
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ G_OBJECT_CLASS (klass)->finalize = jsdoc_walker_finalize;
+#line 6287 "Walker.c"
+}
+
+
+static void jsdoc_walker_instance_init (JSDOCWalker * self) {
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv = JSDOC_WALKER_GET_PRIVATE (self);
+#line 21 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->global = FALSE;
+#line 22 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->mode = JSDOC_WALKER_MODE_XXX;
+#line 23 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->braceNesting = 0;
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->currentDoc = NULL;
+#line 27 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self->priv->munge = TRUE;
+#line 6304 "Walker.c"
+}
+
+
+static void jsdoc_walker_finalize (GObject * obj) {
+ JSDOCWalker * self;
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ self = G_TYPE_CHECK_INSTANCE_CAST (obj, JSDOC_TYPE_WALKER, JSDOCWalker);
+#line 13 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->ts);
+#line 14 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->warnings);
+#line 15 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->scopes);
+#line 16 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->indexedScopes);
+#line 17 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->symbols);
+#line 18 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->aliases);
+#line 19 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->globalScope);
+#line 25 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ _g_object_unref0 (self->priv->currentDoc);
+#line 11 "/home/alan/gitlive/roojspacker/src/jsdoc/Walker.vala"
+ G_OBJECT_CLASS (jsdoc_walker_parent_class)->finalize (obj);
+#line 6330 "Walker.c"
+}
+
+
+GType jsdoc_walker_get_type (void) {
+ static volatile gsize jsdoc_walker_type_id__volatile = 0;
+ if (g_once_init_enter (&jsdoc_walker_type_id__volatile)) {
+ static const GTypeInfo g_define_type_info = { sizeof (JSDOCWalkerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) jsdoc_walker_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (JSDOCWalker), 0, (GInstanceInitFunc) jsdoc_walker_instance_init, NULL };
+ GType jsdoc_walker_type_id;
+ jsdoc_walker_type_id = g_type_register_static (G_TYPE_OBJECT, "JSDOCWalker", &g_define_type_info, 0);
+ g_once_init_leave (&jsdoc_walker_type_id__volatile, jsdoc_walker_type_id);
+ }
+ return jsdoc_walker_type_id__volatile;
+}
+
+
+static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ if ((array != NULL) && (destroy_func != NULL)) {
+ int i;
+ for (i = 0; i < array_length; i = i + 1) {
+ if (((gpointer*) array)[i] != NULL) {
+ destroy_func (((gpointer*) array)[i]);
+ }
+ }
+ }
+}
+
+
+static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func) {
+ _vala_array_destroy (array, array_length, destroy_func);
+ g_free (array);
+}
+
+
+static gint _vala_array_length (gpointer array) {
+ int length;
+ length = 0;
+ if (array) {
+ while (((gpointer*) array)[length]) {
+ length++;
+ }
+ }
+ return length;
+}
+
+
+
--- /dev/null
+// this walks through the code, and tries to find patterns that match documentable elements..
+
+
+namespace JSDOC {
+
+ enum WalkerMode {
+ BUILDING_SYMBOL_TREE,
+ XXX
+ }
+
+ public class Walker : Object
+ {
+ TokenStream ts;
+ Gee.ArrayList<string> warnings;
+ Gee.ArrayList<Scope> scopes;
+ Gee.HashMap<int,Scope> indexedScopes;
+ Gee.HashMap<string,Symbol> symbols;
+ Gee.HashMap<string,string> aliases;
+ Scope globalScope;
+
+ bool global = false;
+ WalkerMode mode = WalkerMode.XXX; //"BUILDING_SYMBOL_TREE",
+ int braceNesting = 0;
+
+ DocComment? currentDoc = null;
+
+ bool munge = true;
+
+ public Walker(TokenStream ts)
+ {
+ this.ts = ts;
+ this.warnings= new Gee.ArrayList<string>();
+ this.scopes = new Gee.ArrayList<Scope>();
+ this.indexedScopes = new Gee.HashMap<int,Scope>();
+ this.symbols = new Gee.HashMap<string,Symbol>();
+ this.aliases = new Gee.HashMap<string,string>();
+ this.braceNesting = 0;
+ }
+
+ //warn: function(s) {
+ //this.warnings.push(s);
+ // print("WARNING:" + htmlescape(s) + "<BR>");
+ //},
+ // defaults should not be initialized here =- otherwise they get duped on new, rather than initalized..
+
+
+
+
+
+
+ public void buildSymbolTree()
+ {
+ //print("<PRE>");
+
+ this.ts.rewind();
+ this.braceNesting = 0;
+ this.scopes = new Gee.ArrayList<Scope>();;
+ this.aliases = new Gee.HashMap<string,string>();
+
+ this.globalScope = new Scope(-1, null, -1, "$global$", null);
+ this.indexedScopes = new Gee.HashMap<int,Scope>();
+ this.indexedScopes.set( 0, this.globalScope );
+
+ this.mode = WalkerMode.BUILDING_SYMBOL_TREE;
+ this.parseScope(this.globalScope,this.emptyAlias());
+
+ }
+ Gee.HashMap<string,string> emptyAlias()
+ {
+ return new Gee.HashMap<string,string> ();
+ }
+
+
+
+ string fixAlias (Gee.HashMap<string,string>aliases, string str, bool nomore = false)
+ {
+ var ar = str.split(".");
+ var m = ar[0];
+
+ //print(str +"?=" +aliases.toSource());
+ if (!aliases.has_key(m)) {
+ return str;
+ }
+ ar[0] = aliases.get(m);
+
+ var ret = string.joinv(".", ar);
+ if (nomore != true) {
+ ret = this.fixAlias(aliases, ret, true);
+ }
+
+
+ return ret;
+ }
+
+
+
+ void parseScope (Scope in_scope, Gee.HashMap<string,string> ealiases) // parse a token stream..
+ {
+ //this.timerPrint("parseScope EnterScope");
+
+ var scope = in_scope;
+
+ var aliases = new Gee.HashMap<string,string>();
+
+ foreach(var i in ealiases.keys) {
+ aliases.set(i, ealiases.get(i));
+ }
+
+ //print("STARTING SCOPE WITH: " + ealiases.toSource());
+
+ var expressionBraceNesting = this.braceNesting;
+ var bracketNesting = 0;
+ var parensNesting = 0;
+
+
+ var l1 = "", l2 = "";
+ var scopeName = "";
+
+
+ var locBraceNest = 0;
+ // determines if we are in object literals...
+
+ var isObjectLitAr = new Gee.ArrayList<bool>();
+ isObjectLitAr.add(false);
+ //print("SCOPE: ------------------START ----------------");
+
+ this.scopesIn(scope);
+ var scopeLen = this.scopes.size;
+
+ if (this.ts.cursor < 1) {
+ // this.ts.cursor--; // hopeflly this kludge will work
+ }
+
+
+ //print(JSON.stringify(this.ts, null, 4)); Seed.quit();
+ Token token;
+ while (null != ( token = this.ts.next())) {
+ //GLib.debug("TOK %s", token.asString());
+ // this.timerPrint("parseScope AFTER lookT: " + token.toString());
+
+ if (token.isType(TokenType.COMM)) {
+
+
+ if (!token.isName(TokenName.JSDOC)) {
+ //print("Walker2 : spce is not JSDOC");
+ continue; //skip.
+ }
+ if (this.currentDoc != null) {
+ // add it to the current scope????
+
+ this.addSymbol("", true);
+ //print ( "Unconsumed Doc: " + token.toString())
+ //throw "Unconsumed Doc (TOKwhitespace): " + this.currentDoc.toSource();
+ }
+
+ // print ( "NEW COMMENT: " + token.toString())
+ var newDoc = new DocComment(token.data);
+
+ // it"s a scope changer..
+
+ if (newDoc.getTag(DocTagTitle.SCOPE).size > 0) {
+ //print("Walker2 : doctag changes scope");
+ //throw "done";
+ scope.ident = "$private$|" + newDoc.getTag(DocTagTitle.SCOPE).get(0).desc;
+ continue;
+ }
+
+ // it"s a scope changer..
+ if (newDoc.getTag(DocTagTitle.SCOPEALIAS).size > 0) {
+ //print(newDoc.getTag("scopeAlias").toSource());
+ // @scopeAlias a=b
+ //print("Walker2 : doctag changes scope (alias)");
+ var sal = newDoc.getTag(DocTagTitle.SCOPEALIAS).get(0).desc.split("=");
+ aliases[sal[0].strip()] = sal[1].strip();
+
+ continue;
+ }
+
+
+ /// got a doc comment..
+ //token.data might be this.??? (not sure though)
+ //print("Walker2 : setting currentDoc");
+ this.currentDoc = newDoc;
+ continue;
+ }
+
+ // catch the various issues .. - scoe changes or doc actions..
+
+
+
+ // things that stop comments carrying on...??
+
+ if (this.currentDoc != null && (
+ token.data == ";" ||
+ token.data == "}")) {
+ this.addSymbol("", true);
+ //throw "Unconsumed Doc ("+ token.toString() +"): " + this.currentDoc.toSource();
+ }
+
+
+ // the rest are scoping issues...
+
+ // var a = b;
+
+ if (token.isName(TokenName.VAR) &&
+
+ this.ts.lookTok(1).isType(TokenType.NAME) &&
+ this.ts.lookTok(2).data == "=" &&
+ this.ts.lookTok(3).isType(TokenType.NAME) &&
+ this.ts.lookTok(4).data == ";"
+
+
+ ) {
+ //print("SET ALIAS:" + this.ts.lookTok(1).data +"=" + this.ts.lookTok(3).data);
+
+ aliases.set(this.ts.lookTok(1).data, this.ts.lookTok(3).data);
+
+ }
+
+ if ((token.data == "eval") || /\.eval$/.match(token.data)) {
+ this.currentDoc = null;
+ continue;
+ }
+
+ // extends scoping *** not sure if the can be x = Roo.apply(....)
+ // xxx.extends(a,b, {
+ // $this$=b|b.prototype
+ // xxx.apply(a, {
+ // a << scope
+ // xxx.applyIf(a, {
+ // a << scope
+ if (token.isType(TokenType.NAME) ) {
+
+ //print("TOK(ident)"+ token.toString());
+
+ if (/\.extend$/.match(token.data) &&
+ this.ts.lookTok(1).data == "(" &&
+ this.ts.lookTok(2).isType(TokenType.NAME) &&
+ this.ts.lookTok(3).data == "," &&
+ this.ts.lookTok(4).isType(TokenType.NAME) &&
+ this.ts.lookTok(5).data == "," &&
+ this.ts.lookTok(6).data == "{"
+
+ ) {
+ // ignore test for ( a and ,
+ this.ts.nextTok(); /// (
+ token = this.ts.nextTok(); // a
+ scopeName = token.data;
+
+ if (this.currentDoc != null) {
+ this.addSymbol(scopeName,false,"OBJECT");
+
+ }
+ this.ts.nextTok(); // ,
+ this.ts.nextTok(); // b
+
+
+ this.ts.nextTok(); // ,
+ token = this.ts.nextTok(); // {
+
+ scopeName = this.fixAlias(aliases, scopeName);
+
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$this$=" + scopeName + "|"+scopeName+".prototype", null
+ );
+
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+ }
+
+ // a = Roo.extend(parentname, {
+
+ if (/\.extend$/.match(token.data) &&
+ this.ts.lookTok(-2).isType(TokenType.NAME) &&
+ this.ts.lookTok(-1).data == "=" &&
+ this.ts.lookTok(1).data == "(" &&
+ this.ts.lookTok(2).isType(TokenType.NAME) &&
+ this.ts.lookTok(3).data == "," &&
+ this.ts.lookTok(4).data == "{"
+ ) {
+ // ignore test for ( a and ,
+ token = this.ts.lookTok(-2);
+ scopeName = token.data;
+ if (this.currentDoc != null) {
+ this.addSymbol(scopeName,false,"OBJECT");
+
+ }
+ this.ts.nextTok(); /// (
+ this.ts.nextTok(); // parent
+
+ this.ts.nextTok(); // ,
+ token = this.ts.nextTok(); // {
+
+
+ scopeName = this.fixAlias(aliases,scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$this$=" + scopeName + "|"+scopeName+".prototype",
+ null
+ );
+
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+ }
+
+
+ // apply ( XXXX, {
+ /*
+ print(JSON.stringify([
+ token.data,
+ this.ts.lookTok(1).data ,
+ this.ts.lookTok(2).type ,
+ this.ts.lookTok(3).data ,
+ this.ts.lookTok(4).data
+ ], null, 4));
+ */
+
+ if (/\.(applyIf|apply)$/.match(token.data) &&
+ this.ts.lookTok(1).data == "(" &&
+ this.ts.lookTok(2).isType(TokenType.NAME) &&
+ this.ts.lookTok(3).data == "," &&
+ this.ts.lookTok(4).data == "{"
+
+ ) {
+ this.ts.nextTok(); /// (
+
+ //print("GOT : applyIF!");
+
+ token = this.ts.nextTok(); // b
+ scopeName = token.data;
+
+
+ if (this.currentDoc != null) {
+ this.addSymbol(scopeName,false,"OBJECT");
+ }
+
+
+
+ this.ts.nextTok(); /// ,
+ this.ts.nextTok(); // {
+ scopeName = this.fixAlias(aliases,scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ scopeName, null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+ }
+
+
+ // xxx = new yyy ( {
+
+ // change scope to xxxx
+ /*
+ print(JSON.stringify([
+ this.ts.lookTok(1).data ,
+ this.ts.lookTok(2).name ,
+ this.ts.lookTok(3).type ,
+ this.ts.lookTok(4).data ,
+ this.ts.lookTok(5).data
+ ], null, 4));
+ */
+ if ( this.ts.lookTok(1).data == "=" &&
+ this.ts.lookTok(2).isName(TokenName.NEW) &&
+ this.ts.lookTok(3).isType(TokenType.NAME)&&
+ this.ts.lookTok(4).data == "(" &&
+ this.ts.lookTok(5).data == "{"
+ ) {
+ scopeName = token.data;
+ if (this.currentDoc != null) {
+ this.addSymbol(scopeName,false,"OBJECT");
+
+ }
+
+ this.ts.nextTok(); /// =
+ this.ts.nextTok(); /// new
+ this.ts.nextTok(); /// yyy
+ this.ts.nextTok(); /// (
+ this.ts.nextTok(); /// {
+
+ scopeName = this.fixAlias(aliases,scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ scopeName,null
+ );
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+
+ continue; // no more processing..
+ }
+
+
+
+
+
+
+
+ // eval can be prefixed with a hint hider for the compresser..
+
+
+ if (this.currentDoc != null) {
+ //print(token.toString());
+
+ // ident : function ()
+ // ident = function ()
+ var atype = "OBJECT";
+
+ if (((this.ts.lookTok(1).data == ":" )|| (this.ts.lookTok(1).data == "=")) &&
+ (this.ts.lookTok(2).isName(TokenName.FUNCTION))
+ ) {
+ // this.ts.nextTok();
+ // this.ts.nextTok();
+ atype = "FUNCTION";
+ }
+
+ //print("ADD SYM:" + atype + ":" + token.toString() + this.ts.lookTok(1).toString() + this.ts.lookTok(2).toString());
+
+ this.addSymbol(
+ this.ts.lookTok(-1).data == "." ? token.data : this.fixAlias(aliases,token.data),
+ false,
+ atype);
+
+
+ this.currentDoc = null;
+
+
+
+
+
+
+ }
+
+
+ continue; // dont care about other idents..
+
+ }
+
+ //print ("NOT NAME");
+
+
+ if (token.isType(TokenType.STRN)) { // THIS WILL NOT HAPPEN HERE?!!?
+ if (this.currentDoc != null) {
+ this.addSymbol(token.data.substring(1,token.data.length-1),false,"OBJECT");
+ }
+ }
+
+ // really we only have to deal with object constructs and function calls that change the scope...
+
+
+ if (token.isName(TokenName.FUNCTION)) {
+ //print("GOT FUNCTION");
+ // see if we have an unconsumed doc...
+
+ if (this.currentDoc != null) {
+ GLib.error("Unhandled doc (TOKfunction) %s", token.asString());
+ }
+
+
+
+
+
+ /// foo = function() {} << really it set"s the "this" scope to foo.prototype
+ //$this$=foo.prototype|$private$|foo.prototype
+
+ if (
+ (this.ts.lookTok(-1).data == "=") &&
+ (this.ts.lookTok(-2).isType(TokenType.NAME))
+ ) {
+ scopeName = this.ts.lookTok(-2).data;
+ this.ts.balance(TokenName.LEFT_PAREN);
+ token = this.ts.nextTok(); // should be {
+ //print("FOO=FUNCITON() {}" + this.ts.context() + "\n" + token.toString());
+
+
+ scopeName = this.fixAlias(aliases, scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$this$="+scopeName+".prototype|$private$|"+scopeName+".prototype",
+ null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ //scope = fnScope;
+ //this.scopesIn(fnScope);
+ this.parseScope(fnScope, aliases);
+
+
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+
+ }
+
+
+ // foo = new function() {}
+ // is this actually used much!?!?!
+ //$private$
+
+ if (
+ (this.ts.lookTok(-1).isName(TokenName.NEW)) &&
+ (this.ts.lookTok(-2).data == "=") &&
+ (this.ts.lookTok(-3).isName(TokenName.FUNCTION))
+ ) {
+ //scopeName = this.ts.look(-3).data;
+ this.ts.balance(TokenName.LEFT_PAREN);
+ token = this.ts.nextTok(); // should be {
+ scopeName = this.fixAlias(aliases, scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$private$",null
+ );
+
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ //scope = fnScope;
+ //this.scopesIn(fnScope);
+ this.parseScope(fnScope, aliases);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+
+ }
+
+
+ ///==== check/set isObjectLitAr ??
+
+
+ // foo: function() {}
+ // no change to scoping..
+
+ //print("checking for : function() {");
+ //print( [this.ts.lookTok(-3).type , this.ts.lookTok(-2).type , this.ts.lookTok(-1).type ].join(":"));
+ if (
+ (this.ts.lookTok(-1).data == ":") &&
+ (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+ (this.ts.lookTok(-3).data == "(" || this.ts.lookTok(-3).data== ",")
+ ) {
+ //print("got for : function() {");
+
+ //scopeName = this.ts.look(-3).data;
+ this.ts.balance(TokenName.LEFT_PAREN);
+ //print(token.toString())
+ token = this.ts.nextTok(); // should be {
+ //print(token.toString())
+
+ scopeName = this.fixAlias(aliases, scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "", null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ //scope = fnScope;
+ //this.scopesIn(fnScope);
+ this.parseScope(fnScope, aliases);
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+ }
+ /// function foo() {} << really it set"s the "this" scope to foo.prototype
+ //$this$=foo|$private$
+ //$this$=foo
+
+ if (
+ (this.ts.lookTok(1).isType(TokenType.NAME))
+ ) {
+ //scopeName = this.ts.look(-3).data;
+ this.ts.balance(TokenName.LEFT_PAREN);
+ token = this.ts.nextTok(); // should be {
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "", null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ //scope = fnScope;
+ //this.scopesIn(fnScope);
+ this.parseScope(fnScope, aliases);
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+ }
+
+
+ // foo = new (function() { }
+ // (function() { }
+ // RETURN function(...) {
+
+ if (
+ // (this.ts.lookTok(-1).tokN == Script.TOKlparen) &&
+ (!this.ts.lookTok(1).isType(TokenType.NAME))
+
+ // (this.ts.lookTok(-2).tokN == Script.TOKnew) &&
+ // (this.ts.lookTok(-3).tokN == Script.TOKassign) &&
+ // (this.ts.lookTok(-4).tokN == Script.TOKidentifier)
+ ) {
+ //scopeName = this.ts.look(-3).data;
+ this.ts.balance(TokenName.LEFT_PAREN);
+ token = this.ts.nextTok(); // should be {
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$private$",null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ //scope = ;
+ //this.scopesIn(fnScope);
+ this.parseScope(fnScope, aliases);
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+
+
+ }
+
+ GLib.error( "dont know how to handle function syntax??\n %s" +
+ token.asString());
+
+
+
+ continue;
+
+
+
+
+ } // end checking for TOKfunction
+
+ if (token.data == "{") {
+
+ // foo = { // !var!!!
+ //$this$=foo|Foo
+
+
+ if (
+ (this.ts.lookTok(-1).data == "=") &&
+ (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+ (!this.ts.lookTok(-3).isName(TokenName.VAR))
+ ) {
+
+ scopeName = this.ts.lookTok(-2).data;
+ //print(scopeName);
+ scopeName = this.fixAlias(aliases, scopeName);
+ GLib.debug("got %s = {", scopeName);
+
+ //print(this.scopes.length);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "$this$=" + scopeName +"|"+scopeName, null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ // push the same scope onto the stack..
+ this.scopesIn(fnScope);
+ //this.scopesIn(this.scopes[this.scopes.length-1]);
+
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+ }
+ // foo : {
+ // ?? add |foo| ????
+
+ //print("GOT LBRACE : check for :");
+ if (
+ (this.ts.lookTok(-1).data == ":") &&
+ (this.ts.lookTok(-2).isType(TokenType.NAME)) &&
+ (!this.ts.lookTok(-3).isName(TokenName.VAR))
+ ) {
+
+ scopeName = this.ts.lookTok(-2).data;
+ scopeName = this.fixAlias(aliases, scopeName);
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ scopeName, null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue; // no more processing..
+ }
+ var fnScope = new Scope(this.braceNesting, scope, token.id, // was token.n?
+ "", null
+ );
+
+ this.indexedScopes.set(this.ts.cursor, fnScope);
+ scope = fnScope;
+ this.scopesIn(fnScope);
+
+ locBraceNest++;
+ //print(">>" +locBraceNest);
+ continue;
+
+ }
+ if (token.data == "}") {
+
+
+ if (this.currentDoc != null) {
+ this.addSymbol("", true);
+
+ //throw "Unconsumed Doc: (TOKrbrace)" + this.currentDoc.toSource();
+ }
+
+
+ locBraceNest--;
+
+ //assert braceNesting >= scope.getBraceNesting();
+ var closescope = this.scopeOut();
+
+ scope = this.scopes.get(this.scopes.size-1);
+
+ //print("<<:" + locBraceNest)
+ //print("<<<<<< " + locBraceNest );
+ if (locBraceNest < 0) {
+ // print("POPED OF END OF SCOPE!");
+ ///this.scopeOut();
+ //var ls = this.scopeOut();
+ //ls.getUsedSymbols();
+ return;
+ }
+ continue;
+ }
+
+
+ }
+
+
+ }
+
+
+ void addSymbol(string in_lastIdent, bool appendIt = false, string atype = "OBJECT")
+ {
+
+ GLib.debug("addSymbol %s", in_lastIdent);
+ var lastIdent = in_lastIdent;
+ if (this.currentDoc.getTag(DocTagTitle.PRIVATE).size > 0) {
+
+
+ //print(this.currentDoc.toSource());
+ this.currentDoc = null;
+ //print("SKIP ADD SYM: it"s private");
+ return;
+ }
+
+ var token = this.ts.lookTok(0);
+
+ // print(this.currentDoc.toSource(););
+ if (this.currentDoc.getTag(DocTagTitle.EVENT).size > 0) {
+ //?? why does it end up in desc - and not name/...
+ //print(this.currentDoc.getTag("event")[0]);
+ lastIdent = "*" + this.currentDoc.getTag(DocTagTitle.EVENT).get(0).desc;
+ //lastIdent = "*" + lastIdent ;
+ }
+ if (lastIdent.length < 1 && this.currentDoc.getTag(DocTagTitle.PROPERTY).size > 0) {
+ lastIdent = this.currentDoc.getTag(DocTagTitle.PROPERTY).get(0).name;
+ //lastIdent = "*" + lastIdent ;
+ }
+
+ var _s = lastIdent;
+ if (!/\./.match(_s)) {
+
+ //print("WALKER ADDsymbol: " + lastIdent);
+
+ string[] s = {};
+ GLib.debug("Checking Scopes %d", this.scopes.size);
+ for (var i = 0; i < this.scopes.size;i++) {
+ GLib.debug("Scope %s", this.scopes.get(i).ident);
+ var adds = this.scopes.get(i).ident;
+
+ s = s + adds;
+ }
+ s += lastIdent;
+
+ GLib.debug("FULLSCOPE: '%s'" , string.joinv("', '", s));
+
+
+ s = string.joinv("|", s).split("|");
+ //print("FULLSCOPE: " + s);
+ // print("Walker:ADDSymbol: " + s.join("|") );
+ var _t = "";
+ _s = "";
+
+ /// fixme - needs
+ for (var i = 0; i < s.length;i++) {
+
+ if (s[i].length < 1) {
+ continue;
+ }
+ if ((s[i] == "$private$") || (s[i] == "$global$")) {
+ _s = "";
+ continue;
+ }
+ if (s[i].length > 5 && s[i].substring(0,6) == "$this$") {
+ var ts = s[i].split("=");
+ _t = ts[1];
+ _s = ""; // ??? VERY QUESTIONABLE!!!
+ continue;
+ }
+ // when to use $this$ (probabl for events)
+ _s += _s.length > 0 ? "." : "";
+ _s += s[i];
+ }
+ GLib.debug("FULLSCOPE: _s=%s (append = %s)" , _s, appendIt? "YES": "no");
+
+ /// calc scope!!
+ //print("ADDING SYMBOL: "+ s.join("|") +"\n"+ _s + "\n" +Script.prettyDump(this.currentDoc.toSource()));
+ //print("Walker.addsymbol - add : " + _s);
+
+
+ if (appendIt && lastIdent.length < 1) {
+
+ // append, and no symbol???
+
+ // see if it"s a @class
+ if (this.currentDoc.getTag(DocTagTitle.CLASS).size > 0) {
+ _s = this.currentDoc.getTag(DocTagTitle.CLASS).get(0).desc;
+ var symbol = new Symbol.new_populate_with_args(_s, new Gee.ArrayList<string>(),
+ "CONSTRUCTOR", this.currentDoc);
+
+ DocParser.addSymbol(symbol);
+ this.symbols[_s] = symbol;
+ return;
+ }
+
+ // if (this.currentDoc.getTag("property").length) {
+ // print(Script.pretStringtyDump(this.currentDoc.toSource));
+ // throw "Add Prop?";
+ //}
+
+ _s = /\.prototype.*$/.replace(_s, _s.length,0, "");
+
+ if (!this.symbols.has_key(_s)) {
+ //print("Symbol:" + _s);
+ //print(this.currentDoc.src);
+
+ //throw {
+ // name: "ArgumentError",
+ // message: "Trying to append symbol "" + _s + "", but no doc available\n" +
+ // this.ts.lookTok(0).toString()
+ //};
+ this.currentDoc = null;
+ return;
+
+ }
+ GLib.debug("add to symbol _s=%s " , _s);
+ for (var i =0; i < this.currentDoc.tags.size;i++) {
+ this.symbols.get(_s).addDocTag(this.currentDoc.tags.get(i));
+ }
+ this.currentDoc = null;
+ return;
+ }
+ }
+ //print("Walker.addsymbol - chkdup: " + _s);
+ if (this.symbols.has_key(_s)) {
+
+ if (this.symbols.get(_s).comment.hasTags) {
+ // then existing comment doesnt has tags
+ //throw {
+ // name: "ArgumentError",
+ // message:"DUPLICATE Symbol " + _s + "\n" + token.toString()
+ //};
+ return;
+ }
+ // otherwise existing comment has tags - overwrite..
+
+
+ }
+ //print("Walker.addsymbol - ATYPE: " + _s);
+
+
+
+
+ //print("Walker.addsymbol - add : ");
+ var symbol = new Symbol.new_populate_with_args(
+ _s, new Gee.ArrayList<string>(), atype, this.currentDoc);
+
+ DocParser.addSymbol(symbol);
+ this.symbols[_s] = symbol;
+
+ this.currentDoc = null;
+
+ }
+
+
+
+
+ void scopesIn (Scope s)
+ {
+ this.scopes.add(s);
+ //print(">>>" + this.ts.context() + "\n>>>"+this.scopes.length+":" +this.scopeListToStr());
+
+ }
+ Scope scopeOut()
+ {
+
+ // print("<<<" + this.ts.context() + "\n<<<"+this.scopes.length+":" +this.scopeListToStr());
+ return this.scopes.remove_at(this.scopes.size -1 );
+
+ }
+
+ string scopeListToStr ()
+ {
+ string[] s = {};
+ for (var i = 0; i < this.scopes.size;i++) {
+ s +=(this.scopes[i].ident);
+ }
+ return string.joinv("\n\t",s);
+
+ }
+
+ }
+
+
+}
\ No newline at end of file