File: codegen.vapi

package info (click to toggle)
vala 0.56.18-5
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 57,528 kB
  • sloc: ansic: 581,293; sh: 5,357; makefile: 3,980; xml: 3,161; yacc: 1,219; lex: 374; javascript: 23
file content (928 lines) | stat: -rw-r--r-- 58,717 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
/* codegen.vapi generated by valac, do not modify. */

namespace Vala {
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeArrayModule : Vala.CCodeMethodCallModule {
		public CCodeArrayModule ();
		public override void append_params_array (Vala.Method m);
		public override string? append_struct_array_destroy (Vala.Struct st);
		public override string? append_struct_array_free (Vala.Struct st);
		public override void append_vala_array_free ();
		public override void append_vala_array_length ();
		public override void append_vala_array_move ();
		public override Vala.TargetValue? copy_value (Vala.TargetValue value, Vala.CodeNode node);
		public override Vala.CCodeExpression destroy_value (Vala.TargetValue value, bool is_macro_definition = false);
		public override Vala.CCodeParameter generate_parameter (Vala.Parameter param, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression>? carg_map);
		public override Vala.CCodeExpression get_array_length_cexpression (Vala.Expression array_expr, int dim = -1);
		public override string get_array_length_cname (string array_cname, int dim);
		public override Vala.CCodeExpression get_array_length_cvalue (Vala.TargetValue value, int dim = -1);
		public override string get_array_size_cname (string array_cname);
		public override Vala.CCodeExpression? get_dup_func_expression (Vala.DataType type, Vala.SourceReference? source_reference, bool is_chainup);
		public override string get_variable_array_length_cname (Vala.Variable variable, int dim);
		public override void visit_array_creation_expression (Vala.ArrayCreationExpression expr);
		public override void visit_assignment (Vala.Assignment assignment);
		public override void visit_element_access (Vala.ElementAccess expr);
		public override void visit_slice_expression (Vala.SliceExpression expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeAssignmentModule : Vala.CCodeMemberAccessModule {
		public CCodeAssignmentModule ();
		public override void store_field (Vala.Field field, Vala.TargetValue? instance, Vala.TargetValue value, Vala.SourceReference? source_reference = null, bool initializer = false);
		public override void store_local (Vala.LocalVariable local, Vala.TargetValue value, bool initializer, Vala.SourceReference? source_reference = null);
		public override void store_parameter (Vala.Parameter param, Vala.TargetValue _value, bool capturing_parameter = false, Vala.SourceReference? source_reference = null);
		public override void store_value (Vala.TargetValue lvalue, Vala.TargetValue value, Vala.SourceReference? source_reference = null);
		public override void visit_assignment (Vala.Assignment assignment);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeAttribute : Vala.AttributeCache {
		public CCodeAttribute (Vala.CodeNode node);
		public bool array_length { get; }
		public string? array_length_expr { get; private set; }
		public string? array_length_name { get; private set; }
		public string array_length_type { get; }
		public bool array_null_terminated { get; }
		public string const_name { get; }
		public string copy_function { get; }
		public string ctype { get; }
		public string default_value { get; }
		public string default_value_on_error { get; }
		public bool delegate_target { get; }
		public string delegate_target_destroy_notify_name { get; }
		public string delegate_target_name { get; }
		public string destroy_function { get; }
		public string dup_function { get; }
		public string feature_test_macros { get; }
		public bool finish_instance { get; }
		public string finish_name { get; }
		public string finish_real_name { get; }
		public string finish_vfunc_name { get; }
		public string free_function { get; }
		public bool free_function_address_of { get; }
		public string get_value_function { get; }
		public string header_filenames { get; }
		public string lower_case_prefix { get; }
		public string lower_case_suffix { get; }
		public string marshaller_type_name { get; }
		public string name { get; }
		public string param_spec_function { get; }
		public double pos { get; }
		public string prefix { get; }
		public string real_name { get; }
		public string ref_function { get; }
		public bool ref_function_void { get; }
		public string ref_sink_function { get; }
		public string sentinel { get; }
		public string set_value_function { get; }
		public string take_value_function { get; }
		public string type_id { get; }
		public string type_name { get; }
		public string unref_function { get; }
		public string vfunc_name { get; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class CCodeBaseModule : Vala.CodeGenerator {
		public class EmitContext {
			public Vala.CCodeFunction ccode;
			public Vala.ArrayList<Vala.CCodeFunction> ccode_stack;
			public Vala.Map<Vala.LocalVariable,int> closure_variable_clash_map;
			public Vala.Map<string,int> closure_variable_count_map;
			public Vala.CatchClause current_catch;
			public int current_inner_error_id;
			public bool current_method_inner_error;
			public bool current_method_return;
			public Vala.Symbol? current_symbol;
			public Vala.TryStatement current_try;
			public int current_try_id;
			public bool is_in_method_precondition;
			public int next_coroutine_state;
			public int next_temp_var_id;
			public int next_try_id;
			public Vala.ArrayList<Vala.Symbol> symbol_stack;
			public Vala.ArrayList<Vala.TargetValue> temp_ref_values;
			public Vala.Map<string,string> variable_name_map;
			public EmitContext (Vala.Symbol? symbol = null);
			public void pop_symbol ();
			public void push_symbol (Vala.Symbol symbol);
		}
		public Vala.CCodeBaseModule.EmitContext base_finalize_context;
		public Vala.CCodeBaseModule.EmitContext base_init_context;
		public Vala.DataType bool_type;
		public static int ccode_attribute_cache_index;
		public Vala.CCodeFile cfile;
		public Vala.DataType char_type;
		public Vala.CCodeBaseModule.EmitContext class_finalize_context;
		public Vala.CCodeBaseModule.EmitContext class_init_context;
		public Vala.CCodeStruct closure_struct;
		public Vala.CCodeLineDirective? current_line;
		public Vala.TypeSymbol dbus_proxy_type;
		public Vala.DelegateType delegate_target_destroy_type;
		public Vala.DataType delegate_target_type;
		public Vala.DataType double_type;
		public Vala.CCodeBaseModule.EmitContext emit_context;
		public Vala.DataType float_type;
		public Vala.Class garray_type;
		public Vala.TypeSymbol gbytearray_type;
		public Vala.Struct gcond_type;
		public Vala.TypeSymbol genericarray_type;
		public Vala.ErrorType gerror_type;
		public Vala.Class glist_type;
		public Vala.Struct gmutex_type;
		public Vala.Class gnode_type;
		public Vala.TypeSymbol gobject_type;
		public Vala.DataType gquark_type;
		public Vala.Class gqueue_type;
		public Vala.Struct grecmutex_type;
		public Vala.Struct grwlock_type;
		public Vala.Class gsequence_iter_type;
		public Vala.Class gsequence_type;
		public Vala.Class gslist_type;
		public Vala.Class gsource_type;
		public Vala.TypeSymbol gstringbuilder_type;
		public Vala.TypeSymbol gthreadpool_type;
		public Vala.Class gtk_widget_type;
		public Vala.TypeSymbol gtype_type;
		public Vala.Struct gvalue_type;
		public Vala.Class gvaluearray_type;
		public Vala.Class gvariant_type;
		public Vala.CCodeFile header_file;
		public bool in_plugin;
		public Vala.CCodeBaseModule.EmitContext instance_finalize_context;
		public Vala.CCodeBaseModule.EmitContext instance_init_context;
		public Vala.DataType int16_type;
		public Vala.DataType int32_type;
		public Vala.DataType int64_type;
		public Vala.DataType int8_type;
		public Vala.DataType int_type;
		public Vala.CCodeFile internal_header_file;
		public Vala.DataType long_type;
		public string module_init_param_name;
		public Vala.Struct mutex_type;
		public int next_regex_id;
		public Vala.CCodeStruct param_spec_struct;
		public Vala.DataType pointer_type;
		public Vala.Set<string> predefined_marshal_set;
		public Vala.CCodeEnum prop_enum;
		public Vala.DataType regex_type;
		public bool requires_array_free;
		public bool requires_array_length;
		public bool requires_array_move;
		public bool requires_array_n_elements;
		public bool requires_assert;
		public bool requires_clear_mutex;
		public bool requires_memdup2;
		public bool requires_vala_extern;
		public static Vala.Set<string> reserved_identifiers;
		public static Vala.Set<string> reserved_vala_identifiers;
		public Vala.Symbol root_symbol;
		public Vala.DataType short_type;
		public Vala.CCodeEnum signal_enum;
		public Vala.DataType size_t_type;
		public Vala.DataType ssize_t_type;
		public Vala.DataType string_type;
		public Vala.TypeSymbol type_module_type;
		public Vala.DataType uchar_type;
		public Vala.DataType uint16_type;
		public Vala.DataType uint32_type;
		public Vala.DataType uint64_type;
		public Vala.DataType uint8_type;
		public Vala.DataType uint_type;
		public Vala.DataType ulong_type;
		public Vala.DataType? unichar_type;
		public Vala.Set<string> user_marshal_set;
		public Vala.DataType ushort_type;
		public Vala.DataType void_type;
		public Vala.Set<string> wrappers;
		protected CCodeBaseModule ();
		public bool add_generated_external_symbol (Vala.Symbol external_symbol);
		public void add_generic_type_arguments (Vala.Method m, Vala.Map<int,Vala.CCodeExpression> arg_map, Vala.List<Vala.DataType> type_args, Vala.CodeNode expr, bool is_chainup = false, Vala.List<Vala.TypeParameter>? type_parameters = null);
		public virtual void add_simple_check (Vala.CodeNode node, bool always_fails = false);
		public bool add_symbol_declaration (Vala.CCodeFile decl_space, Vala.Symbol sym, string name);
		public bool add_wrapper (string wrapper_name);
		public void append_field (Vala.CCodeStruct ccode_struct, Vala.Field f, Vala.CCodeFile decl_space);
		public void append_local_free (Vala.Symbol sym, Vala.Statement? jump_stmt = null, Vala.CodeNode? stop_at = null);
		public void append_out_param_free (Vala.Method? m);
		public virtual void append_params_array (Vala.Method m);
		protected virtual void append_scope_free (Vala.Symbol sym, Vala.CodeNode? stop_at = null);
		public virtual string? append_struct_array_destroy (Vala.Struct st);
		public virtual string? append_struct_array_free (Vala.Struct st);
		public virtual void append_vala_array_free ();
		public virtual void append_vala_array_length ();
		public virtual void append_vala_array_move ();
		public void append_vala_clear_mutex (string typename, string funcprefix);
		public Vala.CCodeExpression convert_from_generic_pointer (Vala.CCodeExpression cexpr, Vala.DataType actual_type);
		public Vala.CCodeExpression convert_to_generic_pointer (Vala.CCodeExpression cexpr, Vala.DataType actual_type);
		public virtual Vala.TargetValue? copy_value (Vala.TargetValue value, Vala.CodeNode node);
		public void create_postcondition_statement (Vala.Expression postcondition);
		public Vala.TargetValue create_temp_value (Vala.DataType type, bool init, Vala.CodeNode node_reference, bool? value_owned = null);
		public Vala.CCodeExpression? create_type_check (Vala.CCodeNode ccodenode, Vala.DataType type);
		public virtual void create_type_check_statement (Vala.CodeNode method_node, Vala.DataType ret_type, Vala.TypeSymbol t, bool non_null, string var_name);
		public Vala.CCodeExpression? default_value_for_type (Vala.DataType type, bool initializer_expression, bool on_error = false);
		public virtual Vala.CCodeExpression? deserialize_expression (Vala.DataType type, Vala.CCodeExpression variant_expr, Vala.CCodeExpression? expr, Vala.CCodeExpression? error_expr = null, out bool may_fail = null);
		public Vala.CCodeExpression destroy_field (Vala.Field field, Vala.TargetValue? instance);
		public Vala.CCodeExpression destroy_local (Vala.LocalVariable local);
		public Vala.CCodeExpression destroy_parameter (Vala.Parameter param);
		public virtual Vala.CCodeExpression destroy_value (Vala.TargetValue value, bool is_macro_definition = false);
		public override void emit (Vala.CodeContext context);
		public void emit_temp_var (Vala.LocalVariable local, bool on_error = false);
		public virtual void generate_class_declaration (Vala.Class cl, Vala.CCodeFile decl_space);
		public virtual void generate_class_struct_declaration (Vala.Class cl, Vala.CCodeFile decl_space);
		public void generate_constant_declaration (Vala.Constant c, Vala.CCodeFile decl_space, bool definition = false);
		public virtual void generate_cparameters (Vala.Method m, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.CCodeFunction func, Vala.CCodeFunctionDeclarator? vdeclarator = null, Vala.Map<int,Vala.CCodeExpression>? carg_map = null, Vala.CCodeFunctionCall? vcall = null, int direction = 3);
		public virtual void generate_delegate_declaration (Vala.Delegate d, Vala.CCodeFile decl_space);
		protected string generate_destroy_function_content_of_wrapper (Vala.DataType type);
		protected string generate_dup_func_wrapper (Vala.DataType type);
		public virtual void generate_dynamic_method_wrapper (Vala.DynamicMethod method);
		public virtual bool generate_enum_declaration (Vala.Enum en, Vala.CCodeFile decl_space);
		public virtual void generate_error_domain_declaration (Vala.ErrorDomain edomain, Vala.CCodeFile decl_space);
		public void generate_field_declaration (Vala.Field f, Vala.CCodeFile decl_space);
		protected string generate_free_func_wrapper (Vala.DataType type);
		protected string generate_free_function_address_of_wrapper (Vala.DataType type);
		public Vala.CCodeFunctionCall generate_instance_cast (Vala.CCodeExpression expr, Vala.TypeSymbol type);
		public virtual void generate_interface_declaration (Vala.Interface iface, Vala.CCodeFile decl_space);
		public virtual bool generate_method_declaration (Vala.Method m, Vala.CCodeFile decl_space);
		public void generate_property_accessor_declaration (Vala.PropertyAccessor acc, Vala.CCodeFile decl_space);
		public virtual string generate_ready_function (Vala.Method m);
		public virtual void generate_struct_declaration (Vala.Struct st, Vala.CCodeFile decl_space);
		public void generate_type_declaration (Vala.DataType type, Vala.CCodeFile decl_space);
		public virtual Vala.CCodeExpression get_array_length_cexpression (Vala.Expression array_expr, int dim = -1);
		public virtual string get_array_length_cname (string array_cname, int dim);
		public virtual Vala.CCodeExpression get_array_length_cvalue (Vala.TargetValue value, int dim = -1);
		public virtual string get_array_size_cname (string array_cname);
		public int get_block_id (Vala.Block b);
		public Vala.CCodeExpression get_boolean_cconstant (bool b);
		public static Vala.DataType get_callable_creturn_type (Vala.Callable c);
		public Vala.CCodeDeclaratorSuffix? get_ccode_declarator_suffix (Vala.DataType type);
		public Vala.CCodeExpression? get_ccodenode (Vala.Expression node);
		public Vala.CCodeExpression get_cexpression (string name);
		public virtual Vala.CCodeExpression get_delegate_target_cexpression (Vala.Expression delegate_expr, out Vala.CCodeExpression delegate_target_destroy_notify);
		public virtual string get_delegate_target_cname (string delegate_cname);
		public virtual Vala.CCodeExpression get_delegate_target_cvalue (Vala.TargetValue value);
		public virtual string get_delegate_target_destroy_notify_cname (string delegate_cname);
		public virtual Vala.CCodeExpression get_delegate_target_destroy_notify_cvalue (Vala.TargetValue value);
		public Vala.CCodeExpression? get_destroy0_func_expression (Vala.DataType type, bool is_chainup = false);
		public Vala.CCodeExpression? get_destroy_func_expression (Vala.DataType type, bool is_chainup = false);
		public virtual Vala.CCodeExpression? get_dup_func_expression (Vala.DataType type, Vala.SourceReference? source_reference, bool is_chainup = false);
		public virtual string get_dynamic_signal_cname (Vala.DynamicSignal node);
		public abstract Vala.TargetValue get_field_cvalue (Vala.Field field, Vala.TargetValue? instance);
		public virtual Vala.CCodeExpression get_implicit_cast_expression (Vala.CCodeExpression source_cexpr, Vala.DataType? expression_type, Vala.DataType? target_type, Vala.CodeNode? node);
		public Vala.CCodeExpression get_inner_error_cexpression ();
		public Vala.CCodeExpression get_local_cexpression (Vala.LocalVariable local);
		public string get_local_cname (Vala.LocalVariable local);
		public abstract Vala.TargetValue get_local_cvalue (Vala.LocalVariable local);
		public int get_param_pos (double param_pos, bool ellipsis = false);
		public virtual Vala.CCodeExpression get_param_spec (Vala.Property prop);
		public virtual Vala.CCodeExpression get_param_spec_cexpression (Vala.Property prop);
		public Vala.CCodeExpression get_parameter_cexpression (Vala.Parameter param);
		public abstract Vala.TargetValue get_parameter_cvalue (Vala.Parameter param);
		public Vala.CCodeConstant get_property_canonical_cconstant (Vala.Property prop);
		public Vala.CCodeConstant get_signal_canonical_constant (Vala.Signal sig, string? detail = null);
		public virtual Vala.CCodeExpression get_signal_creation (Vala.Signal sig, Vala.ObjectTypeSymbol type);
		public string get_symbol_lock_name (string symname);
		public Vala.LocalVariable get_temp_variable (Vala.DataType type, bool value_owned = true, Vala.CodeNode? node_reference = null, bool init = false);
		public Vala.CCodeExpression get_this_cexpression ();
		public Vala.CCodeExpression get_this_class_cexpression (Vala.Class cl, Vala.TargetValue? instance = null);
		public Vala.CCodeExpression get_this_interface_cexpression (Vala.Interface iface, Vala.TargetValue? instance = null);
		public unowned Vala.DataType? get_this_type ();
		public Vala.CCodeExpression get_type_id_expression (Vala.DataType type, bool is_chainup = false);
		public virtual Vala.CCodeExpression get_value_getter_function (Vala.DataType type_reference);
		public virtual Vala.CCodeExpression get_value_setter_function (Vala.DataType type_reference);
		public virtual Vala.CCodeExpression get_value_taker_function (Vala.DataType type_reference);
		public virtual string get_variable_array_length_cname (Vala.Variable variable, int dim);
		public Vala.CCodeExpression get_variable_cexpression (string name);
		public string get_variable_cname (string name);
		public Vala.CCodeExpression? handle_struct_argument (Vala.Parameter? param, Vala.Expression arg, Vala.CCodeExpression? cexpr);
		public static void init ();
		public static bool is_constant_ccode (Vala.CodeNode expr);
		public static bool is_constant_ccode_expression (Vala.CCodeExpression cexpr);
		public bool is_in_constructor ();
		public bool is_in_coroutine ();
		public bool is_in_destructor ();
		public bool is_lvalue_access_allowed (Vala.DataType type);
		public static bool is_pure_ccode_expression (Vala.CCodeExpression cexpr);
		public bool is_simple_struct_creation (Vala.Variable variable, Vala.Expression expr);
		public Vala.TargetValue load_temp_value (Vala.TargetValue lvalue);
		public abstract Vala.TargetValue load_this_parameter (Vala.TypeSymbol sym);
		public abstract Vala.TargetValue load_variable (Vala.Variable variable, Vala.TargetValue value, Vala.Expression? expr = null);
		public unowned Vala.Block? next_closure_block (Vala.Symbol sym);
		public bool no_implicit_copy (Vala.DataType type);
		public void pop_context ();
		public void pop_function ();
		public void pop_line ();
		public void push_context (Vala.CCodeBaseModule.EmitContext emit_context);
		public void push_function (Vala.CCodeFunction func);
		public void push_line (Vala.SourceReference? source_reference);
		public virtual void register_dbus_info (Vala.CCodeBlock block, Vala.ObjectTypeSymbol bindable);
		public static bool requires_copy (Vala.DataType type);
		public static bool requires_destroy (Vala.DataType type);
		public bool requires_memset_init (Vala.Variable variable, out Vala.CCodeExpression? size);
		public void return_default_value (Vala.DataType return_type, bool on_error = false);
		public void return_out_parameter (Vala.Parameter param);
		public virtual Vala.CCodeExpression? serialize_expression (Vala.DataType type, Vala.CCodeExpression expr);
		public void store_property (Vala.Property prop, Vala.Expression? instance, Vala.TargetValue value);
		public Vala.TargetValue store_temp_value (Vala.TargetValue initializer, Vala.CodeNode node_reference, bool? value_owned = null);
		public abstract void store_value (Vala.TargetValue lvalue, Vala.TargetValue value, Vala.SourceReference? source_reference = null);
		public Vala.TargetValue transform_value (Vala.TargetValue value, Vala.DataType? target_type, Vala.CodeNode node);
		public bool variable_accessible_in_finally (Vala.LocalVariable local);
		public override void visit_addressof_expression (Vala.AddressofExpression expr);
		public override void visit_base_access (Vala.BaseAccess expr);
		public override void visit_binary_expression (Vala.BinaryExpression expr);
		public override void visit_block (Vala.Block b);
		public override void visit_boolean_literal (Vala.BooleanLiteral expr);
		public override void visit_cast_expression (Vala.CastExpression expr);
		public override void visit_character_literal (Vala.CharacterLiteral expr);
		public override void visit_class (Vala.Class cl);
		public override void visit_constant (Vala.Constant c);
		public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
		public override void visit_delete_statement (Vala.DeleteStatement stmt);
		public override void visit_destructor (Vala.Destructor d);
		public override void visit_end_full_expression (Vala.Expression expr);
		public override void visit_enum (Vala.Enum en);
		public override void visit_expression (Vala.Expression expr);
		public override void visit_expression_statement (Vala.ExpressionStatement stmt);
		public override void visit_field (Vala.Field f);
		public override void visit_initializer_list (Vala.InitializerList list);
		public override void visit_integer_literal (Vala.IntegerLiteral expr);
		public override void visit_lambda_expression (Vala.LambdaExpression lambda);
		public override void visit_local_variable (Vala.LocalVariable local);
		public override void visit_lock_statement (Vala.LockStatement stmt);
		public void visit_member (Vala.Symbol m);
		public override void visit_named_argument (Vala.NamedArgument expr);
		public override void visit_null_literal (Vala.NullLiteral expr);
		public override void visit_object_creation_expression (Vala.ObjectCreationExpression expr);
		public override void visit_pointer_indirection (Vala.PointerIndirection expr);
		public override void visit_postfix_expression (Vala.PostfixExpression expr);
		public override void visit_property (Vala.Property prop);
		public override void visit_property_accessor (Vala.PropertyAccessor acc);
		public override void visit_real_literal (Vala.RealLiteral expr);
		public override void visit_reference_transfer_expression (Vala.ReferenceTransferExpression expr);
		public override void visit_regex_literal (Vala.RegexLiteral expr);
		public override void visit_return_statement (Vala.ReturnStatement stmt);
		public override void visit_sizeof_expression (Vala.SizeofExpression expr);
		public override void visit_source_file (Vala.SourceFile source_file);
		public override void visit_string_literal (Vala.StringLiteral expr);
		public override void visit_type_check (Vala.TypeCheck expr);
		public override void visit_typeof_expression (Vala.TypeofExpression expr);
		public override void visit_unary_expression (Vala.UnaryExpression expr);
		public override void visit_unlock_statement (Vala.UnlockStatement stmt);
		public Vala.CCodeFunction ccode { get; }
		public Vala.CodeContext context { get; set; }
		public Vala.CatchClause current_catch { get; set; }
		public Vala.Class? current_class { get; }
		public Vala.Block? current_closure_block { get; }
		public Vala.Constructor? current_constructor { get; }
		public Vala.Destructor? current_destructor { get; }
		public int current_inner_error_id { get; set; }
		public Vala.Method? current_method { get; }
		public bool current_method_inner_error { get; set; }
		public bool current_method_return { get; set; }
		public Vala.PropertyAccessor? current_property_accessor { get; }
		public Vala.DataType? current_return_type { get; }
		public Vala.Symbol current_symbol { get; }
		public Vala.TryStatement current_try { get; set; }
		public int current_try_id { get; set; }
		public Vala.TypeSymbol? current_type_symbol { get; }
		public bool in_creation_method { get; }
		public bool is_in_method_precondition { get; set; }
		public int next_temp_var_id { get; set; }
		public int next_try_id { get; set; }
		public Vala.ArrayList<Vala.TargetValue> temp_ref_values { get; }
		public Vala.Map<string,string> variable_name_map { get; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeCompiler {
		public CCodeCompiler ();
		public void compile (Vala.CodeContext context, string? cc_command, string[] cc_options);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class CCodeControlFlowModule : Vala.CCodeMethodModule {
		protected CCodeControlFlowModule ();
		public override void visit_break_statement (Vala.BreakStatement stmt);
		public override void visit_continue_statement (Vala.ContinueStatement stmt);
		public override void visit_foreach_statement (Vala.ForeachStatement stmt);
		public override void visit_if_statement (Vala.IfStatement stmt);
		public override void visit_loop_statement (Vala.LoopStatement stmt);
		public override void visit_switch_label (Vala.SwitchLabel label);
		public override void visit_switch_statement (Vala.SwitchStatement stmt);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeDelegateModule : Vala.CCodeArrayModule {
		public CCodeDelegateModule ();
		public override void generate_delegate_declaration (Vala.Delegate d, Vala.CCodeFile decl_space);
		public string generate_delegate_wrapper (Vala.Method m, Vala.DelegateType dt, Vala.CodeNode? node);
		public override Vala.CCodeParameter generate_parameter (Vala.Parameter param, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression>? carg_map);
		public override Vala.CCodeExpression get_delegate_target_cexpression (Vala.Expression delegate_expr, out Vala.CCodeExpression delegate_target_destroy_notify);
		public override string get_delegate_target_cname (string delegate_cname);
		public override Vala.CCodeExpression get_delegate_target_cvalue (Vala.TargetValue value);
		public override string get_delegate_target_destroy_notify_cname (string delegate_cname);
		public override Vala.CCodeExpression get_delegate_target_destroy_notify_cvalue (Vala.TargetValue value);
		public override Vala.CCodeExpression get_implicit_cast_expression (Vala.CCodeExpression source_cexpr, Vala.DataType? expression_type, Vala.DataType? target_type, Vala.CodeNode? node);
		public override void visit_delegate (Vala.Delegate d);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class CCodeMemberAccessModule : Vala.CCodeControlFlowModule {
		protected CCodeMemberAccessModule ();
		public override Vala.TargetValue get_field_cvalue (Vala.Field field, Vala.TargetValue? instance);
		public override Vala.TargetValue get_local_cvalue (Vala.LocalVariable local);
		public override Vala.TargetValue get_parameter_cvalue (Vala.Parameter param);
		public override Vala.TargetValue load_field (Vala.Field field, Vala.TargetValue? instance, Vala.Expression? expr = null);
		public override Vala.TargetValue load_local (Vala.LocalVariable local, Vala.Expression? expr = null);
		public override Vala.TargetValue load_parameter (Vala.Parameter param, Vala.Expression? expr = null);
		public override Vala.TargetValue load_this_parameter (Vala.TypeSymbol sym);
		public override Vala.TargetValue load_variable (Vala.Variable variable, Vala.TargetValue value, Vala.Expression? expr = null);
		public override void visit_member_access (Vala.MemberAccess expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CCodeMethodCallModule : Vala.CCodeAssignmentModule {
		public CCodeMethodCallModule ();
		public override void visit_method_call (Vala.MethodCall expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class CCodeMethodModule : Vala.CCodeStructModule {
		protected CCodeMethodModule ();
		public void complete_async ();
		public override void generate_cparameters (Vala.Method m, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.CCodeFunction func, Vala.CCodeFunctionDeclarator? vdeclarator = null, Vala.Map<int,Vala.CCodeExpression>? carg_map = null, Vala.CCodeFunctionCall? vcall = null, int direction = 3);
		public override bool generate_method_declaration (Vala.Method m, Vala.CCodeFile decl_space);
		public virtual void generate_method_result_declaration (Vala.Method m, Vala.CCodeFile decl_space, Vala.CCodeFunction cfunc, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression>? carg_map);
		public virtual Vala.CCodeParameter generate_parameter (Vala.Parameter param, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression>? carg_map);
		public void generate_vfunc (Vala.Method m, Vala.DataType return_type, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression> carg_map, string suffix = "", int direction = 3);
		public override void visit_creation_method (Vala.CreationMethod m);
		public override void visit_method (Vala.Method m);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class CCodeStructModule : Vala.CCodeBaseModule {
		protected CCodeStructModule ();
		public override void generate_struct_declaration (Vala.Struct st, Vala.CCodeFile decl_space);
		public override void visit_struct (Vala.Struct st);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class CType : Vala.DataType {
		public CType (string ctype_name, string cdefault_value);
		public override Vala.DataType copy ();
		public string cdefault_value { get; set; }
		public string ctype_name { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class ClassRegisterFunction : Vala.TypeRegisterFunction {
		public ClassRegisterFunction (Vala.Class cl);
		public override Vala.SymbolAccessibility get_accessibility ();
		public override string get_base_finalize_func_name ();
		public override string get_base_init_func_name ();
		public override string get_class_finalize_func_name ();
		public override string get_class_init_func_name ();
		public override string? get_gtype_value_table_collect_value_function_name ();
		public override string? get_gtype_value_table_copy_function_name ();
		public override string? get_gtype_value_table_free_function_name ();
		public override string? get_gtype_value_table_init_function_name ();
		public override string? get_gtype_value_table_lcopy_value_function_name ();
		public override string? get_gtype_value_table_peek_pointer_function_name ();
		public override string get_instance_init_func_name ();
		public override string get_instance_struct_size ();
		public override string get_parent_type_name ();
		public override Vala.TypeSymbol get_type_declaration ();
		public override string get_type_flags ();
		public override Vala.CCodeFragment get_type_interface_init_declaration ();
		public override void get_type_interface_init_statements (Vala.CodeContext context, Vala.CCodeBlock block, bool plugin);
		public override string get_type_struct_name ();
		public weak Vala.Class class_reference { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class EnumRegisterFunction : Vala.TypeRegisterFunction {
		public EnumRegisterFunction (Vala.Enum en);
		public override Vala.SymbolAccessibility get_accessibility ();
		public override Vala.TypeSymbol get_type_declaration ();
		public weak Vala.Enum enum_reference { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class ErrorDomainRegisterFunction : Vala.TypeRegisterFunction {
		public ErrorDomainRegisterFunction (Vala.ErrorDomain edomain);
		public override Vala.SymbolAccessibility get_accessibility ();
		public override Vala.TypeSymbol get_type_declaration ();
		public weak Vala.ErrorDomain error_domain_reference { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GAsyncModule : Vala.GtkModule {
		public GAsyncModule ();
		public void append_struct (Vala.CCodeStruct structure);
		public string generate_async_callback_wrapper ();
		public override void generate_cparameters (Vala.Method m, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.CCodeFunction func, Vala.CCodeFunctionDeclarator? vdeclarator = null, Vala.Map<int,Vala.CCodeExpression>? carg_map = null, Vala.CCodeFunctionCall? vcall = null, int direction = 3);
		public override bool generate_method_declaration (Vala.Method m, Vala.CCodeFile decl_space);
		public override string generate_ready_function (Vala.Method m);
		public override void generate_virtual_method_declaration (Vala.Method m, Vala.CCodeFile decl_space, Vala.CCodeStruct type_struct);
		public override void return_with_exception (Vala.CCodeExpression error_expr);
		public override void visit_creation_method (Vala.CreationMethod m);
		public override void visit_method (Vala.Method m);
		public override void visit_return_statement (Vala.ReturnStatement stmt);
		public override void visit_yield_statement (Vala.YieldStatement stmt);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GDBusClientModule : Vala.GDBusModule {
		public GDBusClientModule ();
		public override void generate_dynamic_method_wrapper (Vala.DynamicMethod method);
		public override void generate_interface_declaration (Vala.Interface iface, Vala.CCodeFile decl_space);
		public Vala.CCodeConstant get_dbus_timeout (Vala.Symbol symbol);
		public override void register_dbus_info (Vala.CCodeBlock block, Vala.ObjectTypeSymbol sym);
		public override void visit_interface (Vala.Interface iface);
		public override void visit_method_call (Vala.MethodCall expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GDBusModule : Vala.GVariantModule {
		public GDBusModule ();
		public bool dbus_method_uses_file_descriptor (Vala.Method method);
		public static string dbus_result_name (Vala.Method m);
		public static string? get_dbus_name (Vala.TypeSymbol symbol);
		public static string get_dbus_name_for_member (Vala.Symbol symbol);
		public static int get_dbus_timeout_for_member (Vala.Symbol symbol);
		protected Vala.CCodeExpression get_interface_info (Vala.ObjectTypeSymbol sym);
		public static bool is_dbus_no_reply (Vala.Method m);
		public static bool is_dbus_visible (Vala.CodeNode node);
		public void receive_dbus_value (Vala.DataType type, Vala.CCodeExpression message_expr, Vala.CCodeExpression iter_expr, Vala.CCodeExpression target_expr, Vala.Symbol? sym, Vala.CCodeExpression? error_expr = null, out bool may_fail = null);
		public void send_dbus_value (Vala.DataType type, Vala.CCodeExpression builder_expr, Vala.CCodeExpression expr, Vala.Symbol? sym);
		public override void visit_class (Vala.Class cl);
		public override void visit_error_domain (Vala.ErrorDomain edomain);
		public override void visit_interface (Vala.Interface iface);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GDBusServerModule : Vala.GDBusClientModule {
		public GDBusServerModule ();
		public override void generate_class_declaration (Vala.Class cl, Vala.CCodeFile decl_space);
		public override void generate_interface_declaration (Vala.Interface iface, Vala.CCodeFile decl_space);
		public override void register_dbus_info (Vala.CCodeBlock block, Vala.ObjectTypeSymbol sym);
		public override void visit_class (Vala.Class cl);
		public override void visit_interface (Vala.Interface iface);
		public override void visit_method_call (Vala.MethodCall expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GErrorModule : Vala.CCodeDelegateModule {
		public GErrorModule ();
		public override void add_simple_check (Vala.CodeNode node, bool always_fails = false);
		protected override void append_scope_free (Vala.Symbol sym, Vala.CodeNode? stop_at = null);
		public override void generate_error_domain_declaration (Vala.ErrorDomain edomain, Vala.CCodeFile decl_space);
		public virtual void return_with_exception (Vala.CCodeExpression error_expr);
		public override void visit_catch_clause (Vala.CatchClause clause);
		public override void visit_error_domain (Vala.ErrorDomain edomain);
		public override void visit_throw_statement (Vala.ThrowStatement stmt);
		public override void visit_try_statement (Vala.TryStatement stmt);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GIRWriter : Vala.CodeVisitor {
		public GIRWriter ();
		protected virtual string? get_class_comment (Vala.Class c);
		protected virtual string? get_constant_comment (Vala.Constant c);
		protected virtual string? get_delegate_comment (Vala.Delegate cb);
		protected virtual string? get_delegate_return_comment (Vala.Delegate cb);
		protected virtual string? get_enum_comment (Vala.Enum en);
		protected virtual string? get_enum_value_comment (Vala.EnumValue ev);
		protected virtual string? get_error_code_comment (Vala.ErrorCode ecode);
		protected virtual string? get_error_domain_comment (Vala.ErrorDomain edomain);
		protected virtual string? get_field_comment (Vala.Field f);
		protected virtual string? get_interface_comment (Vala.Interface iface);
		protected virtual string? get_method_comment (Vala.Method m);
		protected virtual string? get_method_return_comment (Vala.Method m);
		protected virtual string? get_parameter_comment (Vala.Parameter param);
		protected virtual string? get_property_comment (Vala.Property prop);
		protected virtual string? get_signal_comment (Vala.Signal sig);
		protected virtual string? get_signal_return_comment (Vala.Signal sig);
		protected virtual string? get_struct_comment (Vala.Struct st);
		public override void visit_class (Vala.Class cl);
		public override void visit_constant (Vala.Constant c);
		public override void visit_creation_method (Vala.CreationMethod m);
		public override void visit_delegate (Vala.Delegate cb);
		public override void visit_enum (Vala.Enum en);
		public override void visit_enum_value (Vala.EnumValue ev);
		public override void visit_error_code (Vala.ErrorCode ecode);
		public override void visit_error_domain (Vala.ErrorDomain edomain);
		public override void visit_field (Vala.Field f);
		public override void visit_interface (Vala.Interface iface);
		public override void visit_method (Vala.Method m);
		public override void visit_namespace (Vala.Namespace ns);
		public override void visit_property (Vala.Property prop);
		public override void visit_signal (Vala.Signal sig);
		public override void visit_source_file (Vala.SourceFile source_file);
		public override void visit_struct (Vala.Struct st);
		public void write_file (Vala.CodeContext context, string directory, string gir_filename, string gir_namespace, string gir_version, string package, string? gir_shared_library = null);
		public void write_includes ();
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GLibValue : Vala.TargetValue {
		public Vala.CCodeExpression? array_length_cexpr;
		public Vala.List<Vala.CCodeExpression> array_length_cvalues;
		public bool array_null_terminated;
		public Vala.CCodeExpression? array_size_cvalue;
		public string? ctype;
		public Vala.CCodeExpression cvalue;
		public Vala.CCodeExpression? delegate_target_cvalue;
		public Vala.CCodeExpression? delegate_target_destroy_notify_cvalue;
		public bool lvalue;
		public bool non_null;
		public GLibValue (Vala.DataType? value_type = null, Vala.CCodeExpression? cvalue = null, bool lvalue = false);
		public void append_array_length_cvalue (Vala.CCodeExpression length_cvalue);
		public Vala.GLibValue copy ();
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GObjectModule : Vala.GTypeModule {
		public GObjectModule ();
		public override void generate_class_init (Vala.Class cl);
		public override string get_dynamic_signal_cname (Vala.DynamicSignal node);
		public override void visit_class (Vala.Class cl);
		public override void visit_constructor (Vala.Constructor c);
		public override void visit_method_call (Vala.MethodCall expr);
		public override void visit_property (Vala.Property prop);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GSignalModule : Vala.GObjectModule {
		public GSignalModule ();
		public override Vala.CCodeExpression get_signal_creation (Vala.Signal sig, Vala.ObjectTypeSymbol type);
		public override void visit_element_access (Vala.ElementAccess expr);
		public override void visit_member_access (Vala.MemberAccess expr);
		public override void visit_method_call (Vala.MethodCall expr);
		public override void visit_signal (Vala.Signal sig);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GTypeModule : Vala.GErrorModule {
		public GTypeModule ();
		public override void create_type_check_statement (Vala.CodeNode method_node, Vala.DataType ret_type, Vala.TypeSymbol t, bool non_null, string var_name);
		public virtual void end_instance_init (Vala.Class cl);
		public override void generate_class_declaration (Vala.Class cl, Vala.CCodeFile decl_space);
		public virtual void generate_class_init (Vala.Class cl);
		public override void generate_class_struct_declaration (Vala.Class cl, Vala.CCodeFile decl_space);
		public override void generate_interface_declaration (Vala.Interface iface, Vala.CCodeFile decl_space);
		public override bool generate_method_declaration (Vala.Method m, Vala.CCodeFile decl_space);
		public override Vala.CCodeParameter generate_parameter (Vala.Parameter param, Vala.CCodeFile decl_space, Vala.Map<int,Vala.CCodeParameter> cparam_map, Vala.Map<int,Vala.CCodeExpression>? carg_map);
		public virtual void generate_virtual_method_declaration (Vala.Method m, Vala.CCodeFile decl_space, Vala.CCodeStruct type_struct);
		public override Vala.CCodeExpression get_param_spec (Vala.Property prop);
		public override Vala.CCodeExpression get_param_spec_cexpression (Vala.Property prop);
		public override void visit_cast_expression (Vala.CastExpression expr);
		public override void visit_class (Vala.Class cl);
		public override void visit_enum (Vala.Enum en);
		public override void visit_error_domain (Vala.ErrorDomain edomain);
		public override void visit_interface (Vala.Interface iface);
		public override void visit_method_call (Vala.MethodCall expr);
		public override void visit_property (Vala.Property prop);
		public override void visit_struct (Vala.Struct st);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GValueModule : Vala.GAsyncModule {
		public GValueModule ();
		public override Vala.CCodeExpression get_value_getter_function (Vala.DataType type_reference);
		public override Vala.CCodeExpression get_value_setter_function (Vala.DataType type_reference);
		public override Vala.CCodeExpression get_value_taker_function (Vala.DataType type_reference);
		public override void visit_cast_expression (Vala.CastExpression expr);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GVariantModule : Vala.GValueModule {
		public GVariantModule ();
		public override Vala.CCodeExpression? deserialize_expression (Vala.DataType type, Vala.CCodeExpression variant_expr, Vala.CCodeExpression? expr, Vala.CCodeExpression? error_expr = null, out bool may_fail = null);
		public override bool generate_enum_declaration (Vala.Enum en, Vala.CCodeFile decl_space);
		public Vala.CCodeFunction generate_enum_from_string_function (Vala.Enum en);
		public Vala.CCodeFunction generate_enum_from_string_function_declaration (Vala.Enum en);
		public Vala.CCodeFunction generate_enum_to_string_function (Vala.Enum en);
		public Vala.CCodeFunction generate_enum_to_string_function_declaration (Vala.Enum en);
		public static string? get_dbus_signature (Vala.Symbol symbol);
		public void read_expression (Vala.DataType type, Vala.CCodeExpression iter_expr, Vala.CCodeExpression target_expr, Vala.Symbol? sym, Vala.CCodeExpression? error_expr = null, out bool may_fail = null);
		public override Vala.CCodeExpression? serialize_expression (Vala.DataType type, Vala.CCodeExpression expr);
		public override void visit_cast_expression (Vala.CastExpression expr);
		public override void visit_enum (Vala.Enum en);
		public void write_expression (Vala.DataType type, Vala.CCodeExpression builder_expr, Vala.CCodeExpression expr, Vala.Symbol? sym);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class GtkModule : Vala.GSignalModule {
		public GtkModule ();
		public override void end_instance_init (Vala.Class cl);
		public override void generate_class_init (Vala.Class cl);
		public override void visit_field (Vala.Field f);
		public override void visit_method (Vala.Method m);
		public override void visit_property (Vala.Property prop);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class InterfaceRegisterFunction : Vala.TypeRegisterFunction {
		public InterfaceRegisterFunction (Vala.Interface iface);
		public override Vala.SymbolAccessibility get_accessibility ();
		public override string get_base_finalize_func_name ();
		public override string get_base_init_func_name ();
		public override string get_class_finalize_func_name ();
		public override string get_class_init_func_name ();
		public override string get_instance_init_func_name ();
		public override string get_instance_struct_size ();
		public override string get_parent_type_name ();
		public override Vala.TypeSymbol get_type_declaration ();
		public override void get_type_interface_init_statements (Vala.CodeContext context, Vala.CCodeBlock block, bool plugin);
		public override string get_type_struct_name ();
		public weak Vala.Interface interface_reference { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public class StructRegisterFunction : Vala.TypeRegisterFunction {
		public StructRegisterFunction (Vala.Struct st);
		public override Vala.SymbolAccessibility get_accessibility ();
		public override Vala.TypeSymbol get_type_declaration ();
		public weak Vala.Struct struct_reference { get; set; }
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public abstract class TypeRegisterFunction {
		protected TypeRegisterFunction ();
		public abstract Vala.SymbolAccessibility get_accessibility ();
		public virtual string get_base_finalize_func_name ();
		public virtual string get_base_init_func_name ();
		public virtual string get_class_finalize_func_name ();
		public virtual string get_class_init_func_name ();
		public Vala.CCodeFragment get_declaration ();
		public Vala.CCodeFragment get_definition ();
		public virtual string? get_gtype_value_table_collect_value_function_name ();
		public virtual string? get_gtype_value_table_copy_function_name ();
		public virtual string? get_gtype_value_table_free_function_name ();
		public virtual string? get_gtype_value_table_init_function_name ();
		public virtual string? get_gtype_value_table_lcopy_value_function_name ();
		public virtual string? get_gtype_value_table_peek_pointer_function_name ();
		public virtual string get_instance_init_func_name ();
		public virtual string get_instance_struct_size ();
		public virtual string get_parent_type_name ();
		public Vala.CCodeFragment get_source_declaration ();
		public abstract Vala.TypeSymbol get_type_declaration ();
		public virtual string get_type_flags ();
		public virtual Vala.CCodeFragment get_type_interface_init_declaration ();
		public virtual void get_type_interface_init_statements (Vala.CodeContext context, Vala.CCodeBlock block, bool plugin);
		public virtual string get_type_struct_name ();
		public void init_from_type (Vala.CodeContext context, bool plugin, bool declaration_only);
	}
	[CCode (cheader_filename = "valacodegen.h")]
	public static void append_array_length (Vala.Expression expr, Vala.CCodeExpression size);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_array_length_cexpr (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.List<Vala.CCodeExpression>? get_array_lengths (Vala.Expression expr);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_array_null_terminated (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_array_size_cvalue (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_array_length (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string? get_ccode_array_length_expr (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string? get_ccode_array_length_name (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_array_length_pos (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_array_length_type (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_array_null_terminated (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_async_result_pos (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_class_get_private_function (Vala.Class cl);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_class_type_check_function (Vala.Class cl);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_class_type_function (Vala.Class cl);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_concrete_accessor (Vala.Property p);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_const_name (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_constructv_name (Vala.CreationMethod m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_copy_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_default_value (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_default_value_on_error (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_delegate_target (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_delegate_target_destroy_notify_name (Vala.Variable variable);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_delegate_target_name (Vala.Variable variable);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_delegate_target_pos (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_destroy_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_destroy_notify_pos (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string? get_ccode_dup_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_error_pos (Vala.Callable c);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_feature_test_macros (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_finish_instance (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_finish_name (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_finish_real_name (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_finish_vfunc_name (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_free_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_free_function_address_of (Vala.Class cl);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_generic_type_pos (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_get_value_function (Vala.CodeNode sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_copy_function (Vala.Struct st);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_destroy_function (Vala.Struct st);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_emitter (Vala.Signal sig);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_generic_type_parameter (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_new_function (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_has_type_id (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_header_filenames (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_instance_pos (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_is_gboxed (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_lower_case_name (Vala.CodeNode node, string? infix = null);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_lower_case_prefix (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_lower_case_suffix (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_marshaller_type_name (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_name (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_no_accessor_method (Vala.Property p);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_no_wrapper (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_param_spec_function (Vala.CodeNode sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static double get_ccode_pos (Vala.Parameter param);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_prefix (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_quark_name (Vala.ErrorDomain edomain);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_real_name (Vala.Symbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_ref_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_ref_function_void (Vala.Class cl);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_ref_sink_function (Vala.ObjectTypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_sentinel (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_set_value_function (Vala.CodeNode sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_ccode_simple_generics (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_take_value_function (Vala.CodeNode sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string? get_ccode_type (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_cast_function (Vala.ObjectTypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_check_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_function (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_get_function (Vala.ObjectTypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_id (Vala.CodeNode node);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_type_name (Vala.ObjectTypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_unref_function (Vala.ObjectTypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_upper_case_name (Vala.Symbol sym, string? infix = null);
	[CCode (cheader_filename = "valacodegen.h")]
	public static string get_ccode_vfunc_name (Vala.Method m);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned string? get_ctype (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_cvalue (Vala.Expression expr);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_cvalue_ (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_delegate_target (Vala.Expression expr);
	[CCode (cheader_filename = "valacodegen.h")]
	public static unowned Vala.CCodeExpression? get_delegate_target_destroy_notify (Vala.Expression expr);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_lvalue (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool get_non_null (Vala.TargetValue value);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool is_free_function_address_of (Vala.DataType type);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool is_ref_function_void (Vala.DataType type);
	[CCode (cheader_filename = "valacodegen.h")]
	public static bool is_reference_counting (Vala.TypeSymbol sym);
	[CCode (cheader_filename = "valacodegen.h")]
	public static void set_array_length (Vala.Expression expr, Vala.CCodeExpression size);
	[CCode (cheader_filename = "valacodegen.h")]
	public static void set_array_size_cvalue (Vala.TargetValue value, Vala.CCodeExpression? cvalue);
	[CCode (cheader_filename = "valacodegen.h")]
	public static void set_cvalue (Vala.Expression expr, Vala.CCodeExpression? cvalue);
	[CCode (cheader_filename = "valacodegen.h")]
	public static void set_delegate_target (Vala.Expression expr, Vala.CCodeExpression? delegate_target);
	[CCode (cheader_filename = "valacodegen.h")]
	public static void set_delegate_target_destroy_notify (Vala.Expression expr, Vala.CCodeExpression? destroy_notify);
}