diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-08-05 20:22:28 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-08-05 20:33:13 +0200 |
commit | 17962ffe75a82b68c8a7fe07f647db04c932cc27 (patch) | |
tree | e58405c23a92d85072156c4f27469b24597a41b9 | |
parent | 484506255835776bb81bcaf49fe99d4728f980b8 (diff) | |
download | tracker-17962ffe75a82b68c8a7fe07f647db04c932cc27.tar.gz |
libtracker-data: Add optional() method for tokens that need no retval checks
Also makes code clearer, as accept() implies you may react differently on
token availability.
https://bugzilla.gnome.org/show_bug.cgi?id=785863
-rw-r--r-- | src/libtracker-data/tracker-sparql-pattern.vala | 4 | ||||
-rw-r--r-- | src/libtracker-data/tracker-sparql-query.vala | 5 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/libtracker-data/tracker-sparql-pattern.vala b/src/libtracker-data/tracker-sparql-pattern.vala index 37faf28dd..96efc1348 100644 --- a/src/libtracker-data/tracker-sparql-pattern.vala +++ b/src/libtracker-data/tracker-sparql-pattern.vala @@ -205,6 +205,10 @@ class Tracker.Sparql.Pattern : Object { return query.accept (type); } + inline void optional (SparqlTokenType type) throws Sparql.Error { + query.optional (type); + } + Sparql.Error get_error (string msg) { return query.get_error (msg); } diff --git a/src/libtracker-data/tracker-sparql-query.vala b/src/libtracker-data/tracker-sparql-query.vala index 32d31efa1..e611b0f38 100644 --- a/src/libtracker-data/tracker-sparql-query.vala +++ b/src/libtracker-data/tracker-sparql-query.vala @@ -347,6 +347,11 @@ public class Tracker.Sparql.Query : Object { return false; } + internal void optional (SparqlTokenType type) throws Sparql.Error { + if (current () == type) + next (); + } + internal Sparql.Error get_error (string msg) { return new Sparql.Error.PARSE ("%d.%d: syntax error, %s".printf (tokens[index].begin.line, tokens[index].begin.column, msg)); } |