feat: support ellipsis placeholder expression#336
feat: support ellipsis placeholder expression#336hjotha wants to merge 1 commit intomendixlabs:mainfrom
Conversation
Symptom: microflow Java action parameters with an empty BasicCodeActionParameterValue could not be represented in MDL, so describe/exec round-trips had to either invent a value or fail to parse the generated source. Root cause: the expression grammar had no placeholder expression that could carry an intentionally unbound code-action argument through the parser and builder. Fix: add an ellipsis source expression, emit it for `...`, preserve it through expression formatting, and map it back to an empty BasicCodeActionParameterValue for Java action arguments. Tests: added parser/visitor coverage, builder coverage for placeholder Java action arguments, an MDL doctype fixture, and validation docs for the new syntax.
AI Code ReviewCritical IssuesNone found. Moderate IssuesNone found. Minor Issues
What Looks Good
RecommendationApprove. The PR thoroughly implements the ellipsis placeholder feature following all project guidelines, with proper documentation, test coverage, and full-stack implementation. The minor concern about visitor logic is likely addressed in the generated or omitted code sections given the passing tests and explicit documentation of the AST behavior. Automated review via OpenRouter (Nemotron Super 120B) — workflow source |
Summary
Adds
...as a microflow expression placeholder for intentionally unbound code-action parameters. This letsdescribeoutput preserve emptyBasicCodeActionParameterValuebindings and letsexecwrite them back without inventing synthetic expression values.Part of #332.
Changes
ELLIPSISto the MDL grammar and preserves it as a source expression....back to empty basic code-action parameter values.Validation
make buildmake lint-gomake test./bin/mxcli check mdl-examples/doctype-tests/ellipsis_placeholder.test.mdl