Community
Participate
Working Groups
Build Identifier: For below Handler, the Button can not be displayed correctly. handler demo9 type RUIhandler {initialUI = [ ui ],onConstructionFunction = start, cssFile="css/MyRUI9.css", title="demo9"} ui Box{ children = [ Button ] }; Button Button{ text = "Click" }; //This Button is defined after "ui" function start() end end This is because the generated javascript sets the children of "ui" to "Button" before the "Button" is instanced. Reproducible: Always
I've developed the JS gen portion of the fix, however, it also requires an IR fix so as soon as that's available I will commit my code.
After much discussion, implemented the following: Runtime construction consists of two phases: default initialization of fields followed by the execution of initializer statements for fields that have them. In JS, default initialization will now be done in eze$$setEmpty, and initializer statements will be done in eze$$setInitial. Generated constructors will invoke eze$$setInitial, which in turn will first invoke eze$$setEmpty before executing any initializer statements. This change was unit-tested by executing the FVT tests as well as by trying various handlers in VE.
Verified in 0.7.0.v201109192102. Thanks.