Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(200)

Side by Side Diff: components/query_parser/query_parser.cc

Issue 666133002: Standardize usage of virtual/override/final in components/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/query_parser/query_parser.h" 5 #include "components/query_parser/query_parser.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/compiler_specific.h" 9 #include "base/compiler_specific.h"
10 #include "base/i18n/break_iterator.h" 10 #include "base/i18n/break_iterator.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 60
61 // Inheritance structure: 61 // Inheritance structure:
62 // Queries are represented as trees of QueryNodes. 62 // Queries are represented as trees of QueryNodes.
63 // QueryNodes are either a collection of subnodes (a QueryNodeList) 63 // QueryNodes are either a collection of subnodes (a QueryNodeList)
64 // or a single word (a QueryNodeWord). 64 // or a single word (a QueryNodeWord).
65 65
66 // A QueryNodeWord is a single word in the query. 66 // A QueryNodeWord is a single word in the query.
67 class QueryNodeWord : public QueryNode { 67 class QueryNodeWord : public QueryNode {
68 public: 68 public:
69 explicit QueryNodeWord(const base::string16& word); 69 explicit QueryNodeWord(const base::string16& word);
70 virtual ~QueryNodeWord(); 70 ~QueryNodeWord() override;
71 71
72 const base::string16& word() const { return word_; } 72 const base::string16& word() const { return word_; }
73 73
74 void set_literal(bool literal) { literal_ = literal; } 74 void set_literal(bool literal) { literal_ = literal; }
75 75
76 // QueryNode: 76 // QueryNode:
77 virtual int AppendToSQLiteQuery(base::string16* query) const override; 77 int AppendToSQLiteQuery(base::string16* query) const override;
78 virtual bool IsWord() const override; 78 bool IsWord() const override;
79 virtual bool Matches(const base::string16& word, bool exact) const override; 79 bool Matches(const base::string16& word, bool exact) const override;
80 virtual bool HasMatchIn( 80 bool HasMatchIn(const QueryWordVector& words,
81 const QueryWordVector& words, 81 Snippet::MatchPositions* match_positions) const override;
82 Snippet::MatchPositions* match_positions) const override; 82 bool HasMatchIn(const QueryWordVector& words) const override;
83 virtual bool HasMatchIn( 83 void AppendWords(std::vector<base::string16>* words) const override;
84 const QueryWordVector& words) const override;
85 virtual void AppendWords(std::vector<base::string16>* words) const override;
86 84
87 private: 85 private:
88 base::string16 word_; 86 base::string16 word_;
89 bool literal_; 87 bool literal_;
90 88
91 DISALLOW_COPY_AND_ASSIGN(QueryNodeWord); 89 DISALLOW_COPY_AND_ASSIGN(QueryNodeWord);
92 }; 90 };
93 91
94 QueryNodeWord::QueryNodeWord(const base::string16& word) 92 QueryNodeWord::QueryNodeWord(const base::string16& word)
95 : word_(word), 93 : word_(word),
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
141 } 139 }
142 140
143 void QueryNodeWord::AppendWords(std::vector<base::string16>* words) const { 141 void QueryNodeWord::AppendWords(std::vector<base::string16>* words) const {
144 words->push_back(word_); 142 words->push_back(word_);
145 } 143 }
146 144
147 // A QueryNodeList has a collection of QueryNodes which are deleted in the end. 145 // A QueryNodeList has a collection of QueryNodes which are deleted in the end.
148 class QueryNodeList : public QueryNode { 146 class QueryNodeList : public QueryNode {
149 public: 147 public:
150 QueryNodeList(); 148 QueryNodeList();
151 virtual ~QueryNodeList(); 149 ~QueryNodeList() override;
152 150
153 QueryNodeStarVector* children() { return &children_; } 151 QueryNodeStarVector* children() { return &children_; }
154 152
155 void AddChild(QueryNode* node); 153 void AddChild(QueryNode* node);
156 154
157 // Remove empty subnodes left over from other parsing. 155 // Remove empty subnodes left over from other parsing.
158 void RemoveEmptySubnodes(); 156 void RemoveEmptySubnodes();
159 157
160 // QueryNode: 158 // QueryNode:
161 virtual int AppendToSQLiteQuery(base::string16* query) const override; 159 int AppendToSQLiteQuery(base::string16* query) const override;
162 virtual bool IsWord() const override; 160 bool IsWord() const override;
163 virtual bool Matches(const base::string16& word, bool exact) const override; 161 bool Matches(const base::string16& word, bool exact) const override;
164 virtual bool HasMatchIn( 162 bool HasMatchIn(const QueryWordVector& words,
165 const QueryWordVector& words, 163 Snippet::MatchPositions* match_positions) const override;
166 Snippet::MatchPositions* match_positions) const override; 164 bool HasMatchIn(const QueryWordVector& words) const override;
167 virtual bool HasMatchIn(const QueryWordVector& words) const override; 165 void AppendWords(std::vector<base::string16>* words) const override;
168 virtual void AppendWords(std::vector<base::string16>* words) const override;
169 166
170 protected: 167 protected:
171 int AppendChildrenToString(base::string16* query) const; 168 int AppendChildrenToString(base::string16* query) const;
172 169
173 QueryNodeStarVector children_; 170 QueryNodeStarVector children_;
174 171
175 private: 172 private:
176 DISALLOW_COPY_AND_ASSIGN(QueryNodeList); 173 DISALLOW_COPY_AND_ASSIGN(QueryNodeList);
177 }; 174 };
178 175
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
238 query->push_back(L' '); 235 query->push_back(L' ');
239 num_words += (*node)->AppendToSQLiteQuery(query); 236 num_words += (*node)->AppendToSQLiteQuery(query);
240 } 237 }
241 return num_words; 238 return num_words;
242 } 239 }
243 240
244 // A QueryNodePhrase is a phrase query ("quoted"). 241 // A QueryNodePhrase is a phrase query ("quoted").
245 class QueryNodePhrase : public QueryNodeList { 242 class QueryNodePhrase : public QueryNodeList {
246 public: 243 public:
247 QueryNodePhrase(); 244 QueryNodePhrase();
248 virtual ~QueryNodePhrase(); 245 ~QueryNodePhrase() override;
249 246
250 // QueryNodeList: 247 // QueryNodeList:
251 virtual int AppendToSQLiteQuery(base::string16* query) const override; 248 int AppendToSQLiteQuery(base::string16* query) const override;
252 virtual bool HasMatchIn( 249 bool HasMatchIn(const QueryWordVector& words,
253 const QueryWordVector& words, 250 Snippet::MatchPositions* match_positions) const override;
254 Snippet::MatchPositions* match_positions) const override; 251 bool HasMatchIn(const QueryWordVector& words) const override;
255 virtual bool HasMatchIn(const QueryWordVector& words) const override;
256 252
257 private: 253 private:
258 bool MatchesAll(const QueryWordVector& words, 254 bool MatchesAll(const QueryWordVector& words,
259 const QueryWord** first_word, 255 const QueryWord** first_word,
260 const QueryWord** last_word) const; 256 const QueryWord** last_word) const;
261 DISALLOW_COPY_AND_ASSIGN(QueryNodePhrase); 257 DISALLOW_COPY_AND_ASSIGN(QueryNodePhrase);
262 }; 258 };
263 259
264 QueryNodePhrase::QueryNodePhrase() {} 260 QueryNodePhrase::QueryNodePhrase() {}
265 261
(...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 void QueryParser::SortAndCoalesceMatchPositions( 459 void QueryParser::SortAndCoalesceMatchPositions(
464 Snippet::MatchPositions* matches) { 460 Snippet::MatchPositions* matches) {
465 std::sort(matches->begin(), matches->end(), &CompareMatchPosition); 461 std::sort(matches->begin(), matches->end(), &CompareMatchPosition);
466 // WARNING: we don't use iterator here as CoalesceMatchesFrom may remove 462 // WARNING: we don't use iterator here as CoalesceMatchesFrom may remove
467 // from matches. 463 // from matches.
468 for (size_t i = 0; i < matches->size(); ++i) 464 for (size_t i = 0; i < matches->size(); ++i)
469 CoalesceMatchesFrom(i, matches); 465 CoalesceMatchesFrom(i, matches);
470 } 466 }
471 467
472 } // namespace query_parser 468 } // namespace query_parser
OLDNEW
« no previous file with comments | « components/proximity_auth/cryptauth/cryptauth_api_call_flow_unittest.cc ('k') | components/rappor/byte_vector_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698