{"action":"opened","issue":{"url":"https://api.github.com/repos/fusetools/fuselibs-public/issues/481","repository_url":"https://api.github.com/repos/fusetools/fuselibs-public","labels_url":"https://api.github.com/repos/fusetools/fuselibs-public/issues/481/labels{/name}","comments_url":"https://api.github.com/repos/fusetools/fuselibs-public/issues/481/comments","events_url":"https://api.github.com/repos/fusetools/fuselibs-public/issues/481/events","html_url":"https://github.com/fusetools/fuselibs-public/issues/481","id":259411682,"number":481,"title":"ux:InnerClass crashes with \"Element was referenced before it was initialized\"","user":{"login":"eksperts","id":7188878,"avatar_url":"https://avatars1.githubusercontent.com/u/7188878?v=4","gravatar_id":"","url":"https://api.github.com/users/eksperts","html_url":"https://github.com/eksperts","followers_url":"https://api.github.com/users/eksperts/followers","following_url":"https://api.github.com/users/eksperts/following{/other_user}","gists_url":"https://api.github.com/users/eksperts/gists{/gist_id}","starred_url":"https://api.github.com/users/eksperts/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eksperts/subscriptions","organizations_url":"https://api.github.com/users/eksperts/orgs","repos_url":"https://api.github.com/users/eksperts/repos","events_url":"https://api.github.com/users/eksperts/events{/privacy}","received_events_url":"https://api.github.com/users/eksperts/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2017-09-21T08:13:10Z","updated_at":"2017-09-21T08:13:10Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"[Reported on community](https://www.fusetools.com/community/forums/howto_discussions/uxproperty_inside_innerclass).\r\n\r\nFuse 1.2.1 build 13974, macOS.\r\n\r\nRepro:\r\n```\r\n<App>\r\n    <Panel ux:Class=\"MyClass\" Height=\"80\" Color=\"Blue\" Margin=\"5\">\r\n        <string ux:Property=\"Label\" />\r\n        <Text Value=\"{ReadProperty Label}\" Alignment=\"Center\" TextColor=\"#fff\" />\r\n    </Panel>\r\n    <Panel ux:InnerClass=\"MyInnerClass\" Height=\"80\" Color=\"Blue\" Margin=\"5\">\r\n        <string ux:Property=\"Label\" />\r\n        <Text Value=\"{ReadProperty Label}\" Alignment=\"Center\" TextColor=\"#fff\" />\r\n    </Panel>\r\n    <StackPanel>\r\n        <MyClass Label=\"No crash\" />\r\n        <!-- comment out the following line, the app does not crash -->\r\n        <MyInnerClass Label=\"Crash\" />\r\n    </StackPanel>\r\n</App>\r\n```\r\n\r\nLocal preview dies with this in the Log pane:\r\n```\r\nOutracks.Simulator.Runtime.VariableNotBound: Element '40#' was referenced before it was initialized\r\n  at Outracks.Simulator.Runtime.Environment.GetValue (Outracks.Simulator.Bytecode.Variable variable) <0x157c2808 + 0x000e3> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.Environment.GetValue (Outracks.Simulator.Bytecode.Variable variable) <0x157c2808 + 0x000ab> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.Environment.GetValue (Outracks.Simulator.Bytecode.Variable variable) <0x157c2808 + 0x000ab> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.Environment.GetValue (Outracks.Simulator.Bytecode.Variable variable) <0x157c2808 + 0x000ab> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.Environment.GetValue (Outracks.Simulator.Bytecode.Variable variable) <0x157c2808 + 0x000ab> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.ReadVariable e) <0x157c27d8 + 0x0001f> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x00048> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.ImmutableList`1 arguments) <0x157bfac8 + 0x0005b> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Instantiate i) <0x157c6218 + 0x0002b> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x00216> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f2b90 + 0x000ff> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.LambdaClosure.Func () <0x157d4308 + 0x00040> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (System.Object lambda, System.Object[] arguments) <0x157c2b60 + 0x00083> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.CallLambda i) <0x157c05c0 + 0x0004f> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x00261> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.ImmutableList`1 arguments) <0x157bfac8 + 0x0005b> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.CallStaticMethod m) <0x157bfa58 + 0x00037> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x002ac> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f2b90 + 0x000ff> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.LambdaClosure.Func (System.Object a1) <0x157c61a8 + 0x00064> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (System.Object lambda, System.Object[] arguments) <0x157c2b60 + 0x00106> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.CallLambda i) <0x157c05c0 + 0x0004f> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x00261> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (IEnumerable`1 statements) <0x137f2e58 + 0x00077> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f2b90 + 0x00157> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.LambdaClosure.Func (System.Object a1) <0x157c61a8 + 0x00064> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.LambdaClosure.Action (System.Object a1) <0x157c6178 + 0x0001b> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (System.Object lambda, System.Object[] arguments) <0x157c2b60 + 0x01635> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.CallLambda i) <0x157c05c0 + 0x0004f> in <filename unknown>:0 \r\n  at Outracks.Simulator.Bytecode.Expression.Match[T] (System.Func`2 a1, System.Func`2 a2, System.Func`2 a3, System.Func`2 a4, System.Func`2 a5, System.Func`2 a6, System.Func`2 a7, System.Func`2 a8, System.Func`2 a9, System.Func`2 a10, System.Func`2 a11, System.Func`2 a12, System.Func`2 a13, System.Func`2 a15, System.Func`2 a16) <0x157bf5a0 + 0x00261> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Evaluate (Outracks.Simulator.Bytecode.Expression expression) <0x157bf000 + 0x00563> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (IEnumerable`1 statements) <0x137f2e58 + 0x00077> in <filename unknown>:0 \r\n  at Outracks.Simulator.Runtime.ScopeClosure.Execute (Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f2b90 + 0x00157> in <filename unknown>:0 \r\n  at Outracks.Simulator.Client.VirtualMachine.Execute (IReflection reflection, Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f2908 + 0x00097> in <filename unknown>:0 \r\n  at Outracks.Simulator.Client.VirtualMachine.Execute (Outracks.Simulator.Bytecode.Lambda lambda, System.Object[] arguments) <0x137f28d0 + 0x00023> in <filename unknown>:0 \r\n  at Outracks.Simulator.Client.Reifying.OnEnterState () <0x137ef1a0 + 0x000cf> in <filename unknown>:0 \r\n  at Outracks.Simulator.Client.Application.SetState (Outracks.Simulator.Client.State nextState) <0x1375e558 + 0x00054> in <filename unknown>:0 \r\n  at Outracks.Simulator.Client.Application.OnUpdate () <0x1375e1d8 + 0x000fb> in <filename unknown>:0 \r\n  at Fuse.App.Update () <0x1375e0b0 + 0x00026> in <filename unknown>:0 \r\n```"}}
{"actor":{"display_login":"eksperts"}}