Community
Participate
Working Groups
In Button.egl, there is logic that invokes functions inherited from RUIWidget, such as the call below to cleanBiDiMarkers private function getText() returns (String) if(this.textLayout == "Visual" || this.reverseTextDirection == "Yes") this.cleanBiDiMarkers(); end return ( getAttribute("value") as string); end This is misrepresented in the IR as follows; note that the id of the function invocation is encoded as id="this.setBiDiMarkers". I've stepped thru the function resolution code and confirmed that this does prevent the invoked function from being found. <trueBranch ID="74" eClass="org.eclipse.edt.mof.egl.StatementBlock" > <annotations ID="75" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:96" off="i:889" line="i:28" /> <container IDREF="5"/> <statements ID="76" eClass="org.eclipse.edt.mof.egl.FunctionStatement" > <annotations ID="77" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:50" off="i:927" line="i:29" /> <container IDREF="5"/> <expr ID="78" eClass="org.eclipse.edt.mof.egl.QualifiedFunctionInvocation" id="this.setBiDiMarkers" > <annotations ID="79" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:49" off="i:927" line="i:29" /> <arguments ID="80" eClass="org.eclipse.edt.mof.egl.MemberName" id="isVisual" > <annotations ID="81" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:8" off="i:947" line="i:29" /> <member IDREF="31"/> </arguments> <arguments ID="82" eClass="org.eclipse.edt.mof.egl.MemberName" id="isReverseDirection" > <annotations ID="83" eClass="dynMof:org.eclipse.edt.mof.egl.Annotation:EGL_Location" len="i:18" off="i:957" line="i:29" /> <member IDREF="50"/> </arguments> <qualifier ID="84" eClass="org.eclipse.edt.mof.egl.ThisExpression" > <thisObject IDREF="1"/> </qualifier> </expr> </statements> </trueBranch>
I have updated EGL2MofExpression to fix this
Verified fix.