tests/TreeBuilder.vala
[app.Builder.js] / tests / TreeBuilder.vala
1
2
3
4 public class TreeBuilder : Vala.CodeVisitor {
5         
6         private Vala.CodeContext create_valac_tree (Settings settings) {
7                 // init context:
8                 var context = new Vala.CodeContext ();
9                 Vala.CodeContext.push (context);
10                 
11                 context.experimental = false;
12                 context.experimental_non_null = false;
13                 context.vapi_directories = { "/usr/share/vala-0.24/vapi" };
14                 context.report.enable_warnings = true;
15                 context.metadata_directories = { };
16                 context.gir_directories = {};
17
18                 if (settings.basedir == null) {
19                         context.basedir = realpath (".");
20                 } else {
21                         context.basedir = realpath (settings.basedir);
22                 }
23
24                 if (settings.directory != null) {
25                         context.directory = realpath (settings.directory);
26                 } else {
27                         context.directory = context.basedir;
28                 }
29
30
31                 // add default packages:
32                 if (settings.profile == "gobject-2.0" || settings.profile == "gobject" || settings.profile == null) {
33                         context.profile = Vala.Profile.GOBJECT;
34                         context.add_define ("GOBJECT");
35                 }
36
37                 Vala.Parser parser = new Vala.Parser ();
38                 parser.parse (context);
39                 gir_parser.parse (context);
40                 if (context.report.get_errors () > 0) {
41                         return context;
42                 }
43
44
45
46                 // check context:
47                 context.check ();
48                 if (context.report.get_errors () > 0) {
49                         return context;
50                 }
51         }
52 }
53
54 int main (string[] args) {
55
56         var a = new TreeBuilder();
57         a.create_valac_tree(