stable

Clone or download

Read-only

refactor: Remove Visitor & Visitable interfaces

Those interfaces did not enforce return type so they are replaced with: * SearchableVisitor[0] (field, metadata) * ComparisonVisitor[1] (=, !=, <, >, <=, =>, IN, NOT IN, BETWEEN) * LogicalVisitor 🆕 (and, or) This forces us to better know what is coming from the parser: we no longer have a random "Visitable". According to the grammar defined in tql.peg.js, we will get an `OrExpression`, even for a simple query like `field = 123`. This complexify a little bit some part of the parsing (we cannot anymore have a common `visitExpression` since Or and And do not behave the same way), but we gain typed visitors which is better IMHO. No functional changes. Part of story #32281: Search artifacts with/without parents via TQL [0]: git #tuleap/stable/4bc1b7d17f9ca49941dcaeac35d01e94842a8b05 [1]: git #tuleap/stable/8f0b2cf3d44b5c89659f1e8c10a43ec0646fa1d6 Change-Id: Ia5cf6f3fda005aa0df110c60f4841696b630950e

Modified Files

Name
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php +34 −37 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/InvalidSearchablesCollectionBuilder.php +2 −6 Go to diff View file
M plugins/crosstracker/include/CrossTracker/Report/Query/Advanced/QueryBuilderVisitor.php +31 −27 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/ExpertQueryValidator.php +2 −9 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/AndExpression.php +4 −4 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/AndOperand.php +4 −4 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/BetweenComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Comparison.php +1 −1 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/EqualComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/GreaterThanComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/GreaterThanOrEqualComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/InComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/LesserThanComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/LesserThanOrEqualComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Logical.php +9 −0 Go to diff View file
R plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Visitor.php Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/NotEqualComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/NotInComparison.php +1 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/OrExpression.php +2 −2 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/OrOperand.php +2 −2 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Term.php +1 −1 Go to diff View file
D plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Visitable.php +0 −25 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/IBuildInvalidSearchablesCollection.php +2 −5 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidComparisonCollectorVisitor.php +33 −36 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidSearchablesCollectionBuilder.php +2 −6 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/ParserCacheProxy.php +5 −14 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilderVisitor.php +32 −26 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/SizeValidatorVisitor.php +41 −38 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Report/Query/Advanced/InvalidSearchablesCollectorVisitorTest.php +47 −41 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Report/Query/Advanced/QueryBuilderVisitorTest.php +12 −12 Go to diff View file
M plugins/tracker/tests/unit/Tracker/Report/Query/Advanced/SizeValidatorTest.php +2 −2 Go to diff View file