- public Gee.HashMap<int,string> validateJavascript(
+ public bool javascriptHasErrors(
WindowState state,
string code,
string property,
string ptype,
JsRender.JsRender file,
- JsRender.Node? node
+ JsRender.Node? node,
+ out Gee.HashMap<int,string> errors
)
{
print("validate code (%s) ptype=%s property=%s\n", file.language, ptype, property);
- var ret = new Gee.HashMap<int,string>();
+ var errors = new Gee.HashMap<int,string>();
if (file.language != "js") {
- return ret;
+ return false;
}
if (ptype != "listener" && property.length > 0 && property[0] == '|') {
- return ret;
+ return false;
}
//var cd = new JSCore.ClassDefinitionEmpty();
var lines_ar = new Json.Array();
lines_ar.add_string_element(errmsg);
lines_obj.set_array_member(line.to_string(), lines_ar);
- files_obj.set_object_member(file.filename, lines_obj);
+ files_obj.set_object_member(file.path, lines_obj);
err.set_object_member("ERR", files_obj);
p.skipScope = false;
p.dumpTokens = false;
p.cleanup = false;
- var estr = "";
- var ret = new Gee.HashMap<int,string>();
+
- p.packFile(code, file.filename,"");
- if (!p.hasErrors("")) {
- state.showCompileResult(err);
- }
-
- if (estr.length > 0 ) {
-
- var bits = estr.split(",");
- if (bits.length > 2) {
- var linebits = bits[1].strip().split(" ");
- if (linebits.length > 1) {
- var line = int.parse(linebits[1]);
- // line is correct - but our standard for error messages is to do it start at '0'
- ret.set(line -1 , bits[2]);
- }
-
- }
- }
+ p.packFile(code, file.path,"");
+ state.showCompileResult(p.result);
- return ret;
+
}