// valac TreeBuilder.vala --pkg libvala-0.24 --pkg posix -o /tmp/treebuilder
public class MyReport : Vala.Report {
-
+ public override 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);
+
+ //Vala.Report.report_source (source);
+
+ }
+ }
+ public override 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);
+
+ //Vala.Report.report_source (source);
+
+ }
+ }
}
+
public class TreeBuilder : Vala.CodeVisitor {
public Vala.CodeContext create_valac_tree () {
context.report.enable_warnings = true;
context.metadata_directories = { };
context.gir_directories = {};
-
+ context.report = new MyReport();
context.basedir = Posix.realpath (".");
// return context;
//}
- var source_file = new Vala.SourceFile (context,
- Vala.SourceFileType.SOURCE,
- "/home/alan/gitlive/app.Builder.js/tests/TreeBuilder.vala");
+ var source_file = new Vala.SourceFile (
+ context,
+ Vala.SourceFileType.SOURCE,
+ "",
+ "void atest() {
+ var x = 1; asdfasdf
+ a++;
+ }"
+ );
+ //context.add_source_file (testcode);
+
+
+ //var source_file = new Vala.SourceFile (context,
+ // Vala.SourceFileType.SOURCE,
+ // "/home/alan/gitlive/app.Builder.js/tests/TreeBuilder.vala");
//if (source_package == null) {
//source_package = register_package (new Package (settings.pkg_name, false, null));
//register_source_file (source_package, source_file);
+ context.add_external_package ("glib-2.0");
+ context.add_external_package ("gobject-2.0");
+ context.add_external_package ("libvala-0.24");
+ context.add_external_package ("posix");
//if (context.profile == Vala.Profile.GOBJECT) {
// import the GLib namespace by default (namespace of backend-specific standard library)
var ns_ref = new Vala.UsingDirective (new Vala.UnresolvedSymbol (null, "GLib", null));