> Ah ok. That’s probably a bug. Not sure why, but the emitters currently > initialize private members in the constructor. We discussed on some other > thread a while back that this shouldn’t be necessary except for non-scalar > initializers, so probably we should try to change this someday.
Initializing methods in the constructor via myPrivateMethod = function() {) will make it private but public instance methods not initialized in the constructor won't be able to access it, public methods which aim to access private methods need also to be declared in the contructor (eg. "this.myPublicMethod = function() {return myPrivateMethod())") But do we need to replicate the AS3 NS behaviour in JS (public, private, protected, custom NS) ? Has it been already discussed ? I'm not sure, my first answer would be no as the the developer will develop in AS3 but if the code to be tested is the JS, I would answer yes, we must reproduce what AS3 promises, the public, protected, private and custom NS for classes and instances. Thoughts ? Frédéric THOMAS ---------------------------------------- > From: aha...@adobe.com > To: dev@flex.apache.org > Subject: Re: [FalconJX FlexJS] JQuery up and running, a nightmare but we now > have 1.9 in AS > Date: Thu, 25 Jun 2015 14:37:30 +0000 > > Ah ok. That’s probably a bug. Not sure why, but the emitters currently > initialize private members in the constructor. We discussed on some other > thread a while back that this shouldn’t be necessary except for non-scalar > initializers, so probably we should try to change this someday. > > -Alex > > On 6/25/15, 5:30 AM, "Frédéric THOMAS" <webdoubl...@hotmail.com> wrote: > >>>>That remains me, if I change my start() function to either public or >>>>private, the cross compiled one is Main.prototype.start = function() >>>>hence it becomes public, only the @public / @private annotation changes, >>>>is that expected ? >>> >>> I’m not sure I understand. What was it otherwise? >> >>Using inner construstor functions: >> >>-------------------------------------- >>- Public function >>-------------------------------------- >> >>public class Main { >> public function start():void { >> HtmlContainer.load([JQUERY_SCRIPT], run); >> } >>} >> >>/** >> * @constructor >> */ >>Main = function() { >> /** >> * @public >> */ >> this.start = function() { >> HtmlContainer.load([Main.JQUERY_SCRIPT], Main.run); >> }; >>}; >> >>-------------------------------------- >>- Private function >>-------------------------------------- >> >>public class Main { >> private function start():void { >> HtmlContainer.load([Main.JQUERY_SCRIPT], run); >> } >>} >> >> >>/** >> * @constructor >> */ >>Main = function() { >> /** >> * @private >> */ >> start = function() { >> HtmlContainer.load([Main.JQUERY_SCRIPT], Main.run); >> }; >>}; >> >> >>Frédéric THOMAS >> >> >>---------------------------------------- >>> From: aha...@adobe.com >>> To: dev@flex.apache.org >>> Subject: Re: [FalconJX FlexJS] JQuery up and running, a nightmare but >>>we now have 1.9 in AS >>> Date: Thu, 25 Jun 2015 04:57:48 +0000 >>> >>> >>> >>> On 6/24/15, 6:43 PM, "Frédéric THOMAS" <webdoubl...@hotmail.com> wrote: >>> >>>>> When we wrote js we were not sure of naming conventions. Google >>>>seems to like backing variables to end with dash but flex starts with >>>>dash. Not sure what to do. I'm thinking we change to end with dash. >>>> >>>>Even though those 2 properties are public ? >>> >>> Sorry, I took a closer look. There shouldn’t be _ on those properties. >>> Keep in mind that there has been relatively little testing on this code. >>> We get the examples to work and call it “done for now”. >>> >>>> >>>>That remains me, if I change my start() function to either public or >>>>private, the cross compiled one is Main.prototype.start = function() >>>>hence it becomes public, only the @public / @private annotation changes, >>>>is that expected ? >>> >>> I’m not sure I understand. What was it otherwise? >>> >>> -Alex >>> >> >