1/* vala.vapi generated by valac, do not modify. */
2
3namespace Vala {
4	namespace Genie {
5		[CCode (cheader_filename = "vala.h")]
6		public class Parser : Vala.CodeVisitor {
7			public Parser ();
8			public void parse (Vala.CodeContext context);
9			public void parse_file (Vala.SourceFile source_file);
10			public override void visit_source_file (Vala.SourceFile source_file);
11		}
12		[CCode (cheader_filename = "vala.h")]
13		public class Scanner {
14			public Scanner (Vala.SourceFile source_file);
15			public static Vala.Genie.TokenType get_identifier_or_keyword (char* begin, int len);
16			public void parse_file_comments ();
17			public Vala.Comment? pop_comment ();
18			public Vala.Genie.TokenType read_regex_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
19			public Vala.Genie.TokenType read_template_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
20			public Vala.Genie.TokenType read_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
21			public void seek (Vala.SourceLocation location);
22			public int indent_spaces { get; set; }
23			public Vala.SourceFile source_file { get; private set; }
24		}
25		[CCode (cheader_filename = "vala.h")]
26		public enum TokenType {
27			NONE,
28			ABSTRACT,
29			ARRAY,
30			AS,
31			ASSERT,
32			ASSIGN,
33			ASSIGN_ADD,
34			ASSIGN_BITWISE_AND,
35			ASSIGN_BITWISE_OR,
36			ASSIGN_BITWISE_XOR,
37			ASSIGN_DIV,
38			ASSIGN_MUL,
39			ASSIGN_PERCENT,
40			ASSIGN_SHIFT_LEFT,
41			ASSIGN_SUB,
42			ASYNC,
43			BITWISE_AND,
44			BITWISE_OR,
45			BREAK,
46			CARRET,
47			CASE,
48			CHARACTER_LITERAL,
49			CLASS,
50			CLOSE_BRACE,
51			CLOSE_BRACKET,
52			CLOSE_PARENS,
53			CLOSE_REGEX_LITERAL,
54			CLOSE_TEMPLATE,
55			COLON,
56			COMMA,
57			CONST,
58			CONSTRUCT,
59			CONTINUE,
60			DEDENT,
61			DEF,
62			DEFAULT,
63			DELEGATE,
64			DELETE,
65			DICT,
66			DIV,
67			DO,
68			DOT,
69			DOWNTO,
70			DYNAMIC,
71			ELLIPSIS,
72			ELSE,
73			ENUM,
74			ENSURES,
75			ERRORDOMAIN,
76			EOF,
77			EOL,
78			EVENT,
79			EXCEPT,
80			EXTERN,
81			FALSE,
82			FINAL,
83			FINALLY,
84			FOR,
85			GET,
86			HASH,
87			IDENTIFIER,
88			IF,
89			IMPLEMENTS,
90			IN,
91			INDENT,
92			INIT,
93			INLINE,
94			INTEGER_LITERAL,
95			INTERFACE,
96			INTERNAL,
97			INTERR,
98			IS,
99			ISA,
100			LAMBDA,
101			LIST,
102			LOCK,
103			MINUS,
104			NAMESPACE,
105			NEW,
106			NULL,
107			OF,
108			OUT,
109			OP_AND,
110			OP_DEC,
111			OP_EQ,
112			OP_GE,
113			OP_GT,
114			OP_INC,
115			OP_LE,
116			OP_LT,
117			OP_NE,
118			OP_NEG,
119			OP_OR,
120			OP_PTR,
121			OP_SHIFT_LEFT,
122			OPEN_BRACE,
123			OPEN_BRACKET,
124			OPEN_PARENS,
125			OPEN_REGEX_LITERAL,
126			OPEN_TEMPLATE,
127			OVERRIDE,
128			OWNED,
129			PARAMS,
130			PASS,
131			PERCENT,
132			PLUS,
133			PRINT,
134			PRIVATE,
135			PROP,
136			PROTECTED,
137			PUBLIC,
138			RAISE,
139			RAISES,
140			READONLY,
141			REAL_LITERAL,
142			REF,
143			REGEX_LITERAL,
144			REQUIRES,
145			RETURN,
146			SEALED,
147			SELF,
148			SEMICOLON,
149			SET,
150			SIZEOF,
151			STAR,
152			STATIC,
153			STRING_LITERAL,
154			STRUCT,
155			SUPER,
156			TEMPLATE_STRING_LITERAL,
157			TILDE,
158			TO,
159			TRUE,
160			TRY,
161			TYPEOF,
162			UNOWNED,
163			USES,
164			VAR,
165			VERBATIM_STRING_LITERAL,
166			VIRTUAL,
167			VOID,
168			VOLATILE,
169			WEAK,
170			WHEN,
171			WHILE,
172			YIELD;
173			public unowned string to_string ();
174		}
175	}
176	[CCode (cheader_filename = "vala.h")]
177	public class AddressofExpression : Vala.Expression {
178		public AddressofExpression (Vala.Expression inner, Vala.SourceReference? source_reference = null);
179		public override void accept (Vala.CodeVisitor visitor);
180		public override void accept_children (Vala.CodeVisitor visitor);
181		public override bool check (Vala.CodeContext context);
182		public override void emit (Vala.CodeGenerator codegen);
183		public override bool is_accessible (Vala.Symbol sym);
184		public override bool is_pure ();
185		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
186		public override string to_string ();
187		public Vala.Expression inner { get; set; }
188	}
189	[CCode (cheader_filename = "vala.h")]
190	public class ArrayCopyMethod : Vala.Method {
191		public ArrayCopyMethod (Vala.SourceReference? source_reference = null);
192	}
193	[CCode (cheader_filename = "vala.h")]
194	public class ArrayCreationExpression : Vala.Expression {
195		public ArrayCreationExpression (Vala.DataType element_type, int rank, Vala.InitializerList? initializer_list, Vala.SourceReference? source_reference = null);
196		public override void accept (Vala.CodeVisitor visitor);
197		public override void accept_children (Vala.CodeVisitor visitor);
198		public void append_size (Vala.Expression size);
199		public override bool check (Vala.CodeContext context);
200		public override void emit (Vala.CodeGenerator codegen);
201		public unowned Vala.List<Vala.Expression> get_sizes ();
202		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
203		public override bool is_accessible (Vala.Symbol sym);
204		public override bool is_pure ();
205		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
206		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
207		public override string to_string ();
208		public Vala.DataType element_type { get; set; }
209		public Vala.InitializerList? initializer_list { get; set; }
210		public Vala.DataType? length_type { get; set; }
211		public int rank { get; set; }
212	}
213	[CCode (cheader_filename = "vala.h")]
214	public class ArrayLengthField : Vala.Field {
215		public ArrayLengthField (Vala.SourceReference? source_reference = null);
216	}
217	[CCode (cheader_filename = "vala.h")]
218	public class ArrayMoveMethod : Vala.Method {
219		public ArrayMoveMethod (Vala.SourceReference? source_reference = null);
220	}
221	[CCode (cheader_filename = "vala.h")]
222	public class ArrayResizeMethod : Vala.Method {
223		public ArrayResizeMethod (Vala.SourceReference? source_reference = null);
224	}
225	[CCode (cheader_filename = "vala.h")]
226	public class ArrayType : Vala.ReferenceType {
227		public ArrayType (Vala.DataType element_type, int rank, Vala.SourceReference? source_reference = null);
228		public override void accept_children (Vala.CodeVisitor visitor);
229		public override bool check (Vala.CodeContext context);
230		public override bool compatible (Vala.DataType target_type);
231		public override Vala.DataType copy ();
232		public override Vala.DataType get_actual_type (Vala.DataType? derived_instance_type, Vala.List<Vala.DataType>? method_type_arguments, Vala.CodeNode? node_reference);
233		public override Vala.Symbol? get_member (string member_name);
234		public override Vala.DataType? infer_type_argument (Vala.TypeParameter type_param, Vala.DataType value_type);
235		public override bool is_accessible (Vala.Symbol sym);
236		public override bool is_disposable ();
237		public override bool is_reference_type_or_type_parameter ();
238		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
239		public override string to_qualified_string (Vala.Scope? scope);
240		public Vala.DataType element_type { get; set; }
241		public bool fixed_length { get; set; }
242		public bool inline_allocated { get; set; }
243		public bool invalid_syntax { get; set; }
244		public Vala.Expression? length { get; set; }
245		public Vala.DataType? length_type { get; set; }
246		public int rank { get; set; }
247	}
248	[CCode (cheader_filename = "vala.h")]
249	public class Assignment : Vala.Expression {
250		public Assignment (Vala.Expression left, Vala.Expression right, Vala.AssignmentOperator operator = AssignmentOperator.SIMPLE, Vala.SourceReference? source_reference = null);
251		public override void accept (Vala.CodeVisitor visitor);
252		public override void accept_children (Vala.CodeVisitor visitor);
253		public override bool check (Vala.CodeContext context);
254		public override void emit (Vala.CodeGenerator codegen);
255		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
256		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
257		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
258		public override bool is_accessible (Vala.Symbol sym);
259		public override bool is_pure ();
260		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
261		public override string to_string ();
262		public Vala.Expression left { get; set; }
263		public Vala.AssignmentOperator operator { get; set; }
264		public Vala.Expression right { get; set; }
265	}
266	[CCode (cheader_filename = "vala.h")]
267	public class Attribute : Vala.CodeNode {
268		public Attribute (string name, Vala.SourceReference? source_reference = null);
269		public void add_argument (string key, string value);
270		public bool get_bool (string name, bool default_value = false);
271		public double get_double (string name, double default_value = 0);
272		public int get_integer (string name, int default_value = 0);
273		public string? get_string (string name, string? default_value = null);
274		public bool has_argument (string name);
275		public Vala.Map<string,string> args { get; private set; }
276		public string name { get; set; }
277	}
278	[CCode (cheader_filename = "vala.h")]
279	public class AttributeCache {
280		public AttributeCache ();
281	}
282	[CCode (cheader_filename = "vala.h")]
283	public class BaseAccess : Vala.Expression {
284		public BaseAccess (Vala.SourceReference? source = null);
285		public override void accept (Vala.CodeVisitor visitor);
286		public override bool check (Vala.CodeContext context);
287		public override void emit (Vala.CodeGenerator codegen);
288		public override bool is_pure ();
289		public override string to_string ();
290	}
291	[CCode (cheader_filename = "vala.h")]
292	public class BasicBlock {
293		public BasicBlock ();
294		public void add_child (Vala.BasicBlock block);
295		public void add_dominator_frontier (Vala.BasicBlock block);
296		public void add_node (Vala.CodeNode node);
297		public void add_phi_function (Vala.PhiFunction phi);
298		public void connect (Vala.BasicBlock target);
299		public BasicBlock.entry ();
300		public BasicBlock.exit ();
301		public unowned Vala.List<weak Vala.BasicBlock> get_children ();
302		public unowned Vala.Set<weak Vala.BasicBlock> get_dominator_frontier ();
303		public unowned Vala.List<Vala.CodeNode> get_nodes ();
304		public unowned Vala.Set<Vala.PhiFunction> get_phi_functions ();
305		public unowned Vala.List<weak Vala.BasicBlock> get_predecessors ();
306		public unowned Vala.List<weak Vala.BasicBlock> get_successors ();
307		public weak Vala.BasicBlock parent { get; private set; }
308		public int postorder_number { get; set; }
309		public bool postorder_visited { get; set; }
310	}
311	[CCode (cheader_filename = "vala.h")]
312	public class BinaryExpression : Vala.Expression {
313		public BinaryExpression (Vala.BinaryOperator op, Vala.Expression _left, Vala.Expression _right, Vala.SourceReference? source = null);
314		public override void accept (Vala.CodeVisitor visitor);
315		public override void accept_children (Vala.CodeVisitor visitor);
316		public BinaryExpression.chained (Vala.BinaryOperator op, Vala.Expression _left, Vala.Expression _right, Vala.SourceReference? source = null);
317		public override bool check (Vala.CodeContext context);
318		public override void emit (Vala.CodeGenerator codegen);
319		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
320		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
321		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
322		public override bool is_accessible (Vala.Symbol sym);
323		public override bool is_constant ();
324		public override bool is_non_null ();
325		public override bool is_pure ();
326		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
327		public override string to_string ();
328		public bool is_chained { get; private set; }
329		public Vala.Expression left { get; set; }
330		public Vala.BinaryOperator operator { get; set; }
331		public Vala.Expression right { get; set; }
332	}
333	[CCode (cheader_filename = "vala.h")]
334	public class Block : Vala.Symbol, Vala.Statement {
335		public Block (Vala.SourceReference? source_reference = null);
336		public override void accept (Vala.CodeVisitor visitor);
337		public override void accept_children (Vala.CodeVisitor visitor);
338		public void add_local_constant (Vala.Constant constant);
339		public void add_local_variable (Vala.LocalVariable local);
340		public void add_statement (Vala.Statement stmt);
341		public override bool check (Vala.CodeContext context);
342		public override void emit (Vala.CodeGenerator codegen);
343		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
344		public unowned Vala.List<Vala.Constant> get_local_constants ();
345		public unowned Vala.List<Vala.LocalVariable> get_local_variables ();
346		public Vala.List<Vala.Statement> get_statements ();
347		public void insert_before (Vala.Statement stmt, Vala.Statement new_stmt);
348		public void insert_statement (int index, Vala.Statement stmt);
349		public void remove_local_variable (Vala.LocalVariable local);
350		public void replace_statement (Vala.Statement old_stmt, Vala.Statement new_stmt);
351		public bool captured { get; set; }
352		public bool contains_jump_statement { get; set; }
353	}
354	[CCode (cheader_filename = "vala.h")]
355	public class BooleanLiteral : Vala.Literal {
356		public BooleanLiteral (bool b, Vala.SourceReference? source = null);
357		public override void accept (Vala.CodeVisitor visitor);
358		public override bool check (Vala.CodeContext context);
359		public override void emit (Vala.CodeGenerator codegen);
360		public override bool is_pure ();
361		public override string to_string ();
362		public bool value { get; set; }
363	}
364	[CCode (cheader_filename = "vala.h")]
365	public class BooleanType : Vala.ValueType {
366		public BooleanType (Vala.Struct type_symbol);
367		public override Vala.DataType copy ();
368	}
369	[CCode (cheader_filename = "vala.h")]
370	public class BreakStatement : Vala.CodeNode, Vala.Statement {
371		public BreakStatement (Vala.SourceReference? source = null);
372		public override void accept (Vala.CodeVisitor visitor);
373		public override void emit (Vala.CodeGenerator codegen);
374	}
375	[CCode (cheader_filename = "vala.h")]
376	public abstract class CallableType : Vala.DataType {
377		protected CallableType (Vala.Symbol symbol);
378		public override unowned Vala.List<Vala.Parameter>? get_parameters ();
379		public override unowned Vala.DataType? get_return_type ();
380		public override bool is_invokable ();
381		public override string to_prototype_string (string? override_name = null);
382		public weak Vala.Callable callable_symbol { get; }
383	}
384	[CCode (cheader_filename = "vala.h")]
385	public class CastExpression : Vala.Expression {
386		public CastExpression (Vala.Expression inner, Vala.DataType type_reference, Vala.SourceReference? source_reference = null);
387		public override void accept (Vala.CodeVisitor visitor);
388		public override void accept_children (Vala.CodeVisitor visitor);
389		public override bool check (Vala.CodeContext context);
390		public override void emit (Vala.CodeGenerator codegen);
391		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
392		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
393		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
394		public override bool is_accessible (Vala.Symbol sym);
395		public override bool is_constant ();
396		public override bool is_pure ();
397		public CastExpression.non_null (Vala.Expression inner, Vala.SourceReference? source_reference = null);
398		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
399		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
400		public CastExpression.silent (Vala.Expression inner, Vala.DataType type_reference, Vala.SourceReference? source_reference = null);
401		public override string to_string ();
402		public Vala.Expression inner { get; set; }
403		public bool is_non_null_cast { get; private set; }
404		public bool is_silent_cast { get; private set; }
405		public Vala.DataType type_reference { get; set; }
406	}
407	[CCode (cheader_filename = "vala.h")]
408	public class CatchClause : Vala.CodeNode {
409		public CatchClause (Vala.DataType? error_type, string? variable_name, Vala.Block body, Vala.SourceReference? source_reference = null);
410		public override void accept (Vala.CodeVisitor visitor);
411		public override void accept_children (Vala.CodeVisitor visitor);
412		public override bool check (Vala.CodeContext context);
413		public override void emit (Vala.CodeGenerator codegen);
414		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
415		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
416		public Vala.Block body { get; set; }
417		public string? clabel_name { get; set; }
418		public Vala.DataType? error_type { get; set; }
419		public Vala.LocalVariable error_variable { get; set; }
420		public string? variable_name { get; set; }
421	}
422	[CCode (cheader_filename = "vala.h")]
423	public class CharacterLiteral : Vala.Literal {
424		public CharacterLiteral (string c, Vala.SourceReference? source = null);
425		public override void accept (Vala.CodeVisitor visitor);
426		public override bool check (Vala.CodeContext context);
427		public override void emit (Vala.CodeGenerator codegen);
428		public unichar get_char ();
429		public override bool is_pure ();
430		public override string to_string ();
431		public string value { get; set; }
432	}
433	[CCode (cheader_filename = "vala.h")]
434	public class Class : Vala.ObjectTypeSymbol {
435		public Class (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
436		public override void accept (Vala.CodeVisitor visitor);
437		public override void accept_children (Vala.CodeVisitor visitor);
438		public void add_base_type (Vala.DataType type);
439		public override void add_constructor (Vala.Constructor c);
440		public override void add_destructor (Vala.Destructor d);
441		public override void add_field (Vala.Field f);
442		public override void add_method (Vala.Method m);
443		public override void add_property (Vala.Property prop);
444		public override bool check (Vala.CodeContext context);
445		public unowned Vala.List<Vala.DataType> get_base_types ();
446		public Vala.HashMap<Vala.Method,Vala.Method> get_implicit_implementations ();
447		public bool implements (Vala.Interface i);
448		public bool is_a (Vala.ObjectTypeSymbol t);
449		public bool is_fundamental ();
450		public override bool is_reference_type ();
451		public override bool is_subtype_of (Vala.TypeSymbol t);
452		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
453		public Vala.Class base_class { get; set; }
454		public Vala.Constructor? class_constructor { get; private set; }
455		public Vala.Destructor? class_destructor { get; private set; }
456		public Vala.Constructor? constructor { get; private set; }
457		public Vala.CreationMethod? default_construction_method { get; private set; }
458		public Vala.Destructor? destructor { get; private set; }
459		public bool has_class_private_fields { get; private set; }
460		public bool has_private_fields { get; set; }
461		public bool is_abstract { get; set; }
462		public bool is_compact { get; set; }
463		public bool is_error_base { get; }
464		public bool is_immutable { get; set; }
465		public bool is_sealed { get; set; }
466		public bool is_singleton { get; set; }
467		public Vala.Constructor? static_constructor { get; private set; }
468		public Vala.Destructor? static_destructor { get; private set; }
469	}
470	[CCode (cheader_filename = "vala.h")]
471	public class ClassType : Vala.ReferenceType {
472		public ClassType (Vala.Class class_symbol);
473		public override Vala.DataType copy ();
474		public weak Vala.Class class_symbol { get; }
475	}
476	[CCode (cheader_filename = "vala.h")]
477	public class CodeContext {
478		public CodeContext ();
479		public void accept (Vala.CodeVisitor visitor);
480		public void add_c_source_file (string file);
481		public void add_define (string define);
482		public bool add_external_package (string pkg);
483		public void add_package (string pkg);
484		public bool add_packages_from_file (string filename);
485		public void add_source_file (Vala.SourceFile file);
486		public bool add_source_filename (string filename, bool is_source = false, bool cmdline = false);
487		public void check ();
488		public static Vala.CodeContext @get ();
489		public unowned Vala.List<string> get_c_source_files ();
490		public string? get_gir_path (string gir);
491		public string? get_gresource_path (string gresource, string resource);
492		public string? get_metadata_path (string gir_filename);
493		public unowned Vala.List<string> get_packages ();
494		public unowned Vala.SourceFile? get_source_file (string filename);
495		public unowned Vala.List<Vala.SourceFile> get_source_files ();
496		public string? get_vapi_path (string pkg);
497		public bool has_package (string pkg);
498		public bool is_defined (string define);
499		public string? pkg_config_compile_flags (string package_name);
500		public bool pkg_config_exists (string package_name);
501		public string? pkg_config_modversion (string package_name);
502		public static void pop ();
503		public static void push (Vala.CodeContext context);
504		public static string realpath (string name);
505		public bool require_glib_version (int major, int minor);
506		public void set_target_glib_version (string target_glib);
507		public void write_dependencies (string filename);
508		public void write_external_dependencies (string filename);
509		public bool abi_stability { get; set; }
510		public Vala.SemanticAnalyzer analyzer { get; private set; }
511		public bool assert { get; set; }
512		public string basedir { get; set; }
513		public bool ccode_only { get; set; }
514		public bool checking { get; set; }
515		public Vala.CodeGenerator codegen { get; set; }
516		public bool compile_only { get; set; }
517		public bool debug { get; set; }
518		public bool deprecated { get; set; }
519		public string directory { get; set; }
520		public Vala.Method? entry_point { get; set; }
521		public string entry_point_name { get; set; }
522		public bool experimental { get; set; }
523		public bool experimental_non_null { get; set; }
524		public Vala.FlowAnalyzer flow_analyzer { get; private set; }
525		public string[] gir_directories { get; set; }
526		public bool gobject_tracing { get; set; }
527		public string[] gresources { get; set; }
528		public string[] gresources_directories { get; set; }
529		public string? header_filename { get; set; }
530		public bool hide_internal { get; set; }
531		public string? includedir { get; set; }
532		public string? internal_header_filename { get; set; }
533		public bool keep_going { get; set; }
534		public bool mem_profiler { get; set; }
535		public string[] metadata_directories { get; set; }
536		public Vala.Method module_init_method { get; set; }
537		public bool nostdpkg { get; set; }
538		public int optlevel { get; set; }
539		public string output { get; set; }
540		public string pkg_config_command { get; set; }
541		public Vala.Profile profile { get; set; }
542		public Vala.Report report { get; set; }
543		public Vala.SymbolResolver resolver { get; private set; }
544		public Vala.Namespace root { get; }
545		public bool run_output { get; set; }
546		public bool save_csources { get; }
547		public bool save_temps { get; set; }
548		public bool since_check { get; set; }
549		public string? symbols_filename { get; set; }
550		public bool use_fast_vapi { get; set; }
551		public bool use_header { get; set; }
552		public Vala.UsedAttr used_attr { get; set; }
553		public bool vapi_comments { get; set; }
554		public string[] vapi_directories { get; set; }
555		public bool verbose_mode { get; set; }
556		public bool version_header { get; set; }
557	}
558	[CCode (cheader_filename = "vala.h")]
559	public abstract class CodeGenerator : Vala.CodeVisitor {
560		protected CodeGenerator ();
561		public virtual void emit (Vala.CodeContext context);
562		public abstract Vala.TargetValue load_field (Vala.Field field, Vala.TargetValue? instance, Vala.Expression? expr = null);
563		public abstract Vala.TargetValue load_local (Vala.LocalVariable local, Vala.Expression? expr = null);
564		public abstract Vala.TargetValue load_parameter (Vala.Parameter param, Vala.Expression? expr = null);
565		public abstract void store_field (Vala.Field field, Vala.TargetValue? instance, Vala.TargetValue value, Vala.SourceReference? source_reference = null);
566		public abstract void store_local (Vala.LocalVariable local, Vala.TargetValue value, bool initializer, Vala.SourceReference? source_reference = null);
567		public abstract void store_parameter (Vala.Parameter param, Vala.TargetValue value, bool capturing_parameter = false, Vala.SourceReference? source_reference = null);
568	}
569	[CCode (cheader_filename = "vala.h")]
570	public abstract class CodeNode {
571		public GLib.List<Vala.Attribute> attributes;
572		protected CodeNode ();
573		public virtual void accept (Vala.CodeVisitor visitor);
574		public virtual void accept_children (Vala.CodeVisitor visitor);
575		public virtual bool check (Vala.CodeContext context);
576		public bool copy_attribute_bool (Vala.CodeNode source, string attribute, string argument);
577		public bool copy_attribute_double (Vala.CodeNode source, string attribute, string argument);
578		public bool copy_attribute_integer (Vala.CodeNode source, string attribute, string argument);
579		public bool copy_attribute_string (Vala.CodeNode source, string attribute, string argument);
580		public virtual void emit (Vala.CodeGenerator codegen);
581		public unowned Vala.Attribute? get_attribute (string name);
582		public bool get_attribute_bool (string attribute, string argument, bool default_value = false);
583		public unowned Vala.AttributeCache? get_attribute_cache (int index);
584		public static int get_attribute_cache_index ();
585		public double get_attribute_double (string attribute, string argument, double default_value = 0);
586		public int get_attribute_integer (string attribute, string argument, int default_value = 0);
587		public string? get_attribute_string (string attribute, string argument, string? default_value = null);
588		public virtual void get_defined_variables (Vala.Collection<Vala.Variable> collection);
589		public virtual void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
590		public static string get_temp_name ();
591		public virtual void get_used_variables (Vala.Collection<Vala.Variable> collection);
592		public bool has_attribute_argument (string attribute, string argument);
593		public void remove_attribute_argument (string attribute, string argument);
594		public virtual void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
595		public virtual void replace_type (Vala.DataType old_type, Vala.DataType new_type);
596		public void set_attribute (string name, bool value, Vala.SourceReference? source_reference = null);
597		public void set_attribute_bool (string attribute, string argument, bool value, Vala.SourceReference? source_reference = null);
598		public void set_attribute_cache (int index, Vala.AttributeCache cache);
599		public void set_attribute_double (string attribute, string argument, double value, Vala.SourceReference? source_reference = null);
600		public void set_attribute_integer (string attribute, string argument, int value, Vala.SourceReference? source_reference = null);
601		public void set_attribute_string (string attribute, string argument, string? value, Vala.SourceReference? source_reference = null);
602		public virtual string to_string ();
603		public bool checked { get; set; }
604		public bool error { get; set; }
605		public weak Vala.CodeNode? parent_node { get; set; }
606		public Vala.SourceReference? source_reference { get; set; }
607		public bool tree_can_fail { get; }
608		public string type_name { get; }
609		public bool unreachable { get; set; }
610	}
611	[CCode (cheader_filename = "vala.h")]
612	public abstract class CodeVisitor {
613		protected CodeVisitor ();
614		public virtual void visit_addressof_expression (Vala.AddressofExpression expr);
615		public virtual void visit_array_creation_expression (Vala.ArrayCreationExpression expr);
616		public virtual void visit_assignment (Vala.Assignment a);
617		public virtual void visit_base_access (Vala.BaseAccess expr);
618		public virtual void visit_binary_expression (Vala.BinaryExpression expr);
619		public virtual void visit_block (Vala.Block b);
620		public virtual void visit_boolean_literal (Vala.BooleanLiteral lit);
621		public virtual void visit_break_statement (Vala.BreakStatement stmt);
622		public virtual void visit_cast_expression (Vala.CastExpression expr);
623		public virtual void visit_catch_clause (Vala.CatchClause clause);
624		public virtual void visit_character_literal (Vala.CharacterLiteral lit);
625		public virtual void visit_class (Vala.Class cl);
626		public virtual void visit_conditional_expression (Vala.ConditionalExpression expr);
627		public virtual void visit_constant (Vala.Constant c);
628		public virtual void visit_constructor (Vala.Constructor c);
629		public virtual void visit_continue_statement (Vala.ContinueStatement stmt);
630		public virtual void visit_creation_method (Vala.CreationMethod m);
631		public virtual void visit_data_type (Vala.DataType type);
632		public virtual void visit_declaration_statement (Vala.DeclarationStatement stmt);
633		public virtual void visit_delegate (Vala.Delegate d);
634		public virtual void visit_delete_statement (Vala.DeleteStatement stmt);
635		public virtual void visit_destructor (Vala.Destructor d);
636		public virtual void visit_do_statement (Vala.DoStatement stmt);
637		public virtual void visit_element_access (Vala.ElementAccess expr);
638		public virtual void visit_empty_statement (Vala.EmptyStatement stmt);
639		public virtual void visit_end_full_expression (Vala.Expression expr);
640		public virtual void visit_enum (Vala.Enum en);
641		public virtual void visit_enum_value (Vala.EnumValue ev);
642		public virtual void visit_error_code (Vala.ErrorCode ecode);
643		public virtual void visit_error_domain (Vala.ErrorDomain edomain);
644		public virtual void visit_expression (Vala.Expression expr);
645		public virtual void visit_expression_statement (Vala.ExpressionStatement stmt);
646		public virtual void visit_field (Vala.Field f);
647		public virtual void visit_for_statement (Vala.ForStatement stmt);
648		public virtual void visit_foreach_statement (Vala.ForeachStatement stmt);
649		public virtual void visit_formal_parameter (Vala.Parameter p);
650		public virtual void visit_if_statement (Vala.IfStatement stmt);
651		public virtual void visit_initializer_list (Vala.InitializerList list);
652		public virtual void visit_integer_literal (Vala.IntegerLiteral lit);
653		public virtual void visit_interface (Vala.Interface iface);
654		public virtual void visit_lambda_expression (Vala.LambdaExpression expr);
655		public virtual void visit_local_variable (Vala.LocalVariable local);
656		public virtual void visit_lock_statement (Vala.LockStatement stmt);
657		public virtual void visit_loop (Vala.Loop stmt);
658		public virtual void visit_member_access (Vala.MemberAccess expr);
659		public virtual void visit_method (Vala.Method m);
660		public virtual void visit_method_call (Vala.MethodCall expr);
661		public virtual void visit_named_argument (Vala.NamedArgument expr);
662		public virtual void visit_namespace (Vala.Namespace ns);
663		public virtual void visit_null_literal (Vala.NullLiteral lit);
664		public virtual void visit_object_creation_expression (Vala.ObjectCreationExpression expr);
665		public virtual void visit_pointer_indirection (Vala.PointerIndirection expr);
666		public virtual void visit_postfix_expression (Vala.PostfixExpression expr);
667		public virtual void visit_property (Vala.Property prop);
668		public virtual void visit_property_accessor (Vala.PropertyAccessor acc);
669		public virtual void visit_real_literal (Vala.RealLiteral lit);
670		public virtual void visit_reference_transfer_expression (Vala.ReferenceTransferExpression expr);
671		public virtual void visit_regex_literal (Vala.RegexLiteral lit);
672		public virtual void visit_return_statement (Vala.ReturnStatement stmt);
673		public virtual void visit_signal (Vala.Signal sig);
674		public virtual void visit_sizeof_expression (Vala.SizeofExpression expr);
675		public virtual void visit_slice_expression (Vala.SliceExpression expr);
676		public virtual void visit_source_file (Vala.SourceFile source_file);
677		public virtual void visit_string_literal (Vala.StringLiteral lit);
678		public virtual void visit_struct (Vala.Struct st);
679		public virtual void visit_switch_label (Vala.SwitchLabel label);
680		public virtual void visit_switch_section (Vala.SwitchSection section);
681		public virtual void visit_switch_statement (Vala.SwitchStatement stmt);
682		public virtual void visit_template (Vala.Template tmpl);
683		public virtual void visit_throw_statement (Vala.ThrowStatement stmt);
684		public virtual void visit_try_statement (Vala.TryStatement stmt);
685		public virtual void visit_tuple (Vala.Tuple tuple);
686		public virtual void visit_type_check (Vala.TypeCheck expr);
687		public virtual void visit_type_parameter (Vala.TypeParameter p);
688		public virtual void visit_typeof_expression (Vala.TypeofExpression expr);
689		public virtual void visit_unary_expression (Vala.UnaryExpression expr);
690		public virtual void visit_unlock_statement (Vala.UnlockStatement stmt);
691		public virtual void visit_using_directive (Vala.UsingDirective ns);
692		public virtual void visit_while_statement (Vala.WhileStatement stmt);
693		public virtual void visit_yield_statement (Vala.YieldStatement y);
694	}
695	[CCode (cheader_filename = "vala.h")]
696	public class CodeWriter : Vala.CodeVisitor {
697		public CodeWriter (Vala.CodeWriterType type = CodeWriterType.EXTERNAL);
698		public void set_cheader_override (string original, string replacement);
699		public override void visit_addressof_expression (Vala.AddressofExpression expr);
700		public override void visit_array_creation_expression (Vala.ArrayCreationExpression expr);
701		public override void visit_assignment (Vala.Assignment a);
702		public override void visit_base_access (Vala.BaseAccess expr);
703		public override void visit_binary_expression (Vala.BinaryExpression expr);
704		public override void visit_block (Vala.Block b);
705		public override void visit_boolean_literal (Vala.BooleanLiteral lit);
706		public override void visit_break_statement (Vala.BreakStatement stmt);
707		public override void visit_cast_expression (Vala.CastExpression expr);
708		public override void visit_catch_clause (Vala.CatchClause clause);
709		public override void visit_character_literal (Vala.CharacterLiteral lit);
710		public override void visit_class (Vala.Class cl);
711		public override void visit_conditional_expression (Vala.ConditionalExpression expr);
712		public override void visit_constant (Vala.Constant c);
713		public override void visit_constructor (Vala.Constructor c);
714		public override void visit_continue_statement (Vala.ContinueStatement stmt);
715		public override void visit_creation_method (Vala.CreationMethod m);
716		public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
717		public override void visit_delegate (Vala.Delegate cb);
718		public override void visit_delete_statement (Vala.DeleteStatement stmt);
719		public override void visit_destructor (Vala.Destructor d);
720		public override void visit_do_statement (Vala.DoStatement stmt);
721		public override void visit_element_access (Vala.ElementAccess expr);
722		public override void visit_empty_statement (Vala.EmptyStatement stmt);
723		public override void visit_enum (Vala.Enum en);
724		public override void visit_error_domain (Vala.ErrorDomain edomain);
725		public override void visit_expression_statement (Vala.ExpressionStatement stmt);
726		public override void visit_field (Vala.Field f);
727		public override void visit_for_statement (Vala.ForStatement stmt);
728		public override void visit_foreach_statement (Vala.ForeachStatement stmt);
729		public override void visit_if_statement (Vala.IfStatement stmt);
730		public override void visit_initializer_list (Vala.InitializerList list);
731		public override void visit_integer_literal (Vala.IntegerLiteral lit);
732		public override void visit_interface (Vala.Interface iface);
733		public override void visit_lambda_expression (Vala.LambdaExpression expr);
734		public override void visit_local_variable (Vala.LocalVariable local);
735		public override void visit_lock_statement (Vala.LockStatement stmt);
736		public override void visit_loop (Vala.Loop stmt);
737		public override void visit_member_access (Vala.MemberAccess expr);
738		public override void visit_method (Vala.Method m);
739		public override void visit_method_call (Vala.MethodCall expr);
740		public override void visit_namespace (Vala.Namespace ns);
741		public override void visit_null_literal (Vala.NullLiteral lit);
742		public override void visit_object_creation_expression (Vala.ObjectCreationExpression expr);
743		public override void visit_pointer_indirection (Vala.PointerIndirection expr);
744		public override void visit_postfix_expression (Vala.PostfixExpression expr);
745		public override void visit_property (Vala.Property prop);
746		public override void visit_real_literal (Vala.RealLiteral lit);
747		public override void visit_reference_transfer_expression (Vala.ReferenceTransferExpression expr);
748		public override void visit_return_statement (Vala.ReturnStatement stmt);
749		public override void visit_signal (Vala.Signal sig);
750		public override void visit_sizeof_expression (Vala.SizeofExpression expr);
751		public override void visit_slice_expression (Vala.SliceExpression expr);
752		public override void visit_string_literal (Vala.StringLiteral lit);
753		public override void visit_struct (Vala.Struct st);
754		public override void visit_switch_label (Vala.SwitchLabel label);
755		public override void visit_switch_section (Vala.SwitchSection section);
756		public override void visit_switch_statement (Vala.SwitchStatement stmt);
757		public override void visit_throw_statement (Vala.ThrowStatement stmt);
758		public override void visit_try_statement (Vala.TryStatement stmt);
759		public override void visit_type_check (Vala.TypeCheck expr);
760		public override void visit_typeof_expression (Vala.TypeofExpression expr);
761		public override void visit_unary_expression (Vala.UnaryExpression expr);
762		public override void visit_unlock_statement (Vala.UnlockStatement stmt);
763		public override void visit_using_directive (Vala.UsingDirective ns);
764		public override void visit_while_statement (Vala.WhileStatement stmt);
765		public override void visit_yield_statement (Vala.YieldStatement y);
766		public void write_file (Vala.CodeContext context, string filename);
767	}
768	[CCode (cheader_filename = "vala.h")]
769	public class Comment {
770		public Comment (string comment, Vala.SourceReference _source_reference);
771		public string content { get; set; }
772		public Vala.SourceReference source_reference { get; set; }
773	}
774	[CCode (cheader_filename = "vala.h")]
775	public class ConditionalExpression : Vala.Expression {
776		public ConditionalExpression (Vala.Expression cond, Vala.Expression true_expr, Vala.Expression false_expr, Vala.SourceReference? source = null);
777		public override void accept (Vala.CodeVisitor visitor);
778		public override void accept_children (Vala.CodeVisitor visitor);
779		public override bool check (Vala.CodeContext context);
780		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
781		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
782		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
783		public override bool is_accessible (Vala.Symbol sym);
784		public override bool is_pure ();
785		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
786		public override string to_string ();
787		public Vala.Expression condition { get; set; }
788		public Vala.Expression false_expression { get; set; }
789		public Vala.Expression true_expression { get; set; }
790	}
791	[CCode (cheader_filename = "vala.h")]
792	public class Constant : Vala.Symbol {
793		public Constant (string name, Vala.DataType? type_reference, Vala.Expression? value, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
794		public override void accept (Vala.CodeVisitor visitor);
795		public override void accept_children (Vala.CodeVisitor visitor);
796		public override bool check (Vala.CodeContext context);
797		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
798		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
799		public Vala.DataType type_reference { get; set; }
800		public Vala.Expression? value { get; set; }
801	}
802	[CCode (cheader_filename = "vala.h")]
803	public class Constructor : Vala.Subroutine {
804		public Constructor (Vala.SourceReference? source = null);
805		public override void accept (Vala.CodeVisitor visitor);
806		public override void accept_children (Vala.CodeVisitor visitor);
807		public override bool check (Vala.CodeContext context);
808		public Vala.MemberBinding binding { get; set; }
809		public override bool has_result { get; }
810		public Vala.Parameter this_parameter { get; set; }
811	}
812	[CCode (cheader_filename = "vala.h")]
813	public class ContinueStatement : Vala.CodeNode, Vala.Statement {
814		public ContinueStatement (Vala.SourceReference? source = null);
815		public override void accept (Vala.CodeVisitor visitor);
816		public override void emit (Vala.CodeGenerator codegen);
817	}
818	[CCode (cheader_filename = "vala.h")]
819	public class CreationMethod : Vala.Method {
820		public CreationMethod (string? class_name, string? name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
821		public override void accept (Vala.CodeVisitor visitor);
822		public override void accept_children (Vala.CodeVisitor visitor);
823		public override bool check (Vala.CodeContext context);
824		public bool chain_up { get; set; }
825		public string class_name { get; set; }
826	}
827	[CCode (cheader_filename = "vala.h")]
828	public abstract class DataType : Vala.CodeNode {
829		protected DataType ();
830		public override void accept (Vala.CodeVisitor visitor);
831		public override void accept_children (Vala.CodeVisitor visitor);
832		public void add_type_argument (Vala.DataType arg);
833		public bool check_type_arguments (Vala.CodeContext context, bool allow_none = false);
834		public virtual bool compatible (Vala.DataType target_type);
835		public abstract Vala.DataType copy ();
836		public virtual bool equals (Vala.DataType type2);
837		public virtual Vala.DataType get_actual_type (Vala.DataType? derived_instance_type, Vala.List<Vala.DataType>? method_type_arguments, Vala.CodeNode? node_reference);
838		public virtual Vala.Symbol? get_member (string member_name);
839		public virtual unowned Vala.List<Vala.Parameter>? get_parameters ();
840		public virtual Vala.Symbol? get_pointer_member (string member_name);
841		public virtual unowned Vala.DataType? get_return_type ();
842		public unowned Vala.List<Vala.DataType> get_type_arguments ();
843		public string? get_type_signature (Vala.Symbol? symbol = null);
844		public bool has_type_arguments ();
845		public virtual Vala.DataType? infer_type_argument (Vala.TypeParameter type_param, Vala.DataType value_type);
846		public virtual bool is_accessible (Vala.Symbol sym);
847		public virtual bool is_disposable ();
848		public bool is_generic ();
849		public virtual bool is_invokable ();
850		public bool is_non_null_simple_type ();
851		public bool is_real_non_null_struct_type ();
852		public virtual bool is_real_struct_type ();
853		public virtual bool is_reference_type_or_type_parameter ();
854		public bool is_weak ();
855		public void remove_all_type_arguments ();
856		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
857		public void replace_type_parameter (Vala.TypeParameter old_type_param, Vala.TypeParameter new_type_param);
858		public virtual bool stricter (Vala.DataType type2);
859		public virtual string to_prototype_string (string? override_name = null);
860		public virtual string to_qualified_string (Vala.Scope? scope = null);
861		public override string to_string ();
862		protected DataType.with_symbol (Vala.Symbol? symbol);
863		public bool floating_reference { get; set; }
864		public bool is_dynamic { get; set; }
865		public bool nullable { get; set; }
866		public weak Vala.Symbol? symbol { get; private set; }
867		public weak Vala.TypeSymbol? type_symbol { get; }
868		public bool value_owned { get; set; }
869	}
870	[CCode (cheader_filename = "vala.h")]
871	public class DeclarationStatement : Vala.CodeNode, Vala.Statement {
872		public DeclarationStatement (Vala.Symbol declaration, Vala.SourceReference? source_reference = null);
873		public override void accept (Vala.CodeVisitor visitor);
874		public override void accept_children (Vala.CodeVisitor visitor);
875		public override bool check (Vala.CodeContext context);
876		public override void emit (Vala.CodeGenerator codegen);
877		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
878		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
879		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
880		public Vala.Symbol declaration { get; set; }
881	}
882	[CCode (cheader_filename = "vala.h")]
883	public class Delegate : Vala.TypeSymbol, Vala.Callable {
884		public Delegate (string? name, Vala.DataType return_type, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
885		public override void accept (Vala.CodeVisitor visitor);
886		public override void accept_children (Vala.CodeVisitor visitor);
887		public void add_error_type (Vala.DataType error_type);
888		public void add_type_parameter (Vala.TypeParameter p);
889		public override bool check (Vala.CodeContext context);
890		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
891		public override int get_type_parameter_index (string name);
892		public unowned Vala.List<Vala.TypeParameter> get_type_parameters ();
893		public bool has_type_parameters ();
894		public override bool is_reference_type ();
895		public bool matches_method (Vala.Method m, Vala.DataType dt);
896		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
897		public bool has_target { get; set; }
898		public Vala.DataType? sender_type { get; set; }
899	}
900	[CCode (cheader_filename = "vala.h")]
901	public class DelegateDestroyField : Vala.Field {
902		public DelegateDestroyField (Vala.SourceReference? source_reference = null);
903	}
904	[CCode (cheader_filename = "vala.h")]
905	public class DelegateTargetField : Vala.Field {
906		public DelegateTargetField (Vala.SourceReference? source_reference = null);
907	}
908	[CCode (cheader_filename = "vala.h")]
909	public class DelegateType : Vala.CallableType {
910		public DelegateType (Vala.Delegate delegate_symbol);
911		public override bool check (Vala.CodeContext context);
912		public override bool compatible (Vala.DataType target_type);
913		public override Vala.DataType copy ();
914		public override bool equals (Vala.DataType type2);
915		public override Vala.Symbol? get_member (string member_name);
916		public override bool is_accessible (Vala.Symbol sym);
917		public override bool is_disposable ();
918		public weak Vala.Delegate delegate_symbol { get; }
919		public bool is_called_once { get; set; }
920	}
921	[CCode (cheader_filename = "vala.h")]
922	public class DeleteStatement : Vala.CodeNode, Vala.Statement {
923		public DeleteStatement (Vala.Expression expression, Vala.SourceReference? source_reference = null);
924		public override void accept (Vala.CodeVisitor visitor);
925		public override void accept_children (Vala.CodeVisitor visitor);
926		public override bool check (Vala.CodeContext context);
927		public override void emit (Vala.CodeGenerator codegen);
928		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
929		public Vala.Expression expression { get; set; }
930	}
931	[CCode (cheader_filename = "vala.h")]
932	public class Destructor : Vala.Subroutine {
933		public Destructor (Vala.SourceReference? source_reference = null);
934		public override void accept (Vala.CodeVisitor visitor);
935		public override void accept_children (Vala.CodeVisitor visitor);
936		public override bool check (Vala.CodeContext context);
937		public Vala.MemberBinding binding { get; set; }
938		public override bool has_result { get; }
939		public Vala.Parameter this_parameter { get; set; }
940	}
941	[CCode (cheader_filename = "vala.h")]
942	public class DoStatement : Vala.CodeNode, Vala.Statement {
943		public DoStatement (Vala.Block body, Vala.Expression condition, Vala.SourceReference? source_reference = null);
944		public override void accept (Vala.CodeVisitor visitor);
945		public override void accept_children (Vala.CodeVisitor visitor);
946		public override bool check (Vala.CodeContext context);
947		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
948		public Vala.Block body { get; set; }
949		public Vala.Expression condition { get; set; }
950	}
951	[CCode (cheader_filename = "vala.h")]
952	public class DynamicMethod : Vala.Method {
953		public DynamicMethod (Vala.DataType dynamic_type, string name, Vala.DataType return_type, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
954		public override bool check (Vala.CodeContext context);
955		public Vala.DataType dynamic_type { get; set; }
956		public Vala.MethodCall invocation { get; set; }
957	}
958	[CCode (cheader_filename = "vala.h")]
959	public class DynamicProperty : Vala.Property {
960		public DynamicProperty (Vala.DataType dynamic_type, string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
961		public override bool check (Vala.CodeContext context);
962		public Vala.DataType dynamic_type { get; set; }
963	}
964	[CCode (cheader_filename = "vala.h")]
965	public class DynamicSignal : Vala.Signal {
966		public DynamicSignal (Vala.DataType dynamic_type, string name, Vala.DataType return_type, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
967		public Vala.DataType dynamic_type { get; set; }
968		public Vala.Expression handler { get; set; }
969	}
970	[CCode (cheader_filename = "vala.h")]
971	public class ElementAccess : Vala.Expression {
972		public ElementAccess (Vala.Expression container, Vala.SourceReference? source_reference = null);
973		public override void accept (Vala.CodeVisitor visitor);
974		public override void accept_children (Vala.CodeVisitor visitor);
975		public void append_index (Vala.Expression index);
976		public override bool check (Vala.CodeContext context);
977		public override void emit (Vala.CodeGenerator codegen);
978		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
979		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
980		public unowned Vala.List<Vala.Expression> get_indices ();
981		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
982		public override bool is_accessible (Vala.Symbol sym);
983		public override bool is_pure ();
984		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
985		public override string to_string ();
986		public Vala.Expression container { get; set; }
987	}
988	[CCode (cheader_filename = "vala.h")]
989	public class EmptyStatement : Vala.CodeNode, Vala.Statement {
990		public EmptyStatement (Vala.SourceReference? source = null);
991		public override void accept (Vala.CodeVisitor visitor);
992		public override void emit (Vala.CodeGenerator codegen);
993	}
994	[CCode (cheader_filename = "vala.h")]
995	public class Enum : Vala.TypeSymbol {
996		public Enum (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
997		public override void accept (Vala.CodeVisitor visitor);
998		public override void accept_children (Vala.CodeVisitor visitor);
999		public override void add_constant (Vala.Constant c);
1000		public override void add_method (Vala.Method m);
1001		public void add_value (Vala.EnumValue value);
1002		public override bool check (Vala.CodeContext context);
1003		public unowned Vala.List<Vala.Constant> get_constants ();
1004		public unowned Vala.List<Vala.Method> get_methods ();
1005		public unowned Vala.List<Vala.EnumValue> get_values ();
1006		public override bool is_reference_type ();
1007		public bool is_flags { get; }
1008	}
1009	[CCode (cheader_filename = "vala.h")]
1010	public class EnumValue : Vala.Constant {
1011		public EnumValue (string name, Vala.Expression? value, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1012		public override void accept (Vala.CodeVisitor visitor);
1013		public override void accept_children (Vala.CodeVisitor visitor);
1014		public override bool check (Vala.CodeContext context);
1015		public string nick { get; }
1016	}
1017	[CCode (cheader_filename = "vala.h")]
1018	public class EnumValueType : Vala.ValueType {
1019		public EnumValueType (Vala.Enum type_symbol);
1020		public override Vala.DataType copy ();
1021		public override Vala.Symbol? get_member (string member_name);
1022		public unowned Vala.Method get_to_string_method ();
1023	}
1024	[CCode (cheader_filename = "vala.h")]
1025	public class ErrorCode : Vala.TypeSymbol {
1026		public ErrorCode (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1027		public override void accept (Vala.CodeVisitor visitor);
1028		public override void accept_children (Vala.CodeVisitor visitor);
1029		public override bool check (Vala.CodeContext context);
1030		public ErrorCode.with_value (string name, Vala.Expression value, Vala.SourceReference? source_reference = null);
1031		public Vala.Constant code { get; private set; }
1032		public Vala.Expression? value { get; set; }
1033	}
1034	[CCode (cheader_filename = "vala.h")]
1035	public class ErrorDomain : Vala.TypeSymbol {
1036		public ErrorDomain (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1037		public override void accept (Vala.CodeVisitor visitor);
1038		public override void accept_children (Vala.CodeVisitor visitor);
1039		public void add_code (Vala.ErrorCode ecode);
1040		public override void add_method (Vala.Method m);
1041		public override bool check (Vala.CodeContext context);
1042		public unowned Vala.List<Vala.ErrorCode> get_codes ();
1043		public unowned Vala.List<Vala.Method> get_methods ();
1044		public override bool is_reference_type ();
1045	}
1046	[CCode (cheader_filename = "vala.h")]
1047	public class ErrorType : Vala.ReferenceType {
1048		public ErrorType (Vala.ErrorDomain? error_domain, Vala.ErrorCode? error_code, Vala.SourceReference? source_reference = null);
1049		public override bool check (Vala.CodeContext context);
1050		public override bool compatible (Vala.DataType target_type);
1051		public override Vala.DataType copy ();
1052		public override bool equals (Vala.DataType type2);
1053		public override Vala.Symbol? get_member (string member_name);
1054		public override bool is_reference_type_or_type_parameter ();
1055		public override string to_qualified_string (Vala.Scope? scope);
1056		public bool dynamic_error { get; set; }
1057		public weak Vala.ErrorCode? error_code { get; set; }
1058		public weak Vala.ErrorDomain? error_domain { get; }
1059	}
1060	[CCode (cheader_filename = "vala.h")]
1061	public abstract class Expression : Vala.CodeNode {
1062		protected Expression ();
1063		public void insert_statement (Vala.Block block, Vala.Statement stmt);
1064		public virtual bool is_accessible (Vala.Symbol sym);
1065		public virtual bool is_constant ();
1066		public virtual bool is_non_null ();
1067		public abstract bool is_pure ();
1068		public Vala.DataType? formal_target_type { get; set; }
1069		public Vala.DataType? formal_value_type { get; set; }
1070		public bool lvalue { get; set; }
1071		public Vala.Statement? parent_statement { get; }
1072		public weak Vala.Symbol symbol_reference { get; set; }
1073		public Vala.DataType target_type { get; set; }
1074		public Vala.TargetValue? target_value { get; set; }
1075		public Vala.DataType value_type { get; set; }
1076	}
1077	[CCode (cheader_filename = "vala.h")]
1078	public class ExpressionStatement : Vala.CodeNode, Vala.Statement {
1079		public ExpressionStatement (Vala.Expression expression, Vala.SourceReference? source_reference = null);
1080		public override void accept (Vala.CodeVisitor visitor);
1081		public override void accept_children (Vala.CodeVisitor visitor);
1082		public override bool check (Vala.CodeContext context);
1083		public override void emit (Vala.CodeGenerator codegen);
1084		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1085		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1086		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1087		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1088		public Vala.Expression expression { get; set; }
1089	}
1090	[CCode (cheader_filename = "vala.h")]
1091	public class Field : Vala.Variable, Vala.Lockable {
1092		public Field (string name, Vala.DataType variable_type, Vala.Expression? initializer, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1093		public override void accept (Vala.CodeVisitor visitor);
1094		public override void accept_children (Vala.CodeVisitor visitor);
1095		public override bool check (Vala.CodeContext context);
1096		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1097		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1098		public Vala.MemberBinding binding { get; set; }
1099		public bool is_volatile { get; set; }
1100	}
1101	[CCode (cheader_filename = "vala.h")]
1102	public class FieldPrototype : Vala.DataType {
1103		public FieldPrototype (Vala.Field field_symbol);
1104		public override Vala.DataType copy ();
1105		public override string to_qualified_string (Vala.Scope? scope);
1106		public weak Vala.Field field_symbol { get; }
1107	}
1108	[CCode (cheader_filename = "vala.h")]
1109	public class FloatingType : Vala.ValueType {
1110		public FloatingType (Vala.Struct type_symbol);
1111		public override Vala.DataType copy ();
1112	}
1113	[CCode (cheader_filename = "vala.h")]
1114	public class FlowAnalyzer : Vala.CodeVisitor {
1115		public FlowAnalyzer ();
1116		public void analyze (Vala.CodeContext context);
1117		public override void visit_block (Vala.Block b);
1118		public override void visit_break_statement (Vala.BreakStatement stmt);
1119		public override void visit_class (Vala.Class cl);
1120		public override void visit_continue_statement (Vala.ContinueStatement stmt);
1121		public override void visit_creation_method (Vala.CreationMethod m);
1122		public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
1123		public override void visit_enum (Vala.Enum en);
1124		public override void visit_error_domain (Vala.ErrorDomain ed);
1125		public override void visit_expression (Vala.Expression expr);
1126		public override void visit_expression_statement (Vala.ExpressionStatement stmt);
1127		public override void visit_field (Vala.Field f);
1128		public override void visit_foreach_statement (Vala.ForeachStatement stmt);
1129		public override void visit_if_statement (Vala.IfStatement stmt);
1130		public override void visit_interface (Vala.Interface iface);
1131		public override void visit_lambda_expression (Vala.LambdaExpression le);
1132		public override void visit_local_variable (Vala.LocalVariable local);
1133		public override void visit_lock_statement (Vala.LockStatement stmt);
1134		public override void visit_loop (Vala.Loop stmt);
1135		public override void visit_method (Vala.Method m);
1136		public override void visit_property (Vala.Property prop);
1137		public override void visit_property_accessor (Vala.PropertyAccessor acc);
1138		public override void visit_return_statement (Vala.ReturnStatement stmt);
1139		public override void visit_signal (Vala.Signal sig);
1140		public override void visit_source_file (Vala.SourceFile source_file);
1141		public override void visit_struct (Vala.Struct st);
1142		public override void visit_switch_statement (Vala.SwitchStatement stmt);
1143		public override void visit_throw_statement (Vala.ThrowStatement stmt);
1144		public override void visit_try_statement (Vala.TryStatement stmt);
1145		public override void visit_unlock_statement (Vala.UnlockStatement stmt);
1146		public override void visit_yield_statement (Vala.YieldStatement stmt);
1147	}
1148	[CCode (cheader_filename = "vala.h")]
1149	public class ForStatement : Vala.CodeNode, Vala.Statement {
1150		public ForStatement (Vala.Expression? condition, Vala.Block body, Vala.SourceReference? source_reference = null);
1151		public override void accept (Vala.CodeVisitor visitor);
1152		public override void accept_children (Vala.CodeVisitor visitor);
1153		public void add_initializer (Vala.Expression init);
1154		public void add_iterator (Vala.Expression iter);
1155		public override bool check (Vala.CodeContext context);
1156		public unowned Vala.List<Vala.Expression> get_initializer ();
1157		public unowned Vala.List<Vala.Expression> get_iterator ();
1158		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1159		public Vala.Block body { get; set; }
1160		public Vala.Expression? condition { get; set; }
1161	}
1162	[CCode (cheader_filename = "vala.h")]
1163	public class ForeachStatement : Vala.Block {
1164		public ForeachStatement (Vala.DataType? type_reference, string variable_name, Vala.Expression collection, Vala.Block body, Vala.SourceReference? source_reference = null);
1165		public override void accept (Vala.CodeVisitor visitor);
1166		public override void accept_children (Vala.CodeVisitor visitor);
1167		public override bool check (Vala.CodeContext context);
1168		public override void emit (Vala.CodeGenerator codegen);
1169		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1170		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1171		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1172		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1173		public Vala.Block body { get; set; }
1174		public Vala.Expression collection { get; set; }
1175		public Vala.LocalVariable collection_variable { get; set; }
1176		public Vala.LocalVariable element_variable { get; set; }
1177		public Vala.LocalVariable iterator_variable { get; set; }
1178		public Vala.DataType? type_reference { get; set; }
1179		public bool use_iterator { get; private set; }
1180		public string variable_name { get; set; }
1181	}
1182	[CCode (cheader_filename = "vala.h")]
1183	public class GenericDestroyField : Vala.Field {
1184		public GenericDestroyField (Vala.SourceReference? source_reference = null);
1185	}
1186	[CCode (cheader_filename = "vala.h")]
1187	public class GenericDupField : Vala.Field {
1188		public GenericDupField (Vala.SourceReference? source_reference = null);
1189	}
1190	[CCode (cheader_filename = "vala.h")]
1191	public class GenericType : Vala.DataType {
1192		public GenericType (Vala.TypeParameter type_parameter);
1193		public override Vala.DataType copy ();
1194		public override Vala.DataType get_actual_type (Vala.DataType? derived_instance_type, Vala.List<Vala.DataType>? method_type_arguments, Vala.CodeNode? node_reference);
1195		public override Vala.Symbol? get_member (string member_name);
1196		public override Vala.DataType? infer_type_argument (Vala.TypeParameter type_param, Vala.DataType value_type);
1197		public override string to_qualified_string (Vala.Scope? scope = null);
1198		public weak Vala.TypeParameter type_parameter { get; set; }
1199	}
1200	[CCode (cheader_filename = "vala.h")]
1201	public class GirComment : Vala.Comment {
1202		public GirComment (string? comment, Vala.SourceReference _source_reference);
1203		public Vala.Comment? get_content_for_parameter (string name);
1204		public Vala.MapIterator<string,Vala.Comment> parameter_iterator ();
1205		public Vala.Comment? return_content { get; set; }
1206	}
1207	[CCode (cheader_filename = "vala.h")]
1208	public class GirParser : Vala.CodeVisitor {
1209		public GirParser ();
1210		public void parse (Vala.CodeContext context);
1211		public void parse_file (Vala.SourceFile source_file);
1212		public override void visit_source_file (Vala.SourceFile source_file);
1213	}
1214	[CCode (cheader_filename = "vala.h")]
1215	public class IfStatement : Vala.CodeNode, Vala.Statement {
1216		public IfStatement (Vala.Expression cond, Vala.Block true_stmt, Vala.Block? false_stmt, Vala.SourceReference? source = null);
1217		public override void accept (Vala.CodeVisitor visitor);
1218		public override void accept_children (Vala.CodeVisitor visitor);
1219		public override bool check (Vala.CodeContext context);
1220		public override void emit (Vala.CodeGenerator codegen);
1221		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1222		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1223		public Vala.Expression condition { get; set; }
1224		public Vala.Block? false_statement { get; set; }
1225		public Vala.Block true_statement { get; set; }
1226	}
1227	[CCode (cheader_filename = "vala.h")]
1228	public class InitializerList : Vala.Expression {
1229		public InitializerList (Vala.SourceReference? source_reference = null);
1230		public override void accept (Vala.CodeVisitor visitor);
1231		public override void accept_children (Vala.CodeVisitor visitor);
1232		public void append (Vala.Expression expr);
1233		public override bool check (Vala.CodeContext context);
1234		public override void emit (Vala.CodeGenerator codegen);
1235		public unowned Vala.List<Vala.Expression> get_initializers ();
1236		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1237		public override bool is_accessible (Vala.Symbol sym);
1238		public override bool is_constant ();
1239		public override bool is_pure ();
1240		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1241		public override string to_string ();
1242		public int size { get; }
1243	}
1244	[CCode (cheader_filename = "vala.h")]
1245	public class IntegerLiteral : Vala.Literal {
1246		public IntegerLiteral (string i, Vala.SourceReference? source = null);
1247		public override void accept (Vala.CodeVisitor visitor);
1248		public override bool check (Vala.CodeContext context);
1249		public override void emit (Vala.CodeGenerator codegen);
1250		public override bool is_pure ();
1251		public override string to_string ();
1252		public string type_suffix { get; set; }
1253		public string value { get; set; }
1254	}
1255	[CCode (cheader_filename = "vala.h")]
1256	public class IntegerType : Vala.ValueType {
1257		public IntegerType (Vala.Struct type_symbol, string? literal_value = null, string? literal_type_name = null);
1258		public override bool compatible (Vala.DataType target_type);
1259		public override Vala.DataType copy ();
1260	}
1261	[CCode (cheader_filename = "vala.h")]
1262	public class Interface : Vala.ObjectTypeSymbol {
1263		public Interface (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1264		public override void accept (Vala.CodeVisitor visitor);
1265		public override void accept_children (Vala.CodeVisitor visitor);
1266		public override void add_method (Vala.Method m);
1267		public void add_prerequisite (Vala.DataType type);
1268		public override void add_property (Vala.Property prop);
1269		public override bool check (Vala.CodeContext context);
1270		public unowned Vala.List<Vala.DataType> get_prerequisites ();
1271		public virtual Vala.List<Vala.Symbol> get_virtuals ();
1272		public override bool is_reference_type ();
1273		public override bool is_subtype_of (Vala.TypeSymbol t);
1274		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1275	}
1276	[CCode (cheader_filename = "vala.h")]
1277	public class InterfaceType : Vala.ReferenceType {
1278		public InterfaceType (Vala.Interface interface_symbol);
1279		public override Vala.DataType copy ();
1280		public weak Vala.Interface interface_symbol { get; }
1281	}
1282	[CCode (cheader_filename = "vala.h")]
1283	public class InvalidType : Vala.DataType {
1284		public InvalidType ();
1285		public override Vala.DataType copy ();
1286	}
1287	[CCode (cheader_filename = "vala.h")]
1288	public class LambdaExpression : Vala.Expression {
1289		public LambdaExpression (Vala.Expression expression_body, Vala.SourceReference? source_reference = null);
1290		public override void accept (Vala.CodeVisitor visitor);
1291		public override void accept_children (Vala.CodeVisitor visitor);
1292		public void add_parameter (Vala.Parameter param);
1293		public override bool check (Vala.CodeContext context);
1294		public override void emit (Vala.CodeGenerator codegen);
1295		public unowned Vala.List<Vala.Parameter> get_parameters ();
1296		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1297		public override bool is_pure ();
1298		public LambdaExpression.with_statement_body (Vala.Block statement_body, Vala.SourceReference? source_reference = null);
1299		public Vala.Expression expression_body { get; set; }
1300		public Vala.Method method { get; set; }
1301		public Vala.Block statement_body { get; set; }
1302	}
1303	[CCode (cheader_filename = "vala.h")]
1304	public abstract class Literal : Vala.Expression {
1305		protected Literal ();
1306		public override bool is_constant ();
1307		public override bool is_pure ();
1308	}
1309	[CCode (cheader_filename = "vala.h")]
1310	public class LocalVariable : Vala.Variable {
1311		public LocalVariable (Vala.DataType? variable_type, string name, Vala.Expression? initializer = null, Vala.SourceReference? source_reference = null);
1312		public override void accept (Vala.CodeVisitor visitor);
1313		public override void accept_children (Vala.CodeVisitor visitor);
1314		public override bool check (Vala.CodeContext context);
1315		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1316		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1317		public bool captured { get; set; }
1318		public bool init { get; set; }
1319		public bool is_result { get; set; }
1320	}
1321	[CCode (cheader_filename = "vala.h")]
1322	public class LockStatement : Vala.CodeNode, Vala.Statement {
1323		public LockStatement (Vala.Expression resource, Vala.Block? body, Vala.SourceReference? source_reference = null);
1324		public override void accept (Vala.CodeVisitor visitor);
1325		public override bool check (Vala.CodeContext context);
1326		public override void emit (Vala.CodeGenerator codegen);
1327		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1328		public Vala.Block? body { get; set; }
1329		public Vala.Expression resource { get; set; }
1330	}
1331	[CCode (cheader_filename = "vala.h")]
1332	public class Loop : Vala.CodeNode, Vala.Statement {
1333		public Loop (Vala.Block body, Vala.SourceReference? source_reference = null);
1334		public override void accept (Vala.CodeVisitor visitor);
1335		public override void accept_children (Vala.CodeVisitor visitor);
1336		public override bool check (Vala.CodeContext context);
1337		public override void emit (Vala.CodeGenerator codegen);
1338		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1339		public Vala.Block body { get; set; }
1340	}
1341	[CCode (cheader_filename = "vala.h")]
1342	public class MarkupReader {
1343		public MarkupReader (string filename);
1344		public MarkupReader.from_string (string filename, string content);
1345		public string? get_attribute (string attr);
1346		public Vala.Map<string,string> get_attributes ();
1347		public Vala.MarkupTokenType read_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
1348		public string content { get; private set; }
1349		public string filename { get; private set; }
1350		public string name { get; private set; }
1351	}
1352	[CCode (cheader_filename = "vala.h")]
1353	public class MemberAccess : Vala.Expression {
1354		public MemberAccess (Vala.Expression? inner, string member_name, Vala.SourceReference? source_reference = null);
1355		public override void accept (Vala.CodeVisitor visitor);
1356		public override void accept_children (Vala.CodeVisitor visitor);
1357		public void add_type_argument (Vala.DataType arg);
1358		public override bool check (Vala.CodeContext context);
1359		public void check_lvalue_access ();
1360		public override void emit (Vala.CodeGenerator codegen);
1361		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1362		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1363		public unowned Vala.List<Vala.DataType> get_type_arguments ();
1364		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1365		public override bool is_accessible (Vala.Symbol sym);
1366		public override bool is_constant ();
1367		public override bool is_non_null ();
1368		public override bool is_pure ();
1369		public MemberAccess.pointer (Vala.Expression inner, string member_name, Vala.SourceReference? source_reference = null);
1370		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1371		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1372		public MemberAccess.simple (string member_name, Vala.SourceReference? source_reference = null);
1373		public override string to_string ();
1374		public bool creation_member { get; set; }
1375		public Vala.Expression? inner { get; set; }
1376		public string member_name { get; set; }
1377		public bool pointer_member_access { get; set; }
1378		public bool prototype_access { get; set; }
1379		public bool qualified { get; set; }
1380		public bool tainted_access { get; set; }
1381	}
1382	[CCode (cheader_filename = "vala.h")]
1383	public class MemberInitializer : Vala.CodeNode {
1384		public MemberInitializer (string name, Vala.Expression initializer, Vala.SourceReference? source_reference = null);
1385		public override void accept (Vala.CodeVisitor visitor);
1386		public override bool check (Vala.CodeContext context);
1387		public override void emit (Vala.CodeGenerator codegen);
1388		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1389		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1390		public Vala.Expression initializer { get; set; }
1391		public string name { get; set; }
1392		public weak Vala.Symbol symbol_reference { get; set; }
1393	}
1394	[CCode (cheader_filename = "vala.h")]
1395	public class Method : Vala.Subroutine, Vala.Callable {
1396		protected Vala.List<Vala.DataType> error_types;
1397		public Method (string? name, Vala.DataType return_type, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1398		public override void accept (Vala.CodeVisitor visitor);
1399		public override void accept_children (Vala.CodeVisitor visitor);
1400		public void add_captured_variable (Vala.LocalVariable local);
1401		public void add_error_type (Vala.DataType error_type);
1402		public void add_postcondition (Vala.Expression postcondition);
1403		public void add_precondition (Vala.Expression precondition);
1404		public void add_type_parameter (Vala.TypeParameter p);
1405		public override bool check (Vala.CodeContext context);
1406		public void clear_parameters ();
1407		public bool compatible (Vala.Method base_method, out string? invalid_match);
1408		public bool compatible_no_error (Vala.Method base_method);
1409		public Vala.List<Vala.Parameter> get_async_begin_parameters ();
1410		public Vala.List<Vala.Parameter> get_async_end_parameters ();
1411		public unowned Vala.Method get_callback_method ();
1412		public void get_captured_variables (Vala.Collection<Vala.LocalVariable> variables);
1413		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1414		public unowned Vala.Method get_end_method ();
1415		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1416		public int get_format_arg_index ();
1417		public unowned Vala.List<Vala.Expression> get_postconditions ();
1418		public unowned Vala.List<Vala.Expression> get_preconditions ();
1419		public int get_required_arguments ();
1420		public int get_type_parameter_index (string name);
1421		public unowned Vala.List<Vala.TypeParameter> get_type_parameters ();
1422		public bool has_error_type_parameter ();
1423		public bool has_type_parameters ();
1424		public bool is_variadic ();
1425		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1426		public Vala.Method base_interface_method { get; }
1427		public Vala.DataType base_interface_type { get; set; }
1428		public Vala.Method base_method { get; }
1429		public Vala.MemberBinding binding { get; set; }
1430		public bool closure { get; set; }
1431		public bool coroutine { get; set; }
1432		public bool entry_point { get; private set; }
1433		public bool has_construct_function { get; set; }
1434		public override bool has_result { get; }
1435		public bool is_abstract { get; set; }
1436		public bool is_async_callback { get; set; }
1437		public bool is_inline { get; set; }
1438		public bool is_virtual { get; set; }
1439		public bool overrides { get; set; }
1440		public Vala.LocalVariable? params_array_var { get; protected set; }
1441		public bool printf_format { get; set; }
1442		public bool returns_floating_reference { get; set; }
1443		public bool returns_modified_pointer { get; set; }
1444		public bool scanf_format { get; set; }
1445		public weak Vala.Signal signal_reference { get; set; }
1446		public Vala.Parameter this_parameter { get; set; }
1447	}
1448	[CCode (cheader_filename = "vala.h")]
1449	public class MethodCall : Vala.Expression {
1450		public MethodCall (Vala.Expression call, Vala.SourceReference? source_reference = null);
1451		public override void accept (Vala.CodeVisitor visitor);
1452		public override void accept_children (Vala.CodeVisitor visitor);
1453		public void add_argument (Vala.Expression arg);
1454		public override bool check (Vala.CodeContext context);
1455		public override void emit (Vala.CodeGenerator codegen);
1456		public unowned Vala.List<Vala.Expression> get_argument_list ();
1457		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1458		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1459		public Vala.StringLiteral? get_format_literal ();
1460		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1461		public override bool is_accessible (Vala.Symbol sym);
1462		public override bool is_constant ();
1463		public override bool is_pure ();
1464		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1465		public override string to_string ();
1466		public Vala.Expression call { get; set; }
1467		public bool is_assert { get; private set; }
1468		public bool is_chainup { get; private set; }
1469		public bool is_constructv_chainup { get; private set; }
1470		public bool is_yield_expression { get; set; }
1471	}
1472	[CCode (cheader_filename = "vala.h")]
1473	public class MethodType : Vala.CallableType {
1474		public MethodType (Vala.Method method_symbol);
1475		public override bool compatible (Vala.DataType target_type);
1476		public override Vala.DataType copy ();
1477		public override Vala.Symbol? get_member (string member_name);
1478		public override string to_qualified_string (Vala.Scope? scope);
1479		public weak Vala.Method method_symbol { get; }
1480	}
1481	[CCode (cheader_filename = "vala.h")]
1482	public class NamedArgument : Vala.Expression {
1483		public NamedArgument (string name, Vala.Expression inner, Vala.SourceReference? source_reference = null);
1484		public override void accept (Vala.CodeVisitor visitor);
1485		public override void accept_children (Vala.CodeVisitor visitor);
1486		public override bool check (Vala.CodeContext context);
1487		public override void emit (Vala.CodeGenerator codegen);
1488		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1489		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1490		public override bool is_pure ();
1491		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1492		public Vala.Expression inner { get; set; }
1493		public string name { get; set; }
1494	}
1495	[CCode (cheader_filename = "vala.h")]
1496	public class Namespace : Vala.Symbol {
1497		public Namespace (string? name, Vala.SourceReference? source_reference = null);
1498		public override void accept (Vala.CodeVisitor visitor);
1499		public override void accept_children (Vala.CodeVisitor visitor);
1500		public override void add_class (Vala.Class cl);
1501		public void add_comment (Vala.Comment comment);
1502		public override void add_constant (Vala.Constant constant);
1503		public override void add_delegate (Vala.Delegate d);
1504		public override void add_enum (Vala.Enum en);
1505		public override void add_error_domain (Vala.ErrorDomain edomain);
1506		public override void add_field (Vala.Field f);
1507		public override void add_interface (Vala.Interface iface);
1508		public override void add_method (Vala.Method m);
1509		public override void add_namespace (Vala.Namespace ns);
1510		public override void add_struct (Vala.Struct st);
1511		public void add_using_directive (Vala.UsingDirective ns);
1512		public override bool check (Vala.CodeContext context);
1513		public unowned Vala.List<Vala.Class> get_classes ();
1514		public unowned Vala.List<Vala.Comment> get_comments ();
1515		public unowned Vala.List<Vala.Constant> get_constants ();
1516		public unowned Vala.List<Vala.Delegate> get_delegates ();
1517		public unowned Vala.List<Vala.Enum> get_enums ();
1518		public unowned Vala.List<Vala.ErrorDomain> get_error_domains ();
1519		public unowned Vala.List<Vala.Field> get_fields ();
1520		public unowned Vala.List<Vala.Interface> get_interfaces ();
1521		public unowned Vala.List<Vala.Method> get_methods ();
1522		public unowned Vala.List<Vala.Namespace> get_namespaces ();
1523		public unowned Vala.List<Vala.Struct> get_structs ();
1524		public override string to_string ();
1525	}
1526	[CCode (cheader_filename = "vala.h")]
1527	public class NullLiteral : Vala.Literal {
1528		public NullLiteral (Vala.SourceReference? source = null);
1529		public override void accept (Vala.CodeVisitor visitor);
1530		public override bool check (Vala.CodeContext context);
1531		public override void emit (Vala.CodeGenerator codegen);
1532		public override bool is_pure ();
1533		public override string to_string ();
1534	}
1535	[CCode (cheader_filename = "vala.h")]
1536	public class NullType : Vala.ReferenceType {
1537		public NullType (Vala.SourceReference? source_reference = null);
1538		public override bool compatible (Vala.DataType target_type);
1539		public override Vala.DataType copy ();
1540		public override bool is_disposable ();
1541		public override string to_qualified_string (Vala.Scope? scope = null);
1542	}
1543	[CCode (cheader_filename = "vala.h")]
1544	public class ObjectCreationExpression : Vala.Expression {
1545		public ObjectCreationExpression (Vala.MemberAccess? member_name, Vala.SourceReference? source_reference = null);
1546		public override void accept (Vala.CodeVisitor visitor);
1547		public override void accept_children (Vala.CodeVisitor visitor);
1548		public void add_argument (Vala.Expression arg);
1549		public void add_member_initializer (Vala.MemberInitializer init);
1550		public override bool check (Vala.CodeContext context);
1551		public override void emit (Vala.CodeGenerator codegen);
1552		public unowned Vala.List<Vala.Expression> get_argument_list ();
1553		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1554		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1555		public unowned Vala.List<Vala.MemberInitializer> get_object_initializer ();
1556		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1557		public override bool is_accessible (Vala.Symbol sym);
1558		public override bool is_pure ();
1559		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1560		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1561		public bool is_yield_expression { get; set; }
1562		public Vala.MemberAccess? member_name { get; set; }
1563		public bool struct_creation { get; set; }
1564		public Vala.DataType type_reference { get; set; }
1565	}
1566	[CCode (cheader_filename = "vala.h")]
1567	public class ObjectType : Vala.ReferenceType {
1568		public ObjectType (Vala.ObjectTypeSymbol type_symbol);
1569		public override bool check (Vala.CodeContext context);
1570		public override Vala.DataType copy ();
1571		public override unowned Vala.List<Vala.Parameter>? get_parameters ();
1572		public override unowned Vala.DataType? get_return_type ();
1573		public override bool is_invokable ();
1574		public override bool stricter (Vala.DataType target_type);
1575		public weak Vala.ObjectTypeSymbol object_type_symbol { get; }
1576	}
1577	[CCode (cheader_filename = "vala.h")]
1578	public abstract class ObjectTypeSymbol : Vala.TypeSymbol {
1579		protected ObjectTypeSymbol (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1580		public override void accept_children (Vala.CodeVisitor visitor);
1581		public override void add_class (Vala.Class cl);
1582		public override void add_constant (Vala.Constant c);
1583		public override void add_delegate (Vala.Delegate d);
1584		public override void add_enum (Vala.Enum en);
1585		public override void add_field (Vala.Field f);
1586		public void add_hidden_method (Vala.Method m);
1587		public override void add_interface (Vala.Interface iface);
1588		public override void add_method (Vala.Method m);
1589		public override void add_property (Vala.Property prop);
1590		public override void add_signal (Vala.Signal sig);
1591		public override void add_struct (Vala.Struct st);
1592		public void add_type_parameter (Vala.TypeParameter p);
1593		public override bool check (Vala.CodeContext context);
1594		public unowned Vala.List<Vala.Class> get_classes ();
1595		public unowned Vala.List<Vala.Constant> get_constants ();
1596		public unowned Vala.List<Vala.Delegate> get_delegates ();
1597		public unowned Vala.List<Vala.Enum> get_enums ();
1598		public unowned Vala.List<Vala.Field> get_fields ();
1599		public unowned Vala.List<Vala.Interface> get_interfaces ();
1600		public unowned Vala.List<Vala.Symbol> get_members ();
1601		public unowned Vala.List<Vala.Method> get_methods ();
1602		public unowned Vala.List<Vala.Property> get_properties ();
1603		public unowned Vala.List<Vala.Signal> get_signals ();
1604		public unowned Vala.List<Vala.Struct> get_structs ();
1605		public override int get_type_parameter_index (string name);
1606		public unowned Vala.List<Vala.TypeParameter> get_type_parameters ();
1607		public bool has_type_parameters ();
1608	}
1609	[CCode (cheader_filename = "vala.h")]
1610	public class Parameter : Vala.Variable {
1611		public Parameter (string name, Vala.DataType? variable_type, Vala.SourceReference? source_reference = null);
1612		public override void accept (Vala.CodeVisitor visitor);
1613		public override void accept_children (Vala.CodeVisitor visitor);
1614		public override bool check (Vala.CodeContext context);
1615		public Vala.Parameter copy ();
1616		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1617		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1618		public Parameter.with_ellipsis (Vala.SourceReference? source_reference = null);
1619		public Vala.Parameter base_parameter { get; set; }
1620		public bool captured { get; set; }
1621		public Vala.ParameterDirection direction { get; set; }
1622		public bool ellipsis { get; set; }
1623		public bool format_arg { get; }
1624		public bool params_array { get; set; }
1625	}
1626	[CCode (cheader_filename = "vala.h")]
1627	public class Parser : Vala.CodeVisitor {
1628		public Parser ();
1629		public void parse (Vala.CodeContext context);
1630		public void parse_file (Vala.SourceFile source_file);
1631		public override void visit_source_file (Vala.SourceFile source_file);
1632	}
1633	[CCode (cheader_filename = "vala.h")]
1634	public class PhiFunction {
1635		public PhiFunction (Vala.Variable variable, int num_of_ops);
1636		public Vala.List<Vala.Variable?> operands { get; private set; }
1637		public Vala.Variable original_variable { get; private set; }
1638	}
1639	[CCode (cheader_filename = "vala.h")]
1640	public class PointerIndirection : Vala.Expression {
1641		public PointerIndirection (Vala.Expression inner, Vala.SourceReference? source_reference = null);
1642		public override void accept (Vala.CodeVisitor visitor);
1643		public override bool check (Vala.CodeContext context);
1644		public override void emit (Vala.CodeGenerator codegen);
1645		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1646		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1647		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1648		public override bool is_accessible (Vala.Symbol sym);
1649		public override bool is_pure ();
1650		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1651		public override string to_string ();
1652		public Vala.Expression inner { get; set; }
1653	}
1654	[CCode (cheader_filename = "vala.h")]
1655	public class PointerType : Vala.DataType {
1656		public PointerType (Vala.DataType base_type, Vala.SourceReference? source_reference = null);
1657		public override void accept_children (Vala.CodeVisitor visitor);
1658		public override bool check (Vala.CodeContext context);
1659		public override bool compatible (Vala.DataType target_type);
1660		public override Vala.DataType copy ();
1661		public override Vala.DataType get_actual_type (Vala.DataType? derived_instance_type, Vala.List<Vala.DataType>? method_type_arguments, Vala.CodeNode? node_reference);
1662		public override Vala.Symbol? get_member (string member_name);
1663		public override Vala.Symbol? get_pointer_member (string member_name);
1664		public override Vala.DataType? infer_type_argument (Vala.TypeParameter type_param, Vala.DataType value_type);
1665		public override bool is_accessible (Vala.Symbol sym);
1666		public override bool is_disposable ();
1667		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1668		public override bool stricter (Vala.DataType type2);
1669		public override string to_qualified_string (Vala.Scope? scope);
1670		public Vala.DataType base_type { get; set; }
1671	}
1672	[CCode (cheader_filename = "vala.h")]
1673	public class PostfixExpression : Vala.Expression {
1674		public PostfixExpression (Vala.Expression _inner, bool inc, Vala.SourceReference? source = null);
1675		public override void accept (Vala.CodeVisitor visitor);
1676		public override void accept_children (Vala.CodeVisitor visitor);
1677		public override bool check (Vala.CodeContext context);
1678		public override void emit (Vala.CodeGenerator codegen);
1679		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1680		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1681		public override bool is_accessible (Vala.Symbol sym);
1682		public override bool is_pure ();
1683		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1684		public override string to_string ();
1685		public bool increment { get; set; }
1686		public Vala.Expression inner { get; set; }
1687	}
1688	[CCode (cheader_filename = "vala.h")]
1689	public class Property : Vala.Symbol, Vala.Lockable {
1690		public Property (string name, Vala.DataType? property_type, Vala.PropertyAccessor? get_accessor, Vala.PropertyAccessor? set_accessor, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1691		public override void accept (Vala.CodeVisitor visitor);
1692		public override void accept_children (Vala.CodeVisitor visitor);
1693		public override bool check (Vala.CodeContext context);
1694		public bool compatible (Vala.Property base_property, out string? invalid_match);
1695		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1696		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1697		public Vala.Property base_interface_property { get; }
1698		public Vala.Property base_property { get; }
1699		public Vala.MemberBinding binding { get; set; }
1700		public string blurb { get; }
1701		public Vala.Field? field { get; }
1702		public Vala.PropertyAccessor? get_accessor { get; set; }
1703		public Vala.Expression initializer { get; set; }
1704		public bool interface_only { get; set; }
1705		public bool is_abstract { get; set; }
1706		public bool is_virtual { get; set; }
1707		public string nick { get; }
1708		public bool notify { get; }
1709		public bool overrides { get; set; }
1710		public Vala.DataType? property_type { get; set; }
1711		public Vala.PropertyAccessor? set_accessor { get; set; }
1712		public Vala.Parameter this_parameter { get; set; }
1713	}
1714	[CCode (cheader_filename = "vala.h")]
1715	public class PropertyAccessor : Vala.Subroutine {
1716		public PropertyAccessor (bool readable, bool writable, bool construction, Vala.DataType? value_type, Vala.Block? body, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1717		public override void accept (Vala.CodeVisitor visitor);
1718		public override void accept_children (Vala.CodeVisitor visitor);
1719		public override bool check (Vala.CodeContext context);
1720		public Vala.Method? get_method ();
1721		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1722		public bool automatic_body { get; private set; }
1723		public bool construction { get; private set; }
1724		public override bool has_result { get; }
1725		public Vala.Property prop { get; }
1726		public bool readable { get; private set; }
1727		public Vala.Parameter value_parameter { get; private set; }
1728		public Vala.DataType? value_type { get; private set; }
1729		public bool writable { get; private set; }
1730	}
1731	[CCode (cheader_filename = "vala.h")]
1732	public class PropertyPrototype : Vala.DataType {
1733		public PropertyPrototype (Vala.Property property_symbol);
1734		public override Vala.DataType copy ();
1735		public override string to_qualified_string (Vala.Scope? scope);
1736		public weak Vala.Property property_symbol { get; }
1737	}
1738	[CCode (cheader_filename = "vala.h")]
1739	public class RealLiteral : Vala.Literal {
1740		public RealLiteral (string r, Vala.SourceReference? source = null);
1741		public override void accept (Vala.CodeVisitor visitor);
1742		public override bool check (Vala.CodeContext context);
1743		public override void emit (Vala.CodeGenerator codegen);
1744		public string get_type_name ();
1745		public override bool is_pure ();
1746		public override string to_string ();
1747		public string value { get; set; }
1748	}
1749	[CCode (cheader_filename = "vala.h")]
1750	public class ReferenceTransferExpression : Vala.Expression {
1751		public ReferenceTransferExpression (Vala.Expression inner, Vala.SourceReference? source_reference = null);
1752		public override void accept (Vala.CodeVisitor visitor);
1753		public override void accept_children (Vala.CodeVisitor visitor);
1754		public override bool check (Vala.CodeContext context);
1755		public override void emit (Vala.CodeGenerator codegen);
1756		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1757		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1758		public override bool is_accessible (Vala.Symbol sym);
1759		public override bool is_pure ();
1760		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1761		public override string to_string ();
1762		public Vala.Expression inner { get; set; }
1763	}
1764	[CCode (cheader_filename = "vala.h")]
1765	public abstract class ReferenceType : Vala.DataType {
1766		protected ReferenceType (Vala.Symbol? symbol);
1767	}
1768	[CCode (cheader_filename = "vala.h")]
1769	public class RegexLiteral : Vala.Literal {
1770		public RegexLiteral (string value, Vala.SourceReference? source_reference = null);
1771		public override void accept (Vala.CodeVisitor visitor);
1772		public override bool check (Vala.CodeContext context);
1773		public override void emit (Vala.CodeGenerator codegen);
1774		public override bool is_non_null ();
1775		public override bool is_pure ();
1776		public override string to_string ();
1777		public string value { get; set; }
1778	}
1779	[CCode (cheader_filename = "vala.h")]
1780	public class Report {
1781		public enum Colored {
1782			AUTO,
1783			NEVER,
1784			ALWAYS
1785		}
1786		protected int errors;
1787		protected int warnings;
1788		public Report ();
1789		public virtual void depr (Vala.SourceReference? source, string message);
1790		public static void deprecated (Vala.SourceReference? source, string message);
1791		public virtual void err (Vala.SourceReference? source, string message);
1792		public static void error (Vala.SourceReference? source, string message);
1793		public static void experimental (Vala.SourceReference? source, string message);
1794		public int get_errors ();
1795		public int get_warnings ();
1796		public virtual void note (Vala.SourceReference? source, string message);
1797		public static void notice (Vala.SourceReference? source, string message);
1798		public bool set_colors (string str, Vala.Report.Colored colored_output = Report.Colored.AUTO);
1799		public void set_verbose_errors (bool verbose);
1800		public virtual void warn (Vala.SourceReference? source, string message);
1801		public static void warning (Vala.SourceReference? source, string message);
1802		public bool enable_warnings { get; set; }
1803	}
1804	[CCode (cheader_filename = "vala.h")]
1805	public class ReturnStatement : Vala.CodeNode, Vala.Statement {
1806		public ReturnStatement (Vala.Expression? return_expression = null, Vala.SourceReference? source_reference = null);
1807		public override void accept (Vala.CodeVisitor visitor);
1808		public override void accept_children (Vala.CodeVisitor visitor);
1809		public override bool check (Vala.CodeContext context);
1810		public override void emit (Vala.CodeGenerator codegen);
1811		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1812		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
1813		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1814		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1815		public Vala.Expression? return_expression { get; set; }
1816	}
1817	[CCode (cheader_filename = "vala.h")]
1818	public class Scanner {
1819		public Scanner (Vala.SourceFile source_file);
1820		public static Vala.TokenType get_identifier_or_keyword (char* begin, int len);
1821		public void parse_file_comments ();
1822		public Vala.Comment? pop_comment ();
1823		public Vala.TokenType read_regex_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
1824		public Vala.TokenType read_template_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
1825		public Vala.TokenType read_token (out Vala.SourceLocation token_begin, out Vala.SourceLocation token_end);
1826		public void seek (Vala.SourceLocation location);
1827		public Vala.SourceFile source_file { get; private set; }
1828	}
1829	[CCode (cheader_filename = "vala.h")]
1830	public class Scope {
1831		public Scope (Vala.Symbol? owner = null);
1832		public void add (string? name, Vala.Symbol sym);
1833		public unowned Vala.Map<string,Vala.Symbol> get_symbol_table ();
1834		public bool is_subscope_of (Vala.Scope? scope);
1835		public Vala.Symbol? lookup (string name);
1836		public void remove (string name);
1837		public weak Vala.Symbol owner { get; set; }
1838		public weak Vala.Scope parent_scope { get; set; }
1839	}
1840	[CCode (cheader_filename = "vala.h")]
1841	public class SemanticAnalyzer : Vala.CodeVisitor {
1842		public Vala.DataType bool_type;
1843		public Vala.DataType char_type;
1844		public Vala.DelegateType delegate_target_destroy_type;
1845		public Vala.DataType delegate_target_type;
1846		public Vala.DataType double_type;
1847		public Vala.DataType garray_type;
1848		public Vala.DelegateType generics_dup_func_type;
1849		public Vala.Class gerror_type;
1850		public Vala.DataType glist_type;
1851		public Vala.DataType gslist_type;
1852		public Vala.Class gsource_type;
1853		public Vala.StructValueType gvalue_type;
1854		public Vala.DataType gvaluearray_type;
1855		public Vala.ObjectType gvariant_type;
1856		public Vala.Block insert_block;
1857		public Vala.DataType int16_type;
1858		public Vala.DataType int32_type;
1859		public Vala.DataType int8_type;
1860		public Vala.DataType int_type;
1861		public Vala.DataType list_type;
1862		public Vala.DataType long_type;
1863		public Vala.Class object_type;
1864		public Vala.DataType regex_type;
1865		public Vala.List<Vala.CodeNode> replaced_nodes;
1866		public Vala.DataType short_type;
1867		public Vala.DataType size_t_type;
1868		public Vala.DataType ssize_t_type;
1869		public Vala.DataType string_type;
1870		public Vala.DataType tuple_type;
1871		public Vala.DataType type_type;
1872		public Vala.DataType uchar_type;
1873		public Vala.DataType uint16_type;
1874		public Vala.DataType uint32_type;
1875		public Vala.DataType uint8_type;
1876		public Vala.DataType uint_type;
1877		public Vala.DataType ulong_type;
1878		public Vala.DataType unichar_type;
1879		public Vala.DataType ushort_type;
1880		public Vala.DataType va_list_type;
1881		public Vala.DataType void_type;
1882		public SemanticAnalyzer ();
1883		public void analyze (Vala.CodeContext context);
1884		public bool check_arguments (Vala.Expression expr, Vala.DataType mtype, Vala.List<Vala.Parameter> @params, Vala.List<Vala.Expression> args);
1885		public bool check_print_format (string format, Vala.Iterator<Vala.Expression> arg_it, Vala.SourceReference? source_reference = null);
1886		public void check_type (Vala.DataType type);
1887		public void check_type_arguments (Vala.MemberAccess access);
1888		public bool check_variadic_arguments (Vala.Iterator<Vala.Expression>? arg_it, int i, Vala.SourceReference? source_reference = null);
1889		public static Vala.Expression create_temp_access (Vala.LocalVariable local, Vala.DataType? target_type);
1890		public unowned Vala.Method? find_current_method ();
1891		public static unowned Vala.Method? find_parent_method (Vala.Symbol sym);
1892		public static unowned Vala.Symbol? find_parent_method_or_property_accessor (Vala.Symbol sym);
1893		public static unowned Vala.TypeSymbol? find_parent_type_symbol (Vala.Symbol sym);
1894		public static Vala.DataType get_actual_type (Vala.DataType? derived_instance_type, Vala.List<Vala.DataType>? method_type_arguments, Vala.GenericType generic_type, Vala.CodeNode? node_reference);
1895		public unowned Vala.DataType? get_arithmetic_result_type (Vala.DataType left_type, Vala.DataType right_type);
1896		public static Vala.DataType get_data_type_for_symbol (Vala.Symbol sym);
1897		public static unowned Vala.Symbol? get_symbol_for_data_type (Vala.DataType type);
1898		public static Vala.DataType? get_this_type (Vala.Symbol s, Vala.TypeSymbol? parent = null);
1899		public Vala.DataType? get_value_type_for_symbol (Vala.Symbol sym, bool lvalue);
1900		public bool is_gobject_property (Vala.Property prop);
1901		public bool is_gobject_property_type (Vala.DataType property_type);
1902		public bool is_in_constructor ();
1903		public bool is_in_destructor ();
1904		public bool is_in_instance_method ();
1905		public bool is_nullable_value_type_argument (Vala.DataType type_arg);
1906		public bool is_reference_type_argument (Vala.DataType type_arg);
1907		public bool is_signed_integer_type_argument (Vala.DataType type_arg);
1908		public bool is_type_accessible (Vala.Symbol sym, Vala.DataType type);
1909		public bool is_unsigned_integer_type_argument (Vala.DataType type_arg);
1910		public static Vala.Symbol? symbol_lookup_inherited (Vala.Symbol sym, string name);
1911		public void visit_member_initializer (Vala.MemberInitializer init, Vala.DataType type);
1912		public override void visit_source_file (Vala.SourceFile file);
1913		public Vala.Method? current_async_method { get; }
1914		public Vala.Class? current_class { get; }
1915		public Vala.Method? current_method { get; }
1916		public Vala.Symbol? current_method_or_property_accessor { get; }
1917		public Vala.PropertyAccessor? current_property_accessor { get; }
1918		public Vala.DataType? current_return_type { get; }
1919		public Vala.SourceFile current_source_file { get; set; }
1920		public Vala.Struct? current_struct { get; }
1921		public Vala.Symbol? current_symbol { get; set; }
1922		public Vala.TypeSymbol? current_type_symbol { get; }
1923	}
1924	[CCode (cheader_filename = "vala.h")]
1925	public class Signal : Vala.Symbol, Vala.Callable {
1926		public Signal (string name, Vala.DataType return_type, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
1927		public override void accept (Vala.CodeVisitor visitor);
1928		public override void accept_children (Vala.CodeVisitor visitor);
1929		public override bool check (Vala.CodeContext context);
1930		public Vala.Delegate get_delegate (Vala.DataType sender_type, Vala.CodeNode node_reference);
1931		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1932		public Vala.Block body { get; set; }
1933		public Vala.Method default_handler { get; private set; }
1934		public Vala.Method emitter { get; private set; }
1935		public bool is_virtual { get; set; }
1936	}
1937	[CCode (cheader_filename = "vala.h")]
1938	public class SignalType : Vala.CallableType {
1939		public SignalType (Vala.Signal signal_symbol);
1940		public override bool compatible (Vala.DataType target_type);
1941		public override Vala.DataType copy ();
1942		public Vala.DelegateType get_handler_type ();
1943		public override Vala.Symbol? get_member (string member_name);
1944		public override bool is_accessible (Vala.Symbol sym);
1945		public override string to_qualified_string (Vala.Scope? scope);
1946		public weak Vala.Signal signal_symbol { get; }
1947	}
1948	[CCode (cheader_filename = "vala.h")]
1949	public class SizeofExpression : Vala.Expression {
1950		public SizeofExpression (Vala.DataType type, Vala.SourceReference? source = null);
1951		public override void accept (Vala.CodeVisitor visitor);
1952		public override void accept_children (Vala.CodeVisitor visitor);
1953		public override bool check (Vala.CodeContext context);
1954		public override void emit (Vala.CodeGenerator codegen);
1955		public override bool is_constant ();
1956		public override bool is_pure ();
1957		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
1958		public Vala.DataType type_reference { get; set; }
1959	}
1960	[CCode (cheader_filename = "vala.h")]
1961	public class SliceExpression : Vala.Expression {
1962		public SliceExpression (Vala.Expression container, Vala.Expression start, Vala.Expression stop, Vala.SourceReference? source_reference = null);
1963		public override void accept (Vala.CodeVisitor visitor);
1964		public override void accept_children (Vala.CodeVisitor visitor);
1965		public override bool check (Vala.CodeContext context);
1966		public override void emit (Vala.CodeGenerator codegen);
1967		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
1968		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
1969		public override bool is_accessible (Vala.Symbol sym);
1970		public override bool is_pure ();
1971		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
1972		public Vala.Expression container { get; set; }
1973		public Vala.Expression start { get; private set; }
1974		public Vala.Expression stop { get; private set; }
1975	}
1976	[CCode (cheader_filename = "vala.h")]
1977	public class SourceFile {
1978		public SourceFile (Vala.CodeContext context, Vala.SourceFileType type, string filename, string? content = null, bool cmdline = false);
1979		public void accept (Vala.CodeVisitor visitor);
1980		public void accept_children (Vala.CodeVisitor visitor);
1981		public void add_comment (Vala.Comment comment);
1982		public void add_node (Vala.CodeNode node);
1983		public void add_using_directive (Vala.UsingDirective ns);
1984		public bool check (Vala.CodeContext context);
1985		public string get_cinclude_filename ();
1986		public unowned Vala.List<Vala.Comment> get_comments ();
1987		public string get_csource_filename ();
1988		public char* get_mapped_contents ();
1989		public size_t get_mapped_length ();
1990		public unowned Vala.List<Vala.CodeNode> get_nodes ();
1991		public string get_relative_filename ();
1992		public string? get_source_line (int lineno);
1993		public void remove_node (Vala.CodeNode node);
1994		public string? content { get; set; }
1995		public weak Vala.CodeContext context { get; set; }
1996		public Vala.List<Vala.UsingDirective> current_using_directives { get; set; }
1997		public Vala.SourceFileType file_type { get; set; }
1998		public string filename { get; private set; }
1999		public bool from_commandline { get; set; }
2000		public string gir_namespace { get; set; }
2001		public string gir_version { get; set; }
2002		public string? installed_version { get; set; }
2003		public string? package_name { get; set; }
2004		public string? relative_filename { set; }
2005		public bool used { get; set; }
2006	}
2007	[CCode (cheader_filename = "vala.h")]
2008	public class SourceReference {
2009		public SourceReference (Vala.SourceFile _file, Vala.SourceLocation begin, Vala.SourceLocation end);
2010		public bool contains (Vala.SourceLocation location);
2011		public string to_string ();
2012		public Vala.SourceLocation begin { get; set; }
2013		public Vala.SourceLocation end { get; set; }
2014		public weak Vala.SourceFile file { get; set; }
2015		public Vala.List<Vala.UsingDirective> using_directives { get; private set; }
2016	}
2017	[CCode (cheader_filename = "vala.h")]
2018	public class StatementList : Vala.CodeNode, Vala.Statement {
2019		public StatementList (Vala.SourceReference? source_reference = null);
2020		public override void accept (Vala.CodeVisitor visitor);
2021		public void add (Vala.Statement stmt);
2022		public override bool check (Vala.CodeContext context);
2023		public override void emit (Vala.CodeGenerator codegen);
2024		public Vala.Statement @get (int index);
2025		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
2026		public void insert (int index, Vala.Statement stmt);
2027		public void @set (int index, Vala.Statement stmt);
2028		public int length { get; }
2029	}
2030	[CCode (cheader_filename = "vala.h")]
2031	public class StringLiteral : Vala.Literal {
2032		public StringLiteral (string value, Vala.SourceReference? source_reference = null);
2033		public override void accept (Vala.CodeVisitor visitor);
2034		public override bool check (Vala.CodeContext context);
2035		public override void emit (Vala.CodeGenerator codegen);
2036		public string? eval ();
2037		public static Vala.StringLiteral? get_format_literal (Vala.Expression expr);
2038		public override bool is_non_null ();
2039		public override bool is_pure ();
2040		public override string to_string ();
2041		public bool translate { get; set; }
2042		public string value { get; set; }
2043	}
2044	[CCode (cheader_filename = "vala.h")]
2045	public class Struct : Vala.TypeSymbol {
2046		public Struct (string name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
2047		public override void accept (Vala.CodeVisitor visitor);
2048		public override void accept_children (Vala.CodeVisitor visitor);
2049		public override void add_constant (Vala.Constant c);
2050		public override void add_field (Vala.Field f);
2051		public override void add_method (Vala.Method m);
2052		public override void add_property (Vala.Property prop);
2053		public void add_type_parameter (Vala.TypeParameter p);
2054		public override bool check (Vala.CodeContext context);
2055		public unowned Vala.List<Vala.Constant> get_constants ();
2056		public unowned Vala.List<Vala.Field> get_fields ();
2057		public unowned Vala.List<Vala.Method> get_methods ();
2058		public unowned Vala.List<Vala.Property> get_properties ();
2059		public override int get_type_parameter_index (string name);
2060		public unowned Vala.List<Vala.TypeParameter> get_type_parameters ();
2061		public bool is_boolean_type ();
2062		public bool is_decimal_floating_type ();
2063		public bool is_disposable ();
2064		public bool is_floating_type ();
2065		public bool is_integer_type ();
2066		public bool is_simple_type ();
2067		public override bool is_subtype_of (Vala.TypeSymbol t);
2068		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
2069		public void set_simple_type (bool simple_type);
2070		public Vala.Struct? base_struct { get; }
2071		public Vala.DataType? base_type { get; set; }
2072		public Vala.CreationMethod? default_construction_method { get; private set; }
2073		public bool is_immutable { get; set; }
2074		public int rank { get; set; }
2075		public bool signed { get; set; }
2076		public int width { get; set; }
2077	}
2078	[CCode (cheader_filename = "vala.h")]
2079	public class StructValueType : Vala.ValueType {
2080		public StructValueType (Vala.Struct type_symbol);
2081		public override Vala.DataType copy ();
2082		public override unowned Vala.List<Vala.Parameter>? get_parameters ();
2083		public override unowned Vala.DataType? get_return_type ();
2084		public override bool is_invokable ();
2085	}
2086	[CCode (cheader_filename = "vala.h")]
2087	public abstract class Subroutine : Vala.Symbol {
2088		protected Subroutine (string? name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
2089		public Vala.Block body { get; set; }
2090		public Vala.BasicBlock entry_block { get; set; }
2091		public Vala.BasicBlock exit_block { get; set; }
2092		public abstract bool has_result { get; }
2093		public Vala.LocalVariable result_var { get; set; }
2094		public Vala.BasicBlock return_block { get; set; }
2095	}
2096	[CCode (cheader_filename = "vala.h")]
2097	public class SwitchLabel : Vala.CodeNode {
2098		public SwitchLabel (Vala.Expression expr, Vala.SourceReference? source = null);
2099		public override void accept (Vala.CodeVisitor visitor);
2100		public override void accept_children (Vala.CodeVisitor visitor);
2101		public override bool check (Vala.CodeContext context);
2102		public override void emit (Vala.CodeGenerator codegen);
2103		public SwitchLabel.with_default (Vala.SourceReference? source = null);
2104		public Vala.Expression expression { get; set; }
2105		public weak Vala.SwitchSection section { get; }
2106	}
2107	[CCode (cheader_filename = "vala.h")]
2108	public class SwitchSection : Vala.Block {
2109		public SwitchSection (Vala.SourceReference? source_reference = null);
2110		public override void accept (Vala.CodeVisitor visitor);
2111		public override void accept_children (Vala.CodeVisitor visitor);
2112		public void add_label (Vala.SwitchLabel label);
2113		public override bool check (Vala.CodeContext context);
2114		public override void emit (Vala.CodeGenerator codegen);
2115		public unowned Vala.List<Vala.SwitchLabel> get_labels ();
2116		public bool has_default_label ();
2117	}
2118	[CCode (cheader_filename = "vala.h")]
2119	public class SwitchStatement : Vala.CodeNode, Vala.Statement {
2120		public SwitchStatement (Vala.Expression expression, Vala.SourceReference? source_reference = null);
2121		public override void accept (Vala.CodeVisitor visitor);
2122		public override void accept_children (Vala.CodeVisitor visitor);
2123		public void add_section (Vala.SwitchSection section);
2124		public override bool check (Vala.CodeContext context);
2125		public override void emit (Vala.CodeGenerator codegen);
2126		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
2127		public unowned Vala.List<Vala.SwitchSection> get_sections ();
2128		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2129		public Vala.Expression expression { get; set; }
2130	}
2131	[CCode (cheader_filename = "vala.h")]
2132	public abstract class Symbol : Vala.CodeNode {
2133		protected Symbol (string? name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
2134		public virtual void add_class (Vala.Class cl);
2135		public virtual void add_constant (Vala.Constant constant);
2136		public virtual void add_constructor (Vala.Constructor c);
2137		public virtual void add_delegate (Vala.Delegate d);
2138		public virtual void add_destructor (Vala.Destructor d);
2139		public virtual void add_enum (Vala.Enum en);
2140		public virtual void add_error_domain (Vala.ErrorDomain edomain);
2141		public virtual void add_field (Vala.Field f);
2142		public virtual void add_interface (Vala.Interface iface);
2143		public virtual void add_method (Vala.Method m);
2144		public virtual void add_namespace (Vala.Namespace ns);
2145		public virtual void add_property (Vala.Property prop);
2146		public virtual void add_signal (Vala.Signal sig);
2147		public virtual void add_struct (Vala.Struct st);
2148		public static string camel_case_to_lower_case (string camel_case);
2149		public static bool equal_func (Vala.Symbol a, Vala.Symbol b);
2150		public string get_full_name ();
2151		public Vala.Symbol? get_hidden_member ();
2152		public Vala.Scope? get_top_accessible_scope (bool is_internal = false);
2153		public static uint hash_func (Vala.Symbol s);
2154		public bool is_accessible (Vala.Symbol sym);
2155		public virtual bool is_class_member ();
2156		public virtual bool is_instance_member ();
2157		public bool is_internal_symbol ();
2158		public bool is_private_symbol ();
2159		public static string lower_case_to_camel_case (string lower_case);
2160		public override string to_string ();
2161		public Vala.SymbolAccessibility access { get; set; }
2162		public bool active { get; set; }
2163		public bool anonymous { get; set; }
2164		public Vala.Comment? comment { get; set; }
2165		public bool external { get; set; }
2166		public bool external_package { get; }
2167		public bool from_commandline { get; }
2168		public bool hides { get; set; }
2169		public bool is_extern { get; set; }
2170		public string? name { get; set; }
2171		public weak Vala.Scope owner { get; set; }
2172		public weak Vala.Symbol? parent_symbol { get; }
2173		public Vala.Scope scope { get; }
2174		public Vala.SourceFileType source_type { get; }
2175		public bool used { get; set; }
2176		public Vala.VersionAttribute version { get; }
2177	}
2178	[CCode (cheader_filename = "vala.h")]
2179	public class SymbolResolver : Vala.CodeVisitor {
2180		public SymbolResolver ();
2181		public void resolve (Vala.CodeContext context);
2182		public override void visit_addressof_expression (Vala.AddressofExpression expr);
2183		public override void visit_array_creation_expression (Vala.ArrayCreationExpression e);
2184		public override void visit_assignment (Vala.Assignment a);
2185		public override void visit_binary_expression (Vala.BinaryExpression expr);
2186		public override void visit_block (Vala.Block b);
2187		public override void visit_cast_expression (Vala.CastExpression expr);
2188		public override void visit_catch_clause (Vala.CatchClause clause);
2189		public override void visit_class (Vala.Class cl);
2190		public override void visit_conditional_expression (Vala.ConditionalExpression expr);
2191		public override void visit_constant (Vala.Constant c);
2192		public override void visit_constructor (Vala.Constructor c);
2193		public override void visit_creation_method (Vala.CreationMethod m);
2194		public override void visit_data_type (Vala.DataType data_type);
2195		public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
2196		public override void visit_delegate (Vala.Delegate cb);
2197		public override void visit_delete_statement (Vala.DeleteStatement stmt);
2198		public override void visit_destructor (Vala.Destructor d);
2199		public override void visit_do_statement (Vala.DoStatement stmt);
2200		public override void visit_element_access (Vala.ElementAccess expr);
2201		public override void visit_enum (Vala.Enum en);
2202		public override void visit_error_domain (Vala.ErrorDomain ed);
2203		public override void visit_expression_statement (Vala.ExpressionStatement stmt);
2204		public override void visit_field (Vala.Field f);
2205		public override void visit_for_statement (Vala.ForStatement stmt);
2206		public override void visit_foreach_statement (Vala.ForeachStatement stmt);
2207		public override void visit_formal_parameter (Vala.Parameter p);
2208		public override void visit_if_statement (Vala.IfStatement stmt);
2209		public override void visit_initializer_list (Vala.InitializerList list);
2210		public override void visit_interface (Vala.Interface iface);
2211		public override void visit_lambda_expression (Vala.LambdaExpression l);
2212		public override void visit_local_variable (Vala.LocalVariable local);
2213		public override void visit_loop (Vala.Loop stmt);
2214		public override void visit_member_access (Vala.MemberAccess expr);
2215		public override void visit_method (Vala.Method m);
2216		public override void visit_method_call (Vala.MethodCall expr);
2217		public override void visit_named_argument (Vala.NamedArgument expr);
2218		public override void visit_namespace (Vala.Namespace ns);
2219		public override void visit_object_creation_expression (Vala.ObjectCreationExpression expr);
2220		public override void visit_postfix_expression (Vala.PostfixExpression expr);
2221		public override void visit_property (Vala.Property prop);
2222		public override void visit_property_accessor (Vala.PropertyAccessor acc);
2223		public override void visit_reference_transfer_expression (Vala.ReferenceTransferExpression expr);
2224		public override void visit_return_statement (Vala.ReturnStatement stmt);
2225		public override void visit_signal (Vala.Signal sig);
2226		public override void visit_sizeof_expression (Vala.SizeofExpression expr);
2227		public override void visit_slice_expression (Vala.SliceExpression expr);
2228		public override void visit_struct (Vala.Struct st);
2229		public override void visit_switch_label (Vala.SwitchLabel label);
2230		public override void visit_switch_section (Vala.SwitchSection section);
2231		public override void visit_switch_statement (Vala.SwitchStatement stmt);
2232		public override void visit_template (Vala.Template tmpl);
2233		public override void visit_throw_statement (Vala.ThrowStatement stmt);
2234		public override void visit_try_statement (Vala.TryStatement stmt);
2235		public override void visit_tuple (Vala.Tuple tuple);
2236		public override void visit_type_check (Vala.TypeCheck expr);
2237		public override void visit_typeof_expression (Vala.TypeofExpression expr);
2238		public override void visit_unary_expression (Vala.UnaryExpression expr);
2239		public override void visit_using_directive (Vala.UsingDirective ns);
2240		public override void visit_while_statement (Vala.WhileStatement stmt);
2241		public override void visit_yield_statement (Vala.YieldStatement stmt);
2242	}
2243	[CCode (cheader_filename = "vala.h")]
2244	public abstract class TargetValue {
2245		protected TargetValue (Vala.DataType? value_type);
2246		public Vala.DataType? actual_value_type { get; set; }
2247		public Vala.DataType? value_type { get; set; }
2248	}
2249	[CCode (cheader_filename = "vala.h")]
2250	public class Template : Vala.Expression {
2251		public Template (Vala.SourceReference? source_reference = null);
2252		public override void accept (Vala.CodeVisitor visitor);
2253		public override void accept_children (Vala.CodeVisitor visitor);
2254		public void add_expression (Vala.Expression expr);
2255		public override bool check (Vala.CodeContext context);
2256		public unowned Vala.List<Vala.Expression> get_expressions ();
2257		public override bool is_pure ();
2258		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2259	}
2260	[CCode (cheader_filename = "vala.h")]
2261	public class ThrowStatement : Vala.CodeNode, Vala.Statement {
2262		public ThrowStatement (Vala.Expression error_expression, Vala.SourceReference? source_reference = null);
2263		public override void accept (Vala.CodeVisitor visitor);
2264		public override void accept_children (Vala.CodeVisitor visitor);
2265		public override bool check (Vala.CodeContext context);
2266		public override void emit (Vala.CodeGenerator codegen);
2267		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
2268		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
2269		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
2270		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2271		public Vala.Expression error_expression { get; set; }
2272	}
2273	[CCode (cheader_filename = "vala.h")]
2274	public class TraverseVisitor : Vala.CodeVisitor {
2275		public TraverseVisitor (owned Vala.TraverseFunc func);
2276		public override void visit_addressof_expression (Vala.AddressofExpression expr);
2277		public override void visit_array_creation_expression (Vala.ArrayCreationExpression expr);
2278		public override void visit_assignment (Vala.Assignment expr);
2279		public override void visit_binary_expression (Vala.BinaryExpression expr);
2280		public override void visit_block (Vala.Block b);
2281		public override void visit_break_statement (Vala.BreakStatement stmt);
2282		public override void visit_cast_expression (Vala.CastExpression expr);
2283		public override void visit_catch_clause (Vala.CatchClause clause);
2284		public override void visit_class (Vala.Class cl);
2285		public override void visit_conditional_expression (Vala.ConditionalExpression expr);
2286		public override void visit_constant (Vala.Constant c);
2287		public override void visit_constructor (Vala.Constructor c);
2288		public override void visit_continue_statement (Vala.ContinueStatement stmt);
2289		public override void visit_creation_method (Vala.CreationMethod m);
2290		public override void visit_declaration_statement (Vala.DeclarationStatement stmt);
2291		public override void visit_delegate (Vala.Delegate d);
2292		public override void visit_delete_statement (Vala.DeleteStatement stmt);
2293		public override void visit_destructor (Vala.Destructor d);
2294		public override void visit_do_statement (Vala.DoStatement stmt);
2295		public override void visit_element_access (Vala.ElementAccess expr);
2296		public override void visit_enum (Vala.Enum en);
2297		public override void visit_enum_value (Vala.EnumValue ev);
2298		public override void visit_error_code (Vala.ErrorCode ecode);
2299		public override void visit_error_domain (Vala.ErrorDomain edomain);
2300		public override void visit_expression_statement (Vala.ExpressionStatement stmt);
2301		public override void visit_field (Vala.Field f);
2302		public override void visit_for_statement (Vala.ForStatement stmt);
2303		public override void visit_foreach_statement (Vala.ForeachStatement stmt);
2304		public override void visit_formal_parameter (Vala.Parameter p);
2305		public override void visit_if_statement (Vala.IfStatement stmt);
2306		public override void visit_initializer_list (Vala.InitializerList list);
2307		public override void visit_interface (Vala.Interface iface);
2308		public override void visit_lambda_expression (Vala.LambdaExpression expr);
2309		public override void visit_local_variable (Vala.LocalVariable local);
2310		public override void visit_lock_statement (Vala.LockStatement stmt);
2311		public override void visit_loop (Vala.Loop loop);
2312		public override void visit_member_access (Vala.MemberAccess expr);
2313		public override void visit_method (Vala.Method m);
2314		public override void visit_method_call (Vala.MethodCall expr);
2315		public override void visit_namespace (Vala.Namespace ns);
2316		public override void visit_object_creation_expression (Vala.ObjectCreationExpression expr);
2317		public override void visit_pointer_indirection (Vala.PointerIndirection expr);
2318		public override void visit_postfix_expression (Vala.PostfixExpression expr);
2319		public override void visit_property (Vala.Property prop);
2320		public override void visit_property_accessor (Vala.PropertyAccessor acc);
2321		public override void visit_reference_transfer_expression (Vala.ReferenceTransferExpression expr);
2322		public override void visit_return_statement (Vala.ReturnStatement stmt);
2323		public override void visit_signal (Vala.Signal sig);
2324		public override void visit_slice_expression (Vala.SliceExpression expr);
2325		public override void visit_struct (Vala.Struct st);
2326		public override void visit_switch_label (Vala.SwitchLabel label);
2327		public override void visit_switch_section (Vala.SwitchSection section);
2328		public override void visit_switch_statement (Vala.SwitchStatement stmt);
2329		public override void visit_throw_statement (Vala.ThrowStatement stmt);
2330		public override void visit_try_statement (Vala.TryStatement stmt);
2331		public override void visit_unary_expression (Vala.UnaryExpression expr);
2332		public override void visit_unlock_statement (Vala.UnlockStatement stmt);
2333		public override void visit_while_statement (Vala.WhileStatement stmt);
2334		public override void visit_yield_statement (Vala.YieldStatement stmt);
2335	}
2336	[CCode (cheader_filename = "vala.h")]
2337	public class TryStatement : Vala.CodeNode, Vala.Statement {
2338		public TryStatement (Vala.Block body, Vala.Block? finally_body, Vala.SourceReference? source_reference = null);
2339		public override void accept (Vala.CodeVisitor visitor);
2340		public override void accept_children (Vala.CodeVisitor visitor);
2341		public void add_catch_clause (Vala.CatchClause clause);
2342		public override bool check (Vala.CodeContext context);
2343		public override void emit (Vala.CodeGenerator codegen);
2344		public unowned Vala.List<Vala.CatchClause> get_catch_clauses ();
2345		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
2346		public bool after_try_block_reachable { get; set; }
2347		public Vala.Block body { get; set; }
2348		public Vala.Block? finally_body { get; set; }
2349	}
2350	[CCode (cheader_filename = "vala.h")]
2351	public class Tuple : Vala.Expression {
2352		public Tuple (Vala.SourceReference? source_reference = null);
2353		public override void accept (Vala.CodeVisitor visitor);
2354		public override void accept_children (Vala.CodeVisitor visitor);
2355		public void add_expression (Vala.Expression expr);
2356		public override bool check (Vala.CodeContext context);
2357		public override void emit (Vala.CodeGenerator codegen);
2358		public unowned Vala.List<Vala.Expression> get_expressions ();
2359		public override bool is_pure ();
2360		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2361	}
2362	[CCode (cheader_filename = "vala.h")]
2363	public class TypeCheck : Vala.Expression {
2364		public TypeCheck (Vala.Expression expr, Vala.DataType type, Vala.SourceReference? source = null);
2365		public override void accept (Vala.CodeVisitor visitor);
2366		public override void accept_children (Vala.CodeVisitor visitor);
2367		public override bool check (Vala.CodeContext context);
2368		public override void emit (Vala.CodeGenerator codegen);
2369		public override bool is_pure ();
2370		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2371		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
2372		public override string to_string ();
2373		public Vala.Expression expression { get; set; }
2374		public Vala.DataType type_reference { get; set; }
2375	}
2376	[CCode (cheader_filename = "vala.h")]
2377	public class TypeParameter : Vala.Symbol {
2378		public TypeParameter (string name, Vala.SourceReference? source_reference = null);
2379		public override void accept (Vala.CodeVisitor visitor);
2380		public bool equals (Vala.TypeParameter param2);
2381	}
2382	[CCode (cheader_filename = "vala.h")]
2383	public abstract class TypeSymbol : Vala.Symbol {
2384		protected TypeSymbol (string? name, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
2385		public virtual int get_type_parameter_index (string name);
2386		public virtual bool is_reference_type ();
2387		public virtual bool is_subtype_of (Vala.TypeSymbol t);
2388	}
2389	[CCode (cheader_filename = "vala.h")]
2390	public class TypeofExpression : Vala.Expression {
2391		public TypeofExpression (Vala.DataType type, Vala.SourceReference? source = null);
2392		public override void accept (Vala.CodeVisitor visitor);
2393		public override void accept_children (Vala.CodeVisitor visitor);
2394		public override bool check (Vala.CodeContext context);
2395		public override void emit (Vala.CodeGenerator codegen);
2396		public override bool is_pure ();
2397		public override void replace_type (Vala.DataType old_type, Vala.DataType new_type);
2398		public Vala.DataType type_reference { get; set; }
2399	}
2400	[CCode (cheader_filename = "vala.h")]
2401	public class UnaryExpression : Vala.Expression {
2402		public UnaryExpression (Vala.UnaryOperator op, Vala.Expression _inner, Vala.SourceReference? source = null);
2403		public override void accept (Vala.CodeVisitor visitor);
2404		public override void accept_children (Vala.CodeVisitor visitor);
2405		public override bool check (Vala.CodeContext context);
2406		public override void emit (Vala.CodeGenerator codegen);
2407		public override void get_defined_variables (Vala.Collection<Vala.Variable> collection);
2408		public override void get_error_types (Vala.Collection<Vala.DataType> collection, Vala.SourceReference? source_reference = null);
2409		public override void get_used_variables (Vala.Collection<Vala.Variable> collection);
2410		public override bool is_accessible (Vala.Symbol sym);
2411		public override bool is_constant ();
2412		public override bool is_pure ();
2413		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2414		public override string to_string ();
2415		public Vala.Expression inner { get; set; }
2416		public Vala.UnaryOperator operator { get; set; }
2417	}
2418	[CCode (cheader_filename = "vala.h")]
2419	public class UnlockStatement : Vala.CodeNode, Vala.Statement {
2420		public UnlockStatement (Vala.Expression resource, Vala.SourceReference? source_reference = null);
2421		public override void accept (Vala.CodeVisitor visitor);
2422		public override bool check (Vala.CodeContext context);
2423		public override void emit (Vala.CodeGenerator codegen);
2424		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2425		public Vala.Expression resource { get; set; }
2426	}
2427	[CCode (cheader_filename = "vala.h")]
2428	public class UnresolvedSymbol : Vala.Symbol {
2429		public UnresolvedSymbol (Vala.UnresolvedSymbol? inner, string name, Vala.SourceReference? source_reference = null);
2430		public Vala.UnresolvedSymbol copy ();
2431		public static Vala.UnresolvedSymbol? new_from_expression (Vala.Expression expr);
2432		public override string to_string ();
2433		public Vala.UnresolvedSymbol? inner { get; set; }
2434		public bool qualified { get; set; }
2435	}
2436	[CCode (cheader_filename = "vala.h")]
2437	public class UnresolvedType : Vala.DataType {
2438		public UnresolvedType ();
2439		public override Vala.DataType copy ();
2440		public UnresolvedType.from_symbol (Vala.UnresolvedSymbol symbol, Vala.SourceReference? source = null);
2441		public override bool is_disposable ();
2442		public static Vala.UnresolvedType? new_from_expression (Vala.Expression expr);
2443		public override string to_qualified_string (Vala.Scope? scope);
2444		public Vala.UnresolvedSymbol unresolved_symbol { get; set; }
2445	}
2446	[CCode (cheader_filename = "vala.h")]
2447	public class UsedAttr : Vala.CodeVisitor {
2448		public Vala.Map<string,Vala.Set<string>> marked;
2449		public UsedAttr ();
2450		public void check_unused (Vala.CodeContext context);
2451		public void mark (string attribute, string? argument);
2452		public override void visit_class (Vala.Class cl);
2453		public override void visit_constant (Vala.Constant c);
2454		public override void visit_creation_method (Vala.CreationMethod m);
2455		public override void visit_delegate (Vala.Delegate cb);
2456		public override void visit_enum (Vala.Enum en);
2457		public override void visit_error_domain (Vala.ErrorDomain ed);
2458		public override void visit_field (Vala.Field f);
2459		public override void visit_formal_parameter (Vala.Parameter p);
2460		public override void visit_interface (Vala.Interface iface);
2461		public override void visit_method (Vala.Method m);
2462		public override void visit_namespace (Vala.Namespace ns);
2463		public override void visit_property (Vala.Property prop);
2464		public override void visit_signal (Vala.Signal sig);
2465		public override void visit_struct (Vala.Struct st);
2466	}
2467	[CCode (cheader_filename = "vala.h")]
2468	public class UsingDirective : Vala.CodeNode {
2469		public UsingDirective (Vala.Symbol namespace_symbol, Vala.SourceReference? source_reference = null);
2470		public override void accept (Vala.CodeVisitor visitor);
2471		public weak Vala.Symbol namespace_symbol { get; set; }
2472	}
2473	[CCode (cheader_filename = "vala.h")]
2474	public abstract class ValueType : Vala.DataType {
2475		protected ValueType (Vala.TypeSymbol type_symbol);
2476		public override bool check (Vala.CodeContext context);
2477		public override bool is_disposable ();
2478	}
2479	[CCode (cheader_filename = "vala.h")]
2480	public class VarType : Vala.DataType {
2481		public VarType (bool value_owned = true);
2482		public override Vala.DataType copy ();
2483		public override string to_qualified_string (Vala.Scope? scope);
2484	}
2485	[CCode (cheader_filename = "vala.h")]
2486	public class Variable : Vala.Symbol {
2487		public Variable (Vala.DataType? variable_type, string? name, Vala.Expression? initializer = null, Vala.SourceReference? source_reference = null, Vala.Comment? comment = null);
2488		public Vala.Expression? initializer { get; set; }
2489		public bool single_assignment { get; set; }
2490		public Vala.DataType? variable_type { get; set; }
2491	}
2492	[CCode (cheader_filename = "vala.h")]
2493	public class VersionAttribute {
2494		public VersionAttribute (Vala.Symbol symbol);
2495		public bool check (Vala.SourceReference? source_ref = null);
2496		public static int cmp_versions (string v1str, string v2str);
2497		public bool deprecated { get; set; }
2498		public string? deprecated_since { owned get; set; }
2499		public bool experimental { get; set; }
2500		public string? experimental_until { owned get; set; }
2501		public string? replacement { owned get; set; }
2502		public string? since { owned get; set; }
2503	}
2504	[CCode (cheader_filename = "vala.h")]
2505	public class VoidType : Vala.DataType {
2506		public VoidType (Vala.SourceReference? source_reference = null);
2507		public override bool compatible (Vala.DataType type2);
2508		public override Vala.DataType copy ();
2509		public override bool stricter (Vala.DataType type2);
2510		public override string to_qualified_string (Vala.Scope? scope);
2511	}
2512	[CCode (cheader_filename = "vala.h")]
2513	public class WhileStatement : Vala.CodeNode, Vala.Statement {
2514		public WhileStatement (Vala.Expression condition, Vala.Block body, Vala.SourceReference? source_reference = null);
2515		public override void accept (Vala.CodeVisitor visitor);
2516		public override void accept_children (Vala.CodeVisitor visitor);
2517		public override bool check (Vala.CodeContext context);
2518		public override void replace_expression (Vala.Expression old_node, Vala.Expression new_node);
2519		public Vala.Block body { get; set; }
2520		public Vala.Expression condition { get; set; }
2521	}
2522	[CCode (cheader_filename = "vala.h")]
2523	public class YieldStatement : Vala.CodeNode, Vala.Statement {
2524		public YieldStatement (Vala.SourceReference? source_reference = null);
2525		public override bool check (Vala.CodeContext context);
2526		public override void emit (Vala.CodeGenerator codegen);
2527	}
2528	[CCode (cheader_filename = "vala.h")]
2529	public interface Callable : Vala.Symbol {
2530		public abstract void add_parameter (Vala.Parameter param);
2531		public abstract unowned Vala.List<Vala.Parameter> get_parameters ();
2532		public abstract Vala.DataType return_type { get; set; }
2533	}
2534	[CCode (cheader_filename = "vala.h")]
2535	public interface Lockable {
2536		public abstract bool lock_used { get; set; }
2537	}
2538	[CCode (cheader_filename = "vala.h")]
2539	public interface Statement : Vala.CodeNode {
2540	}
2541	[CCode (cheader_filename = "vala.h")]
2542	public struct SourceLocation {
2543		public char* pos;
2544		public int line;
2545		public int column;
2546		public SourceLocation (char* _pos, int _line, int _column);
2547		public string to_string ();
2548	}
2549	[CCode (cheader_filename = "vala.h")]
2550	public enum AssignmentOperator {
2551		NONE,
2552		SIMPLE,
2553		BITWISE_OR,
2554		BITWISE_AND,
2555		BITWISE_XOR,
2556		ADD,
2557		SUB,
2558		MUL,
2559		DIV,
2560		PERCENT,
2561		SHIFT_LEFT,
2562		SHIFT_RIGHT;
2563		public unowned string to_string ();
2564	}
2565	[CCode (cheader_filename = "vala.h")]
2566	public enum BinaryOperator {
2567		NONE,
2568		PLUS,
2569		MINUS,
2570		MUL,
2571		DIV,
2572		MOD,
2573		SHIFT_LEFT,
2574		SHIFT_RIGHT,
2575		LESS_THAN,
2576		GREATER_THAN,
2577		LESS_THAN_OR_EQUAL,
2578		GREATER_THAN_OR_EQUAL,
2579		EQUALITY,
2580		INEQUALITY,
2581		BITWISE_AND,
2582		BITWISE_OR,
2583		BITWISE_XOR,
2584		AND,
2585		OR,
2586		IN,
2587		COALESCE;
2588		public unowned string to_string ();
2589	}
2590	[CCode (cheader_filename = "vala.h")]
2591	public enum CodeWriterType {
2592		EXTERNAL,
2593		INTERNAL,
2594		FAST,
2595		DUMP,
2596		VAPIGEN
2597	}
2598	[CCode (cheader_filename = "vala.h")]
2599	public enum MarkupTokenType {
2600		NONE,
2601		START_ELEMENT,
2602		END_ELEMENT,
2603		TEXT,
2604		EOF;
2605		public unowned string to_string ();
2606	}
2607	[CCode (cheader_filename = "vala.h")]
2608	public enum MemberBinding {
2609		INSTANCE,
2610		CLASS,
2611		STATIC
2612	}
2613	[CCode (cheader_filename = "vala.h")]
2614	public enum ParameterDirection {
2615		IN,
2616		OUT,
2617		REF
2618	}
2619	[CCode (cheader_filename = "vala.h")]
2620	public enum Profile {
2621		GOBJECT,
2622		POSIX
2623	}
2624	[CCode (cheader_filename = "vala.h")]
2625	public enum SourceFileType {
2626		NONE,
2627		SOURCE,
2628		PACKAGE,
2629		FAST
2630	}
2631	[CCode (cheader_filename = "vala.h")]
2632	public enum SymbolAccessibility {
2633		PRIVATE,
2634		INTERNAL,
2635		PROTECTED,
2636		PUBLIC;
2637		public unowned string to_string ();
2638	}
2639	[CCode (cheader_filename = "vala.h")]
2640	public enum TokenType {
2641		NONE,
2642		ABSTRACT,
2643		AS,
2644		ASSIGN,
2645		ASSIGN_ADD,
2646		ASSIGN_BITWISE_AND,
2647		ASSIGN_BITWISE_OR,
2648		ASSIGN_BITWISE_XOR,
2649		ASSIGN_DIV,
2650		ASSIGN_MUL,
2651		ASSIGN_PERCENT,
2652		ASSIGN_SHIFT_LEFT,
2653		ASSIGN_SUB,
2654		ASYNC,
2655		BASE,
2656		BITWISE_AND,
2657		BITWISE_OR,
2658		BREAK,
2659		CARRET,
2660		CASE,
2661		CATCH,
2662		CHARACTER_LITERAL,
2663		CLASS,
2664		CLOSE_BRACE,
2665		CLOSE_BRACKET,
2666		CLOSE_PARENS,
2667		CLOSE_REGEX_LITERAL,
2668		CLOSE_TEMPLATE,
2669		COLON,
2670		COMMA,
2671		CONST,
2672		CONSTRUCT,
2673		CONTINUE,
2674		DEFAULT,
2675		DELEGATE,
2676		DELETE,
2677		DIV,
2678		DO,
2679		DOUBLE_COLON,
2680		DOT,
2681		DYNAMIC,
2682		ELLIPSIS,
2683		ELSE,
2684		ENUM,
2685		ENSURES,
2686		ERRORDOMAIN,
2687		EOF,
2688		EXTERN,
2689		FALSE,
2690		FINALLY,
2691		FOR,
2692		FOREACH,
2693		GET,
2694		HASH,
2695		IDENTIFIER,
2696		IF,
2697		IN,
2698		INLINE,
2699		INTEGER_LITERAL,
2700		INTERFACE,
2701		INTERNAL,
2702		INTERR,
2703		IS,
2704		LAMBDA,
2705		LOCK,
2706		MINUS,
2707		NAMESPACE,
2708		NEW,
2709		NULL,
2710		OUT,
2711		OP_AND,
2712		OP_COALESCING,
2713		OP_DEC,
2714		OP_EQ,
2715		OP_GE,
2716		OP_GT,
2717		OP_INC,
2718		OP_LE,
2719		OP_LT,
2720		OP_NE,
2721		OP_NEG,
2722		OP_OR,
2723		OP_PTR,
2724		OP_SHIFT_LEFT,
2725		OPEN_BRACE,
2726		OPEN_BRACKET,
2727		OPEN_PARENS,
2728		OPEN_REGEX_LITERAL,
2729		OPEN_TEMPLATE,
2730		OVERRIDE,
2731		OWNED,
2732		PARAMS,
2733		PERCENT,
2734		PLUS,
2735		PRIVATE,
2736		PROTECTED,
2737		PUBLIC,
2738		REAL_LITERAL,
2739		REF,
2740		REGEX_LITERAL,
2741		REQUIRES,
2742		RETURN,
2743		SEALED,
2744		SEMICOLON,
2745		SET,
2746		SIGNAL,
2747		SIZEOF,
2748		STAR,
2749		STATIC,
2750		STRING_LITERAL,
2751		STRUCT,
2752		SWITCH,
2753		TEMPLATE_STRING_LITERAL,
2754		THIS,
2755		THROW,
2756		THROWS,
2757		TILDE,
2758		TRUE,
2759		TRY,
2760		TYPEOF,
2761		UNLOCK,
2762		UNOWNED,
2763		USING,
2764		VAR,
2765		VERBATIM_STRING_LITERAL,
2766		VIRTUAL,
2767		VOID,
2768		VOLATILE,
2769		WEAK,
2770		WHILE,
2771		YIELD;
2772		public unowned string to_string ();
2773	}
2774	[CCode (cheader_filename = "vala.h")]
2775	public enum TraverseStatus {
2776		STOP,
2777		CONTINUE
2778	}
2779	[CCode (cheader_filename = "vala.h")]
2780	public enum UnaryOperator {
2781		NONE,
2782		PLUS,
2783		MINUS,
2784		LOGICAL_NEGATION,
2785		BITWISE_COMPLEMENT,
2786		INCREMENT,
2787		DECREMENT,
2788		REF,
2789		OUT;
2790		public unowned string to_string ();
2791	}
2792	[CCode (cheader_filename = "vala.h")]
2793	public errordomain ParseError {
2794		FAILED,
2795		SYNTAX
2796	}
2797	[CCode (cheader_filename = "vala.h")]
2798	public delegate Vala.TraverseStatus TraverseFunc (Vala.CodeNode node);
2799	[CCode (cheader_filename = "vala.h")]
2800	public const string API_VERSION;
2801	[CCode (cheader_filename = "vala.h")]
2802	public const string BUILD_VERSION;
2803	[CCode (cheader_filename = "vala.h")]
2804	public const int MAJOR_VERSION;
2805	[CCode (cheader_filename = "vala.h")]
2806	public const int MICRO_VERSION;
2807	[CCode (cheader_filename = "vala.h")]
2808	public const int MINOR_VERSION;
2809	[CCode (cheader_filename = "vala.h")]
2810	public static unowned string? check_version (uint required_major, uint required_minor, uint required_micro);
2811	[CCode (cheader_filename = "vala.h")]
2812	public static unowned string get_build_version ();
2813	[CCode (cheader_filename = "vala.h")]
2814	public static uint get_major_version ();
2815	[CCode (cheader_filename = "vala.h")]
2816	public static uint get_micro_version ();
2817	[CCode (cheader_filename = "vala.h")]
2818	public static uint get_minor_version ();
2819}
2820