tests/TreeBuilder.vala
[app.Builder.js] / tests / TreeBuilder.vala
index 040623d..a3ba07e 100644 (file)
@@ -1,9 +1,25 @@
 
+// valac TreeBuilder.vala --pkg libvala-0.24 --pkg posix -o /tmp/treebuilder
 
+public class MyReport  : Vala.Report {
+       
+       public overide void err (Vala.SourceReference? source, string message) {
+               errors++;
+               if (source == null) {
+                       stderr.printf ("My error: %s\n", message);
+               } else {
+                       stderr.printf ("%s: My error: %s\n", source.to_string (), message);
+                       if (verbose_errors) {
+                               this.report_source (source);
+                       }
+               }
+       }
+       
 
+}
 public class TreeBuilder : Vala.CodeVisitor {
        
-       private Vala.CodeContext create_valac_tree () {
+       public Vala.CodeContext create_valac_tree () {
                // init context:
                var context = new Vala.CodeContext ();
                Vala.CodeContext.push (context);
@@ -16,7 +32,7 @@ public class TreeBuilder : Vala.CodeVisitor {
                context.gir_directories = {};
 
                
-               context.basedir = realpath (".");
+               context.basedir = Posix.realpath (".");
                
                context.directory = context.basedir;
                
@@ -33,7 +49,7 @@ public class TreeBuilder : Vala.CodeVisitor {
 
                var source_file = new Vala.SourceFile (context, 
                                Vala.SourceFileType.SOURCE, 
-                               "/home/alan/gitlive/app.Builder/tests/TreeBuilder.vala");
+                               "/home/alan/gitlive/app.Builder.js/tests/TreeBuilder.vala");
 
                //if (source_package == null) {
                //source_package = register_package (new Package (settings.pkg_name, false, null));
@@ -46,7 +62,7 @@ public class TreeBuilder : Vala.CodeVisitor {
                        var ns_ref = new Vala.UsingDirective (new Vala.UnresolvedSymbol (null, "GLib", null));
                        source_file.add_using_directive (ns_ref);
                        context.root.add_using_directive (ns_ref);
-               }
+               //}
 
                context.add_source_file (source_file);
 
@@ -55,7 +71,7 @@ public class TreeBuilder : Vala.CodeVisitor {
                
                Vala.Parser parser = new Vala.Parser ();
                parser.parse (context);
-               gir_parser.parse (context);
+               //gir_parser.parse (context);
                if (context.report.get_errors () > 0) {
                        print("got errors");
                        return context;
@@ -68,6 +84,7 @@ public class TreeBuilder : Vala.CodeVisitor {
                if (context.report.get_errors () > 0) {
                        return context;
                }
+               return context;
        }
 //
        // startpoint:
@@ -79,6 +96,7 @@ int main (string[] args) {
 
        var a = new TreeBuilder();
        a.create_valac_tree();
+       return 0;
 }