Custom expression editor: use new parser/compiler to generate diagnostics (#19557)
* pratt parser diagnostics * ported over tests from custom parser branch * updated error types to support pos/len for error markers * updated compiler error to removed unnecessary plural * updated resolver to use new error type and pass through node information * updated error text in custom column e2e test * updated diagnostics to use new resolver error class * update recursive-parser passes to pass through node information * roll back error text fix in e2e tests * deleted fuzzing tests (they will be moved into the metabase/expression repo) * this is weird, setting e2e error text back to "Expected expression" * rolled back expression editor changes in handleInputBlur and moved diagnoseExpression first to fix exponent rewrite issue * roll back changes to compileExpression * update import paths in expressions case class identities get messed up
Showing
- frontend/src/metabase/lib/expressions/diagnostics.js 77 additions, 7 deletionsfrontend/src/metabase/lib/expressions/diagnostics.js
- frontend/src/metabase/lib/expressions/pratt/compiler.ts 296 additions, 0 deletionsfrontend/src/metabase/lib/expressions/pratt/compiler.ts
- frontend/src/metabase/lib/expressions/pratt/index.ts 4 additions, 0 deletionsfrontend/src/metabase/lib/expressions/pratt/index.ts
- frontend/src/metabase/lib/expressions/pratt/parser.ts 362 additions, 0 deletionsfrontend/src/metabase/lib/expressions/pratt/parser.ts
- frontend/src/metabase/lib/expressions/pratt/syntax.ts 261 additions, 0 deletionsfrontend/src/metabase/lib/expressions/pratt/syntax.ts
- frontend/src/metabase/lib/expressions/pratt/types.ts 143 additions, 0 deletionsfrontend/src/metabase/lib/expressions/pratt/types.ts
- frontend/src/metabase/lib/expressions/recursive-parser.js 22 additions, 9 deletionsfrontend/src/metabase/lib/expressions/recursive-parser.js
- frontend/src/metabase/lib/expressions/resolver.js 17 additions, 8 deletionsfrontend/src/metabase/lib/expressions/resolver.js
- frontend/src/metabase/query_builder/components/expressions/ExpressionEditorTextfield.jsx 10 additions, 4 deletions...lder/components/expressions/ExpressionEditorTextfield.jsx
- frontend/test/metabase/lib/expressions/pratt/common.ts 81 additions, 0 deletionsfrontend/test/metabase/lib/expressions/pratt/common.ts
- frontend/test/metabase/lib/expressions/pratt/compiler.unit.spec.ts 147 additions, 0 deletions...test/metabase/lib/expressions/pratt/compiler.unit.spec.ts
- frontend/test/metabase/lib/expressions/pratt/parser.unit.spec.ts 239 additions, 0 deletions...d/test/metabase/lib/expressions/pratt/parser.unit.spec.ts
- frontend/test/metabase/scenarios/custom-column/cc-expression-editor.cy.spec.js 1 addition, 1 deletion...e/scenarios/custom-column/cc-expression-editor.cy.spec.js
Loading
Please register or sign in to comment