fix: duplicated operator handling
[Generated by Duo]
Relates to issue #75 (closed)
Changes
- Extended duplicate operator validation from only
inoperators to all operator types (=,>,>=,<,<=,in) - Updated
analyze_expressions()to track all operators with aHashMap<Operator, IndexSet<Field>>instead of just trackinginoperators - Added field type checking to implement special handling for list-like fields (only
inoperator duplicates are checked for list fields) - Modified error handling to display dynamic operator descriptions instead of hardcoded "in" message
- Updated
DuplicateOperatorForFielderror variant to include bothfieldandoperatorparameters - Added 10 comprehensive test cases covering all operator types and edge cases
- Ensured backward compatibility while matching TypeScript implementation behavior from MR !261 (merged)
Edited by Daniele Rossetti