X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=tests%2FTestCompiler.vala;h=7c23d11d61279900ba2557040dd2cc2d3fdcfdc6;hb=f10e0933c16d3bea5bdd2bde43c8b149a2312b30;hp=b55b9fead8c446fe22aabafc4a7724289287e817;hpb=2a794bc59d20a61fcd734abe8caea2804987171c;p=app.Builder.js diff --git a/tests/TestCompiler.vala b/tests/TestCompiler.vala index b55b9fead..7c23d11d6 100644 --- a/tests/TestCompiler.vala +++ b/tests/TestCompiler.vala @@ -1,5 +1,5 @@ -// valac TreeBuilder.vala --pkg libvala-0.24 --pkg posix -o /tmp/treebuilder +// valac TestCompiler.vala --pkg libvala-0.26 --pkg posix -o /tmp/TestCompiler namespace Palete { @@ -9,6 +9,7 @@ namespace Palete { public class TestCompiler : Vala.CodeVisitor { Vala.CodeContext context; + string file; public TestCompiler(string file) { base(); @@ -26,7 +27,7 @@ namespace Palete { - public Gee.HashMap checkString( ) + public void checkString( ) { // init context: var valac = "valac " ; @@ -67,9 +68,7 @@ namespace Palete { context.thread = true; - this.report = new ValaSourceReport(this.file); - context.report = this.report; - + context.basedir = "/tmp"; //Posix.realpath ("."); @@ -86,60 +85,26 @@ namespace Palete { var source_file = new Vala.SourceFile ( context, Vala.SourceFileType.SOURCE, - file + this.file ); source_file.add_using_directive (ns_ref); context.add_source_file (source_file); // add all the files (except the current one) - this.file.path - var pr = ((Project.Gtk)this.file.project); - if (this.file.build_module.length > 0) { - var cg = pr.compilegroups.get(this.file.build_module); - for (var i = 0; i < cg.sources.size; i++) { - var path = pr.resolve_path( - pr.resolve_path_combine_path(pr.firstPath(),cg.sources.get(i))); - - if (!FileUtils.test(path, FileTest.EXISTS)) { - continue; - } - - if (path == this.file.path.replace(".bjs", ".vala")) { - valac += " " + path; - continue; - } - if (FileUtils.test(path, FileTest.IS_DIR)) { - continue; - } - //print("Add source file %s\n", path); - - valac += " " + path; - - if (Regex.match_simple("\\.c$", path)) { - context.add_c_source_file(path); - continue; - } - - - var xsf = new Vala.SourceFile ( - context, - Vala.SourceFileType.SOURCE, - path - ); - xsf.add_using_directive (ns_ref); - context.add_source_file(xsf); - - } - } + // default.. packages.. context.add_external_package ("glib-2.0"); context.add_external_package ("gobject-2.0"); - // user defined ones.. - - var dcg = pr.compilegroups.get("_default_"); - for (var i = 0; i < dcg.packages.size; i++) { - valac += " --pkg " + dcg.packages.get(i); - context.add_external_package (dcg.packages.get(i)); + context.add_external_package ("gtk+-3.0"); + if (!context.add_external_package ("webkit2gtk-4.0")) { + context.add_external_package ("webkit2gtk-3.0"); } + context.add_external_package ("clutter-gtk-1.0"); + context.add_external_package ("gdl-3.0"); + context.add_external_package ("gtksourceview-3.0"); + context.add_external_package ("libvala-0.26"); + // user defined ones.. + //Vala.Config.PACKAGE_SUFFIX.substring (1) @@ -149,8 +114,7 @@ namespace Palete { //context.add_external_package ("libvala-0.24"); - this.report.compile_notice("START", "", 0, ""); - + //add_documented_files (context, settings.source_files); @@ -159,11 +123,10 @@ namespace Palete { //gir_parser.parse (context); if (context.report.get_errors () > 0) { print("parse got errors"); - ((ValaSourceReport)context.report).dump(); - + Vala.CodeContext.pop (); - this.report.compile_notice("END", "", 0, ""); - return this.report.line_errors; + + return; } @@ -171,11 +134,9 @@ namespace Palete { // check context: context.check (); if (context.report.get_errors () > 0) { - print("check got errors"); - ((ValaSourceReport)context.report).dump(); - Vala.CodeContext.pop (); - this.report.compile_notice("END", "", 0, ""); - return this.report.line_errors; + Vala.CodeContext.pop (); + + return ; } @@ -196,15 +157,17 @@ namespace Palete { #endif */ + + + context.resolver.resolve(new Vala.CodeContext()); + context.analyzer.context = null; + context.flow_analyzer.analyze(new Vala.CodeContext()); + //context.analyzer = null; << private Vala.CodeContext.pop (); - //(new Vala.CodeNode()).get_error_types().clear(); - //(new Vala.NullType()).get_type_arguments().clear(); - (new Vala.NullType(null)).get_type_arguments().clear(); - parser = null; - this.report.compile_notice("END", "", 0, ""); + print("%s\n", valac); print("ALL OK?\n"); - return this.report.line_errors; + return ; } // // startpoint: @@ -212,13 +175,15 @@ namespace Palete { } } -/* + int main (string[] args) { - var a = new ValaSource(file); - a.create_valac_tree(); + for (var i = 0;i < 1000;i++) { + var a = new Palete.TestCompiler("/home/alan/gitlive/app.Builder.js/tests/TestCompiler.vala"); + a.checkString(); + } return 0; } -*/ +