~ubuntu-branches/ubuntu/maverick/vala/maverick

« back to all changes in this revision

Viewing changes to codegen/valacodegen.h

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-04-02 10:10:55 UTC
  • mfrom: (1.4.7 upstream)
  • Revision ID: james.westby@ubuntu.com-20100402101055-qbx3okzv0tnp3wpp
Tags: 0.8.0-0ubuntu1
* New upstream release:
  - Infer type arguments when calling generic methods.
  - Support `in' operator for arrays.
  - Add experimental support for regular expression literals.
  - Add experimental support for chained relational expressions.
  - Add va_list support.
  - Add clutter-gtk-0.10 bindings (Gordon Allott).
  - Add gdl-1.0 bindings (Nicolas Joseph).
  - Add gstreamer-app-0.10 bindings (Sebastian Dröge).
  - Add gstreamer-cdda-0.10 bindings (Sebastian Dröge).
  - Add gudev-1.0 bindings (Jim Nelson).
  - Add libgda-report-4.0 bindings (Shawn Ferris).
  - Add libgvc (graphviz) bindings (Martin Olsson).
  - Add purple bindings (Adrien Bustany).
  - Many bug fixes and binding updates.
* debian/patches/99_ltmain_as-needed.patch: refreshed

Show diffs side-by-side

added added

removed removed

Lines of Context:
103
103
typedef struct _ValaDBusInterfaceRegisterFunctionClass ValaDBusInterfaceRegisterFunctionClass;
104
104
typedef struct _ValaDBusInterfaceRegisterFunctionPrivate ValaDBusInterfaceRegisterFunctionPrivate;
105
105
 
 
106
#define VALA_TYPE_ENUM_REGISTER_FUNCTION (vala_enum_register_function_get_type ())
 
107
#define VALA_ENUM_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunction))
 
108
#define VALA_ENUM_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunctionClass))
 
109
#define VALA_IS_ENUM_REGISTER_FUNCTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION))
 
110
#define VALA_IS_ENUM_REGISTER_FUNCTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), VALA_TYPE_ENUM_REGISTER_FUNCTION))
 
111
#define VALA_ENUM_REGISTER_FUNCTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), VALA_TYPE_ENUM_REGISTER_FUNCTION, ValaEnumRegisterFunctionClass))
 
112
 
 
113
typedef struct _ValaEnumRegisterFunction ValaEnumRegisterFunction;
 
114
typedef struct _ValaEnumRegisterFunctionClass ValaEnumRegisterFunctionClass;
 
115
typedef struct _ValaEnumRegisterFunctionPrivate ValaEnumRegisterFunctionPrivate;
 
116
 
106
117
#define VALA_TYPE_GIR_WRITER (vala_gir_writer_get_type ())
107
118
#define VALA_GIR_WRITER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), VALA_TYPE_GIR_WRITER, ValaGIRWriter))
108
119
#define VALA_GIR_WRITER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), VALA_TYPE_GIR_WRITER, ValaGIRWriterClass))
144
155
 
145
156
struct _ValaCCodeGeneratorClass {
146
157
        ValaCodeGeneratorClass parent_class;
 
158
        ValaCCodeModule* (*add_modules) (ValaCCodeGenerator* self, ValaCCodeModule* head);
147
159
};
148
160
 
149
161
struct _ValaCCodeModule {
195
207
        void (*visit_try_statement) (ValaCCodeModule* self, ValaTryStatement* stmt);
196
208
        void (*visit_catch_clause) (ValaCCodeModule* self, ValaCatchClause* clause);
197
209
        void (*visit_lock_statement) (ValaCCodeModule* self, ValaLockStatement* stmt);
 
210
        void (*visit_unlock_statement) (ValaCCodeModule* self, ValaUnlockStatement* stmt);
198
211
        void (*visit_delete_statement) (ValaCCodeModule* self, ValaDeleteStatement* stmt);
199
212
        void (*visit_expression) (ValaCCodeModule* self, ValaExpression* expr);
200
213
        void (*visit_array_creation_expression) (ValaCCodeModule* self, ValaArrayCreationExpression* expr);
203
216
        void (*visit_integer_literal) (ValaCCodeModule* self, ValaIntegerLiteral* expr);
204
217
        void (*visit_real_literal) (ValaCCodeModule* self, ValaRealLiteral* expr);
205
218
        void (*visit_string_literal) (ValaCCodeModule* self, ValaStringLiteral* expr);
 
219
        void (*visit_list_literal) (ValaCCodeModule* self, ValaListLiteral* expr);
 
220
        void (*visit_set_literal) (ValaCCodeModule* self, ValaSetLiteral* expr);
 
221
        void (*visit_map_literal) (ValaCCodeModule* self, ValaMapLiteral* expr);
 
222
        void (*visit_tuple) (ValaCCodeModule* self, ValaTuple* expr);
 
223
        void (*visit_regex_literal) (ValaCCodeModule* self, ValaRegexLiteral* re);
206
224
        void (*visit_null_literal) (ValaCCodeModule* self, ValaNullLiteral* expr);
207
225
        void (*visit_member_access) (ValaCCodeModule* self, ValaMemberAccess* expr);
208
226
        void (*visit_method_call) (ValaCCodeModule* self, ValaMethodCall* expr);
227
245
        void (*generate_dynamic_method_wrapper) (ValaCCodeModule* self, ValaDynamicMethod* method);
228
246
        gboolean (*method_has_wrapper) (ValaCCodeModule* self, ValaMethod* method);
229
247
        ValaCCodeIdentifier* (*get_value_setter_function) (ValaCCodeModule* self, ValaDataType* type_reference);
 
248
        ValaCCodeIdentifier* (*get_value_taker_function) (ValaCCodeModule* self, ValaDataType* type_reference);
230
249
        ValaCCodeExpression* (*get_construct_property_assignment) (ValaCCodeModule* self, ValaCCodeConstant* canonical_cconstant, ValaDataType* property_type, ValaCCodeExpression* value);
231
250
        ValaCCodeFunctionCall* (*get_param_spec) (ValaCCodeModule* self, ValaProperty* prop);
232
251
        ValaCCodeFunctionCall* (*get_signal_creation) (ValaCCodeModule* self, ValaSignal* sig, ValaTypeSymbol* type);
235
254
        char* (*get_dynamic_property_setter_cname) (ValaCCodeModule* self, ValaDynamicProperty* node);
236
255
        char* (*get_dynamic_signal_cname) (ValaCCodeModule* self, ValaDynamicSignal* node);
237
256
        char* (*get_dynamic_signal_connect_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
 
257
        char* (*get_dynamic_signal_connect_after_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
238
258
        char* (*get_dynamic_signal_disconnect_wrapper_name) (ValaCCodeModule* self, ValaDynamicSignal* node);
239
259
        void (*generate_marshaller) (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, gboolean dbus);
240
260
        char* (*get_marshaller_function) (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, const char* prefix, gboolean dbus);
242
262
        ValaCCodeExpression* (*get_array_length_cexpression) (ValaCCodeModule* self, ValaExpression* array_expr, gint dim);
243
263
        char* (*get_array_size_cname) (ValaCCodeModule* self, const char* array_cname);
244
264
        ValaCCodeExpression* (*get_array_size_cexpression) (ValaCCodeModule* self, ValaExpression* array_expr);
245
 
        void (*add_simple_check) (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag);
 
265
        void (*add_simple_check) (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag, gboolean always_fails);
246
266
};
247
267
 
248
268
struct _ValaTypeRegisterFunction {
311
331
        ValaInterfaceRegisterFunctionClass parent_class;
312
332
};
313
333
 
 
334
struct _ValaEnumRegisterFunction {
 
335
        ValaTypeRegisterFunction parent_instance;
 
336
        ValaEnumRegisterFunctionPrivate * priv;
 
337
};
 
338
 
 
339
struct _ValaEnumRegisterFunctionClass {
 
340
        ValaTypeRegisterFunctionClass parent_class;
 
341
};
 
342
 
314
343
struct _ValaGIRWriter {
315
344
        ValaCodeVisitor parent_instance;
316
345
        ValaGIRWriterPrivate * priv;
334
363
void vala_ccode_compiler_unref (gpointer instance);
335
364
GParamSpec* vala_param_spec_ccode_compiler (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
336
365
void vala_value_set_ccode_compiler (GValue* value, gpointer v_object);
 
366
void vala_value_take_ccode_compiler (GValue* value, gpointer v_object);
337
367
gpointer vala_value_get_ccode_compiler (const GValue* value);
338
368
GType vala_ccode_compiler_get_type (void);
339
369
ValaCCodeCompiler* vala_ccode_compiler_new (void);
344
374
void vala_ccode_module_unref (gpointer instance);
345
375
GParamSpec* vala_param_spec_ccode_module (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
346
376
void vala_value_set_ccode_module (GValue* value, gpointer v_object);
 
377
void vala_value_take_ccode_module (GValue* value, gpointer v_object);
347
378
gpointer vala_value_get_ccode_module (const GValue* value);
348
379
GType vala_ccode_module_get_type (void);
349
380
ValaCCodeGenerator* vala_ccode_generator_new (void);
350
381
ValaCCodeGenerator* vala_ccode_generator_construct (GType object_type);
 
382
ValaCCodeModule* vala_ccode_generator_add_modules (ValaCCodeGenerator* self, ValaCCodeModule* head);
351
383
ValaCCodeModule* vala_ccode_module_construct (GType object_type, ValaCCodeGenerator* codegen, ValaCCodeModule* next);
352
384
void vala_ccode_module_emit (ValaCCodeModule* self, ValaCodeContext* context);
353
385
void vala_ccode_module_visit_source_file (ValaCCodeModule* self, ValaSourceFile* source_file);
389
421
void vala_ccode_module_visit_try_statement (ValaCCodeModule* self, ValaTryStatement* stmt);
390
422
void vala_ccode_module_visit_catch_clause (ValaCCodeModule* self, ValaCatchClause* clause);
391
423
void vala_ccode_module_visit_lock_statement (ValaCCodeModule* self, ValaLockStatement* stmt);
 
424
void vala_ccode_module_visit_unlock_statement (ValaCCodeModule* self, ValaUnlockStatement* stmt);
392
425
void vala_ccode_module_visit_delete_statement (ValaCCodeModule* self, ValaDeleteStatement* stmt);
393
426
void vala_ccode_module_visit_expression (ValaCCodeModule* self, ValaExpression* expr);
394
427
void vala_ccode_module_visit_array_creation_expression (ValaCCodeModule* self, ValaArrayCreationExpression* expr);
397
430
void vala_ccode_module_visit_integer_literal (ValaCCodeModule* self, ValaIntegerLiteral* expr);
398
431
void vala_ccode_module_visit_real_literal (ValaCCodeModule* self, ValaRealLiteral* expr);
399
432
void vala_ccode_module_visit_string_literal (ValaCCodeModule* self, ValaStringLiteral* expr);
 
433
void vala_ccode_module_visit_list_literal (ValaCCodeModule* self, ValaListLiteral* expr);
 
434
void vala_ccode_module_visit_set_literal (ValaCCodeModule* self, ValaSetLiteral* expr);
 
435
void vala_ccode_module_visit_map_literal (ValaCCodeModule* self, ValaMapLiteral* expr);
 
436
void vala_ccode_module_visit_tuple (ValaCCodeModule* self, ValaTuple* expr);
 
437
void vala_ccode_module_visit_regex_literal (ValaCCodeModule* self, ValaRegexLiteral* re);
400
438
void vala_ccode_module_visit_null_literal (ValaCCodeModule* self, ValaNullLiteral* expr);
401
439
void vala_ccode_module_visit_member_access (ValaCCodeModule* self, ValaMemberAccess* expr);
402
440
void vala_ccode_module_visit_method_call (ValaCCodeModule* self, ValaMethodCall* expr);
421
459
void vala_ccode_module_generate_dynamic_method_wrapper (ValaCCodeModule* self, ValaDynamicMethod* method);
422
460
gboolean vala_ccode_module_method_has_wrapper (ValaCCodeModule* self, ValaMethod* method);
423
461
ValaCCodeIdentifier* vala_ccode_module_get_value_setter_function (ValaCCodeModule* self, ValaDataType* type_reference);
 
462
ValaCCodeIdentifier* vala_ccode_module_get_value_taker_function (ValaCCodeModule* self, ValaDataType* type_reference);
424
463
ValaCCodeExpression* vala_ccode_module_get_construct_property_assignment (ValaCCodeModule* self, ValaCCodeConstant* canonical_cconstant, ValaDataType* property_type, ValaCCodeExpression* value);
425
464
ValaCCodeFunctionCall* vala_ccode_module_get_param_spec (ValaCCodeModule* self, ValaProperty* prop);
426
465
ValaCCodeFunctionCall* vala_ccode_module_get_signal_creation (ValaCCodeModule* self, ValaSignal* sig, ValaTypeSymbol* type);
429
468
char* vala_ccode_module_get_dynamic_property_setter_cname (ValaCCodeModule* self, ValaDynamicProperty* node);
430
469
char* vala_ccode_module_get_dynamic_signal_cname (ValaCCodeModule* self, ValaDynamicSignal* node);
431
470
char* vala_ccode_module_get_dynamic_signal_connect_wrapper_name (ValaCCodeModule* self, ValaDynamicSignal* node);
 
471
char* vala_ccode_module_get_dynamic_signal_connect_after_wrapper_name (ValaCCodeModule* self, ValaDynamicSignal* node);
432
472
char* vala_ccode_module_get_dynamic_signal_disconnect_wrapper_name (ValaCCodeModule* self, ValaDynamicSignal* node);
433
473
void vala_ccode_module_generate_marshaller (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, gboolean dbus);
434
474
char* vala_ccode_module_get_marshaller_function (ValaCCodeModule* self, ValaList* params, ValaDataType* return_type, const char* prefix, gboolean dbus);
436
476
ValaCCodeExpression* vala_ccode_module_get_array_length_cexpression (ValaCCodeModule* self, ValaExpression* array_expr, gint dim);
437
477
char* vala_ccode_module_get_array_size_cname (ValaCCodeModule* self, const char* array_cname);
438
478
ValaCCodeExpression* vala_ccode_module_get_array_size_cexpression (ValaCCodeModule* self, ValaExpression* array_expr);
439
 
void vala_ccode_module_add_simple_check (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag);
 
479
void vala_ccode_module_add_simple_check (ValaCCodeModule* self, ValaCodeNode* node, ValaCCodeFragment* cfrag, gboolean always_fails);
440
480
ValaCCodeGenerator* vala_ccode_module_get_codegen (ValaCCodeModule* self);
441
481
ValaCCodeModule* vala_ccode_module_get_head (ValaCCodeModule* self);
442
482
gpointer vala_typeregister_function_ref (gpointer instance);
443
483
void vala_typeregister_function_unref (gpointer instance);
444
484
GParamSpec* vala_param_spec_typeregister_function (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
445
485
void vala_value_set_typeregister_function (GValue* value, gpointer v_object);
 
486
void vala_value_take_typeregister_function (GValue* value, gpointer v_object);
446
487
gpointer vala_value_get_typeregister_function (const GValue* value);
447
488
GType vala_typeregister_function_get_type (void);
448
489
GType vala_class_register_function_get_type (void);
459
500
GType vala_dbus_interface_register_function_get_type (void);
460
501
ValaDBusInterfaceRegisterFunction* vala_dbus_interface_register_function_new (ValaInterface* iface, ValaCodeContext* context);
461
502
ValaDBusInterfaceRegisterFunction* vala_dbus_interface_register_function_construct (GType object_type, ValaInterface* iface, ValaCodeContext* context);
 
503
GType vala_enum_register_function_get_type (void);
 
504
ValaEnumRegisterFunction* vala_enum_register_function_new (ValaEnum* en, ValaCodeContext* context);
 
505
ValaEnumRegisterFunction* vala_enum_register_function_construct (GType object_type, ValaEnum* en, ValaCodeContext* context);
 
506
ValaEnum* vala_enum_register_function_get_enum_reference (ValaEnumRegisterFunction* self);
 
507
void vala_enum_register_function_set_enum_reference (ValaEnumRegisterFunction* self, ValaEnum* value);
462
508
GType vala_gir_writer_get_type (void);
463
509
void vala_gir_writer_write_includes (ValaGIRWriter* self);
464
510
void vala_gir_writer_write_file (ValaGIRWriter* self, ValaCodeContext* context, const char* directory, const char* gir_namespace, const char* gir_version, const char* package);