public string name;
- public Gee.ArrayList<Usage> map;
+ public Gee.ArrayList<Usage> map;
- public Gee.HashMap<string,GirObject> classes; // used in roo..
+ public Gee.HashMap<string,GirObject> classes; // used in roo..
public Palete()
{
- // nothing?
- this.map = null;
- this.classes = null;
+ // nothing?
+ this.map = null;
+ this.classes = null;
}
- public string[] getChildList(string in_rval)
+ public string[] getChildList(string in_rval)
{
- if (this.map == null) {
- this.load();
- }
- // empty == *top
-
- var rval = in_rval == "" ? "*top" : in_rval;
-
- // should be a bit more than this..
- // -> it should look for all elements that inherit
- string[] ret = {};
- var rt = new Gee.ArrayList<string>();
- for (var i = 0; i < this.map.size; i++) {
- var m = this.map.get(i);
-
- if (!m.leftHas(rval)) {
- continue;
+ if (this.map == null) {
+ this.load();
}
- print("found LEFT, adding right\n");
-
- for(var ii =0; ii < m.right.size; ii++) {
- var l = m.right.get(ii);
+ // empty == *top
+
+ var rval = in_rval == "" ? "*top" : in_rval;
- if (rt.index_of(l) > -1) {
- continue;
- }
- //print("ADD " + string.joinv(", ", ret) + "\n");
- ret += l;
- rt.add(l);
- }
-
-
- }
- print ("drop list for %s is:\n%s\n", rval, string.joinv("\n", ret));
- //console.log("DROP LIST:");
- //console.dump(ret);
- return ret;
-
+ // should be a bit more than this..
+ // -> it should look for all elements that inherit
+ string[] ret = {};
+ var rt = new Gee.ArrayList<string>();
+ for (var i = 0; i < this.map.size; i++) {
+ var m = this.map.get(i);
+
+ if (!m.leftHas(rval)) {
+ continue;
+ }
+ print("found LEFT, adding right\n");
+
+ for(var ii =0; ii < m.right.size; ii++) {
+ var l = m.right.get(ii);
+
+ if (rt.index_of(l) > -1) {
+ continue;
+ }
+ //print("ADD " + string.joinv(", ", ret) + "\n");
+ ret += l;
+ rt.add(l);
+ }
+
+
+ }
+ print ("drop list for %s is:\n%s\n", rval, string.joinv("\n", ret));
+ //console.log("DROP LIST:");
+ //console.dump(ret);
+ return ret;
+
}
public string[] getDropList(string rval)
{
- if (this.map == null) {
- this.load();
- }
-
-
- // should be a bit more than this..
- // -> it should look for all elements that inherit
- string[] ret = {};
- var rt = new Gee.ArrayList<string>();
- for (var i = 0; i < this.map.size; i++) {
- var m = this.map.get(i);
-
- if (m.right.index_of(rval) < 0) {
- continue;
+ if (this.map == null) {
+ this.load();
}
- //print("found RIGHT, adding left\n");
-
- for(var ii =0; ii < m.left.size; ii++) {
- var l = m.left.get(ii);
+
- if (rt.index_of(l) > -1) {
- continue;
- }
- //print("ADD " + string.joinv(", ", ret) + "\n");
- ret += l;
- rt.add(l);
- }
-
-
- }
- print ("drop list for %s is:\n%s\n", rval, string.joinv("\n", ret));
- //console.log("DROP LIST:");
- //console.dump(ret);
- return ret;
+ // should be a bit more than this..
+ // -> it should look for all elements that inherit
+ string[] ret = {};
+ var rt = new Gee.ArrayList<string>();
+ for (var i = 0; i < this.map.size; i++) {
+ var m = this.map.get(i);
+
+ if (m.right.index_of(rval) < 0) {
+ continue;
+ }
+ //print("found RIGHT, adding left\n");
+
+ for(var ii =0; ii < m.left.size; ii++) {
+ var l = m.left.get(ii);
+
+ if (rt.index_of(l) > -1) {
+ continue;
+ }
+ //print("ADD " + string.joinv(", ", ret) + "\n");
+ ret += l;
+ rt.add(l);
+ }
+
+
+ }
+ print ("drop list for %s is:\n%s\n", rval, string.joinv("\n", ret));
+ //console.log("DROP LIST:");
+ //console.dump(ret);
+ return ret;
}
- public async Gee.HashMap<int,string> validateCode(
+ public async Gee.HashMap<int,string> validateVala(
string code,
string property,
string ptype,
print("validate code (%s) %s\n", file.language, code);
var ret = new Gee.HashMap<int,string>();
- if (file.language == "js" && (ptype == "listener" || property[0] == '|')) {
-
-
- //var cd = new JSCore.ClassDefinitionEmpty();
- //print("TESTING CODE %s\n", code);
- string errmsg;
- var line = Javascript.singleton().validate(
- "var __aaa___ = " + code, out errmsg);
-
- if (line < 0) {
- return ret;
- }
- ret.set(line, errmsg);
+
+ if (file.language != "vala" ) { // not sure if we need to validate property
return ret;
}
- if (file.language == "vala" ) { // not sure if we need to validate property
+ var vs = new ValaSource(file);
+ //var cd = new JSCore.ClassDefinitionEmpty();
+ ret = yield vs.checkFileWithNodePropChange(
+ node,
+ property,
+ ptype,
+ code
+ );
+ vs = null;
+ return ret;
+
+ }
+ public Gee.HashMap<int,string> validateJavascript(
+ string code,
+ string property,
+ string ptype,
+ JsRender.JsRender file,
+ JsRender.Node node
+ )
+ {
+
+ print("validate code (%s) %s\n", file.language, code);
+ var ret = new Gee.HashMap<int,string>();
+
+ if (file.language != "js") {
+ return ret;
+ }
+ if (ptype != "listener" && property[0] == '|') {
+ return ret;
+ }
- var vs = new ValaSource(file);
- //var cd = new JSCore.ClassDefinitionEmpty();
- var ret = yield vs.checkFileWithNodePropChange(
- node,
- property,
- ptype,
- code
- );
+ //var cd = new JSCore.ClassDefinitionEmpty();
+ //print("TESTING CODE %s\n", code);
+ string errmsg;
+ var line = Javascript.singleton().validate(
+ "var __aaa___ = " + code, out errmsg);
+
+ if (line < 0) {
+ print("no errors\n");
return ret;
}
- ;
-
- //print ("not javascript\n");
+ ret.set(line, errmsg);
+ print("got errors\n");
return ret;
+
}
-
- public abstract void fillPack(JsRender.Node node,JsRender.Node parent);
+ public abstract void fillPack(JsRender.Node node,JsRender.Node parent);
public abstract void load();
public abstract Gee.HashMap<string,GirObject> getPropertiesFor(string ename, string type);
public abstract GirObject? getClass(string ename);
+
+ public abstract bool typeOptions(string fqn, string key, string type, out string[] opts);
+
}