[gxml: 10/25] CSS : remove 'internal' functions, select nodes inside parser.
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gxml: 10/25] CSS : remove 'internal' functions, select nodes inside parser.
- Date: Tue, 19 Mar 2019 17:46:11 +0000 (UTC)
commit 5b74fd3a7c3440d7e0fcdb77f92a3a47829f1805
Author: BZHDeveloper <inizan yannick gmail com>
Date: Fri Jan 25 13:22:55 2019 +0100
CSS : remove 'internal' functions, select nodes inside parser.
gxml/CssSelectorParser.vala | 10 ++++++++++
gxml/GXmlDocument.vala | 12 +-----------
gxml/GXmlElement.vala | 12 +-----------
gxml/GomDocument.vala | 12 +-----------
gxml/GomElement.vala | 12 +-----------
gxml/meson.build | 6 +++---
6 files changed, 17 insertions(+), 47 deletions(-)
---
diff --git a/gxml/CssSelectorParser.vala b/gxml/CssSelectorParser.vala
index f978d5b..bb9ec84 100644
--- a/gxml/CssSelectorParser.vala
+++ b/gxml/CssSelectorParser.vala
@@ -697,4 +697,14 @@ public class GXml.CssSelectorParser : GLib.Object {
public bool match (GXml.DomElement element) throws GLib.Error {
return match_element (element, this.list);
}
+
+ public GXml.DomNodeList query_selector_all (GXml.DomElement element) throws GLib.Error {
+ var list = new GXml.GomNodeList();
+ foreach (GXml.DomElement child in element.children) {
+ if (match (child))
+ list.add (child);
+ list.add_all (query_selector_all (child));
+ }
+ return list;
+ }
}
diff --git a/gxml/GXmlDocument.vala b/gxml/GXmlDocument.vala
index 815ea17..5b8848b 100644
--- a/gxml/GXmlDocument.vala
+++ b/gxml/GXmlDocument.vala
@@ -354,16 +354,6 @@ public class GXml.GDocument : GXml.GNode,
}
public int child_element_count { get { return children_nodes.size; } }
- static DomNodeList query_selector_all_internal (DomElement element, CssSelectorParser parser) throws
GLib.Error {
- var l = new GomNodeList();
- foreach (DomElement e in element.children) {
- if (parser.match (e))
- l.add (e);
- l.add_all (query_selector_all_internal (e, parser));
- }
- return l;
- }
-
public DomNodeList query_selector_all (string selectors) throws GLib.Error {
var cs = new CssSelectorParser ();
cs.parse (selectors);
@@ -371,7 +361,7 @@ public class GXml.GDocument : GXml.GNode,
foreach (DomElement e in children) {
if (cs.match (e))
l.add (e);
- l.add_all (query_selector_all_internal (e, cs));
+ l.add_all (cs.query_selector_all (e));
}
return l;
}
diff --git a/gxml/GXmlElement.vala b/gxml/GXmlElement.vala
index 4687fb6..6b86865 100644
--- a/gxml/GXmlElement.vala
+++ b/gxml/GXmlElement.vala
@@ -313,20 +313,10 @@ public class GXml.GElement : GXml.GNonDocumentChildNode,
public DomElement? last_element_child { owned get { return (DomElement) children.last (); } }
public int child_element_count { get { return children.size; } }
- static DomNodeList query_selector_all_internal (DomElement element, CssSelectorParser parser) throws
GLib.Error {
- var l = new GomNodeList();
- foreach (DomElement e in element.children) {
- if (parser.match (e))
- l.add (e);
- l.add_all (query_selector_all_internal (e, parser));
- }
- return l;
- }
-
public DomNodeList query_selector_all (string selectors) throws GLib.Error {
var cs = new CssSelectorParser ();
cs.parse (selectors);
- return query_selector_all_internal (this, cs);
+ return cs.query_selector_all (this);
}
// XPathContext implementation
/**
diff --git a/gxml/GomDocument.vala b/gxml/GomDocument.vala
index 4c61ef7..2642aaf 100644
--- a/gxml/GomDocument.vala
+++ b/gxml/GomDocument.vala
@@ -352,16 +352,6 @@ public class GXml.GomDocument : GomNode,
}
public int child_element_count { get { return child_nodes.size; } }
- static DomNodeList query_selector_all_internal (DomElement element, CssSelectorParser parser) throws
GLib.Error {
- var l = new GomNodeList();
- foreach (DomElement e in element.children) {
- if (parser.match (e))
- l.add (e);
- l.add_all (query_selector_all_internal (e, parser));
- }
- return l;
- }
-
public DomNodeList query_selector_all (string selectors) throws GLib.Error {
var cs = new CssSelectorParser ();
cs.parse (selectors);
@@ -369,7 +359,7 @@ public class GXml.GomDocument : GomNode,
foreach (DomElement e in children) {
if (cs.match (e))
l.add (e);
- l.add_all (query_selector_all_internal (e, cs));
+ l.add_all (cs.query_selector_all (e));
}
return l;
}
diff --git a/gxml/GomElement.vala b/gxml/GomElement.vala
index 99bf241..82f1ba0 100644
--- a/gxml/GomElement.vala
+++ b/gxml/GomElement.vala
@@ -256,20 +256,10 @@ public class GXml.GomElement : GomNode,
public DomElement? last_element_child { owned get { return (DomElement) children.last (); } }
public int child_element_count { get { return children.size; } }
- static DomNodeList query_selector_all_internal (DomElement element, CssSelectorParser parser) throws
GLib.Error {
- var l = new GomNodeList();
- foreach (DomElement e in element.children) {
- if (parser.match (e))
- l.add (e);
- l.add_all (query_selector_all_internal (e, parser));
- }
- return l;
- }
-
public DomNodeList query_selector_all (string selectors) throws GLib.Error {
var cs = new CssSelectorParser ();
cs.parse (selectors);
- return query_selector_all_internal (this, cs);
+ return cs.query_selector_all (this);
}
// GXml.DomElement
/**
diff --git a/gxml/meson.build b/gxml/meson.build
index cb6c45e..a821064 100644
--- a/gxml/meson.build
+++ b/gxml/meson.build
@@ -36,12 +36,12 @@ configure_file(output : 'config.h',
valasources = files ([
- 'Collections.vala',
- 'CssSelectorParser.vala',
'Attribute.vala',
+ 'Collections.vala',
'CDATA.vala',
'Character.vala',
'Comment.vala',
+ 'CssSelectorParser.vala',
'Document.vala',
'DocumentType.vala',
'DomAttr.vala',
@@ -176,4 +176,4 @@ custom_target('typelib',
depends: lib,
install: true,
install_dir: join_paths(get_option('libdir'), 'girepository-1.0'))
-endif
\ No newline at end of file
+endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]