dotstate(...) in EChartsCPL/translator/lib/dotmachine/DotMachineFormatter.py fails on submachines with type VARIABLE_SUBMACHINE. To reproduce, run:
mvn clean compile javadoc:javadoc echarts:ech2javadoc
in EChartsCPL/runtime/java/src/test. Several tests starting with 0199 fail with errors that look like:
ech2javadoc: writing /Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/site/apidocs/test/doc-files/Test0199.svg
return docsvg(compilationUnit, machine, targetDirectory, dotPath, fontsize)
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/docmachine/docmachine.py", line 534, in docsvg
("--tooltip-formatter", "DotMachineNullFormatter.DotMachineNullFormatter")])
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/dotmachine.py", line 674, in translate
machine = dotmachine(compilationUnit)
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/dotmachine.py", line 606, in dotmachine
return dotinitstring + dottop(machine, name) + "\n}"
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/dotmachine.py", line 565, in dottop
rv = dotbody(machine, machineClass, False)
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/dotmachine.py", line 556, in dotbody
rv = rv + dotstate(state, statePath, external)
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/dotmachine.py", line 158, in dotstate
statelabel = LABEL_FORMATTER.dotstate(state, statePath)
File "/Users/isenhour/work/cantata/cantatabuild-yaris/trunk/EChartsCPL/runtime/java/src/test/target/edk/lib/dotmachine/DotMachineFormatter.py", line 92, in dotstate
return stateLabel + stateLabelSuffix
UnboundLocalError: local variable 'stateLabelSuffix' referenced before assignment
Once this is fixed, we can add the test machines to the generated docs for echarts-runtime (if we want to) by uncommenting
<param>test</param>
in the echarts-maven-plugin configuration around line 110 in EChartsCPL/runtime/pom.xml.