Improvements
Parsing
On the generic of find all, what I see is that each new entity requires dedicated code: an if/case in parse(), a buildFindAllXxxRecipe(), and potentially an extractXxxResults() for each DataTable type. This means find all java.annotation, find all java.method, etc. will each need their own code block.
This remark is also true for every existing scanner as it is needed to :
translate the antlr query to its scanner request -> execute -> collect results -> generate/extractResults -> mtool report
Antlr grammar
The new clause with FIND? 'all'? is backwards compatible, good. But there is one concern as assignmentOp includes all as an operator at the same level as 'is' and '='. I don't understand the semantic meaning of all as an assignment operator, what would java.annotation all '@SpringBootApplication' mean ? I think all only makes sense as a quantifier in find all, not as an operator.
The ANTLR grammar accepts any find all . combination, but the scanner only handles java.class, so the parser will accept queries that the backend doesn't know how to execute yet, we need a backend mechanism able to scale.
Originally posted by @aureamunoz in #337 (review)
Improvements
Parsing
On the generic of
find all, what I see is that each new entity requires dedicated code: an if/case in parse(), abuildFindAllXxxRecipe(), and potentially anextractXxxResults()for eachDataTabletype. This meansfind all java.annotation,find all java.method, etc. will each need their own code block.This remark is also true for every existing scanner as it is needed to :
translate the
antlr queryto its scannerrequest-> execute -> collect results -> generate/extractResults -> mtool reportAntlr grammar
The new clause with
FIND? 'all'?is backwards compatible, good. But there is one concern asassignmentOpincludesallas an operator at the same level as 'is' and '='. I don't understand the semantic meaning of all as an assignment operator, what wouldjava.annotation all '@SpringBootApplication'mean ? I think all only makes sense as a quantifier in find all, not as an operator.The ANTLR grammar accepts any find all . combination, but the scanner only handles java.class, so the parser will accept queries that the backend doesn't know how to execute yet, we need a backend mechanism able to scale.
Originally posted by @aureamunoz in #337 (review)