+ this.line_start = -1;
+ this.line_end = -1;
+ this.lines = new Gee.ArrayList<int>();
+ this.line_map = new Gee.HashMap<int,string>();
+ this.node_lines = new Gee.ArrayList<int>();
+ this.node_lines_map = new Gee.HashMap<int,Node>();
+
+ }
+
+ public void setNodeLine(int line, Node node) {
+ //print("Add node @ %d\n", line);
+ if (this.node_lines_map.has_key(line)) {
+ return;
+ }
+ this.node_lines.add(line);
+ this.node_lines_map.set(line, node);
+
+ }
+
+ public void setLine(int line, string type, string prop) {
+ if (this.line_map.has_key(line)) {
+ if (this.line_map.get(line) != "e:" ) {
+ return;
+ }
+ } else {
+ this.lines.add(line);
+ }
+ this.line_map.set(line, type + ":" + prop);
+ GLib.debug("setLine %d, %s", line, type + ":" + prop);
+ }
+ public void sortLines() {
+ //print("sortLines\n");
+ this.lines.sort((a,b) => {
+ return (int)a-(int)b;
+ });
+ this.node_lines.sort((a,b) => {
+ return (int)a-(int)b;
+ });