mxcli version: v0.20.0 (release 2026-08-28) · parse-level, no project needed
A widget with an empty property list fails to parse; omitting the parens entirely works. Bites anyone generating MDL from a template where the property list can be empty (the natural emitter output is name (…props…) with zero props).
Repro
CREATE PAGE MyModule.ProbePage (Layout: Atlas_Core.Atlas_Default) {
PLUGGABLEWIDGET 'com.mendix.widget.web.fileuploader.FileUploader' fileUploader1 ()
};
Syntax errors found:
- line 2:83 mismatched input ')' expecting the start of a statement (create, alter, drop, show, describe, …)
Same for built-in widgets — CONTAINER c1 ():
- line 2:16 mismatched input ')' expecting the start of a statement (create, alter, drop, show, describe, …)
Control: PLUGGABLEWIDGET '<key>' fileUploader1 (no parens) and CONTAINER c1 { } both parse and exec fine.
Expected
() accepted as an empty property list (SQL-ish grammars generally allow it), or a targeted error message ("empty property list — omit the parentheses") instead of the generic mismatched-input cascade.
mxcli version: v0.20.0 (release 2026-08-28) · parse-level, no project needed
A widget with an empty property list fails to parse; omitting the parens entirely works. Bites anyone generating MDL from a template where the property list can be empty (the natural emitter output is
name (…props…)with zero props).Repro
Same for built-in widgets —
CONTAINER c1 ():Control:
PLUGGABLEWIDGET '<key>' fileUploader1(no parens) andCONTAINER c1 { }both parse and exec fine.Expected
()accepted as an empty property list (SQL-ish grammars generally allow it), or a targeted error message ("empty property list — omit the parentheses") instead of the generic mismatched-input cascade.