Mercurial > hg
comparison tests/test-fileset.t @ 38804:d82c4d42b615
fileset: flatten 'or' nodes to unnest unionmatchers
This also makes it easier to compile a union of basic patterns into a single
regexp pattern.
author | Yuya Nishihara <yuya@tcha.org> |
---|---|
date | Sat, 21 Jul 2018 15:23:56 +0900 |
parents | 4dc498d61d86 |
children | 4fe8d1f077b8 |
comparison
equal
deleted
inserted
replaced
38803:4dc498d61d86 | 38804:d82c4d42b615 |
---|---|
157 b2 | 157 b2 |
158 | 158 |
159 $ fileset -p all -s 'a1 or a2 or (grep("b") & clean())' | 159 $ fileset -p all -s 'a1 or a2 or (grep("b") & clean())' |
160 * parsed: | 160 * parsed: |
161 (or | 161 (or |
162 (or | 162 (symbol 'a1') |
163 (symbol 'a1') | 163 (symbol 'a2') |
164 (symbol 'a2')) | |
165 (group | 164 (group |
166 (and | 165 (and |
167 (func | 166 (func |
168 (symbol 'grep') | 167 (symbol 'grep') |
169 (string 'b')) | 168 (string 'b')) |
170 (func | 169 (func |
171 (symbol 'clean') | 170 (symbol 'clean') |
172 None)))) | 171 None)))) |
173 * matcher: | 172 * matcher: |
174 <unionmatcher matchers=[ | 173 <unionmatcher matchers=[ |
175 <unionmatcher matchers=[ | 174 <patternmatcher patterns='(?:a1$)'>, |
176 <patternmatcher patterns='(?:a1$)'>, | 175 <patternmatcher patterns='(?:a2$)'>, |
177 <patternmatcher patterns='(?:a2$)'>]>, | |
178 <intersectionmatcher | 176 <intersectionmatcher |
179 m1=<predicatenmatcher pred=grep('b')>, | 177 m1=<predicatenmatcher pred=grep('b')>, |
180 m2=<predicatenmatcher pred=clean>>]> | 178 m2=<predicatenmatcher pred=clean>>]> |
181 a1 | 179 a1 |
182 a2 | 180 a2 |