Just to add, I am coming at this as a compiler dev not a user right now. So Josh, I may seem short sighted trying to hack something with an IDE I use but I hope you don't get that impression from me.
I annoyed that IJ doesn't use the Object definition of our Object. I have a feeling I know why and it has to do with their "language" plugin because Flash support is really just javascript support with some addons. I already stated I don't want to do this JSObject thing, let the record be known. :) But I also want as much chance for this little compiler project with JS to have as much possible success. Not having native Object properties for ES3 and ES5 seems strange to someone trying it. Mike On Wed, Jun 17, 2015 at 1:20 PM, Frédéric THOMAS <webdoubl...@hotmail.com> wrote: > Well, looking at it better, we probably have everything we need with our > OOP mechanism for not having to use it. > > Frédéric THOMAS > > > ---------------------------------------- > > From: aha...@adobe.com > > To: dev@flex.apache.org > > Subject: Re: [FlaconJX] JS.swc design problems (was [FlexJS] IntelliJ > Integration) > > Date: Wed, 17 Jun 2015 16:36:16 +0000 > > > > Along that line of thinking: What are some (or all) of the APIs on Object > > that are missing, and realistically, how often should someone want to use > > them? Do we think folks writing TS code use them? If not, and there is a > > different way to do the same thing in AS, and few folks are even going to > > hit this, maybe we just put it in the RELEASE_NOTES and see if we can > > attract users and they will put the pressure on JetBrains. > > > > -Alex > > > > On 6/17/15, 9:28 AM, "Josh Tynjala" <joshtynj...@gmail.com> wrote: > > > >>Seems to me like we could get a bunch of developers who are interested in > >>the compiler to pile on and vote on an issue to show that it's important. > >>I'd rather not have the compiler jump through hoops just to get one buggy > >>IDE to give proper code hinting. > >> > >>- Josh > >> > >>On Wed, Jun 17, 2015 at 8:34 AM, Michael Schmalle > >><teotigraphix...@gmail.com > >>> wrote: > >> > >>> On Wed, Jun 17, 2015 at 11:25 AM, Frédéric THOMAS > >>><webdoubl...@hotmail.com > >>>> > >>> wrote: > >>> > >>>>> Oh yeah one other thing Fred, EVERYTING needs to extend JSObject > >>>that > >>>>> extends Object(in the externs def) for it to work correctly in IJ > >>>code > >>>>> completion. Or else IJ will think the HTML class extends it's ECMA2 > >>>> Object > >>>>> and not JSObject. > >>>> > >>>> Yes, it is what I meant but EVERYTHING in JS.swc only, right ? > >>>> > >>> > >>> Correct, it's just candy for the IDE. If somebody doesn't care about > >>> Object.create() or myInstance.__proto__ then it really doesn't matter. > >>> > >>> But we cannot call this true JS until we allow natively these > properties > >>> and methods of ES3 and ES5 IMO. > >>> > >>> That is why eventually I am going to have to bite the bullet and > >>>implement > >>> this. > >>> > >>> I got a busy 2 weeks coming up, I have a lot of remodeling for my > >>>mother in > >>> law to do so I won't have as much time as I did these last 3 weeks, > also > >>> why I busted my ass, so people could have something to try out. > >>> > >>> Mike > >>> > >>> > >>> > >>>> > >>>> Frédéric THOMAS > >>>> > >>>> > >>>> ---------------------------------------- > >>>>> Date: Wed, 17 Jun 2015 11:22:06 -0400 > >>>>> Subject: Re: [FlaconJX] JS.swc design problems (was [FlexJS] > >>>IntelliJ > >>>> Integration) > >>>>> From: teotigraphix...@gmail.com > >>>>> To: dev@flex.apache.org > >>>>> > >>>>> Oh yeah one other thing Fred, EVERYTING needs to extend JSObject > >>>that > >>>>> extends Object(in the externs def) for it to work correctly in IJ > >>>code > >>>>> completion. Or else IJ will think the HTML class extends it's ECMA2 > >>>> Object > >>>>> and not JSObject. > >>>>> > >>>>> Mike > >>>>> > >>>>> On Wed, Jun 17, 2015 at 11:20 AM, Michael Schmalle < > >>>>> teotigraphix...@gmail.com> wrote: > >>>>> > >>>>>> > >>>>>> > >>>>>> On Wed, Jun 17, 2015 at 11:12 AM, Frédéric THOMAS < > >>>> webdoubl...@hotmail.com > >>>>>>> wrote: > >>>>>> > >>>>>>>> What Fred is saying, Have JSObject extend Object. Thus JSObject > >>> would > >>>>>>> have > >>>>>>>> all ES3 and ES5 Object properties and methods, thus IJ would code > >>> hint > >>>>>>>> correctly > >>>>>>> > >>>>>>> I could be wrong but wrong but I would think it would work even > >>> though > >>>>>>> JSObject doesn't extend Object. > >>>>>>> When you construct JS.swc parsing the definition files, when you > >>>meet > >>>> the > >>>>>>> Named Object class, just re-write it as JSObject anywhere and > >>>while > >>>>>>> emitting the final JS file, re-write it as Object, that wouldn' do > >>> the > >>>>>>> trick ? > >>>>>>> > >>>>>> > >>>>>> > >>>>>> Yes, BUT Falcon COMPC still needs an Object definition to compile! > >>>;-) > >>>>>> That is the sticker point here, you see my point? > >>>>>> > >>>>>> Although, maybe I could just include an empty Object and then it > >>>would > >>>>>> matter in IJ. > >>>>>> > >>>>>> Still the emitter will need to know about JSObject to transform it > >>> back > >>>> to > >>>>>> Object during cross compile. > >>>>>> > >>>>>> Mike > >>>>>> > >>>>>> > >>>>>> > >>>>>>> > >>>>>>>>> If Adobe adds something to Object in > >>>>>>>>> playerglobal/airglobal will IJ pick it up? > >>>>>>>>> > >>>>>>>> > >>>>>>>> I would bet it wouldn't. > >>>>>>> > >>>>>>> IJ would allow writing (without hints) and compile, due to the > >>> dynamic > >>>>>>> nature of Object. > >>>>>>> > >>>>>>> Frédéric THOMAS > >>>>>>> > >>>>>>> > >>>>>>> ---------------------------------------- > >>>>>>>> Date: Wed, 17 Jun 2015 10:51:09 -0400 > >>>>>>>> Subject: Re: [FlaconJX] JS.swc design problems (was [FlexJS] > >>> IntelliJ > >>>>>>> Integration) > >>>>>>>> From: teotigraphix...@gmail.com > >>>>>>>> To: dev@flex.apache.org > >>>>>>>> > >>>>>>>> On Wed, Jun 17, 2015 at 10:29 AM, Alex Harui <aha...@adobe.com> > >>>> wrote: > >>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> On 6/17/15, 7:20 AM, "Frédéric THOMAS" <webdoubl...@hotmail.com> > >>>>>>> wrote: > >>>>>>>>> > >>>>>>>>>>> Fred; The point is, you would have to rename every package > >>>level > >>>>>>> class > >>>>>>>>>>>to > >>>>>>>>>>> not get an ambiguous error in the IDE. > >>>>>>>>>> > >>>>>>>>>>Yes, but I guess it should be done for Object as there are no > >>>way > >>> to > >>>>>>> get > >>>>>>>>>>it in IJ as it has a hardcoded definition, the JSObject option > >>> seems > >>>>>>> good > >>>>>>>>>>to me, what about you ? > >>>>>>>>> > >>>>>>>>> Wouldn’t that mess up inheritance from everything that extends > >>>> Object? > >>>>>>>>> > >>>>>>>> > >>>>>>>> What Fred is saying, Have JSObject extend Object. Thus JSObject > >>> would > >>>>>>> have > >>>>>>>> all ES3 and ES5 Object properties and methods, thus IJ would code > >>> hint > >>>>>>>> correctly because it's using it's builtin ECMA2 Object def and > >>>the > >>>>>>> JSObject > >>>>>>>> would extend from that. > >>>>>>>> > >>>>>>>> As I said, this si complicated because on my end it would not be > >>>cut > >>>> and > >>>>>>>> dry how I could do this, would add a huge amount of indirection > >>>in > >>> the > >>>>>>> code > >>>>>>>> for the externs compiler and FlexJS emitter if we didn't have > >>>> metadata. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> Can I get a more detailed technical understanding of this issue? > >>> How > >>>>>>> does > >>>>>>>>> IJ have a hard coded definition? > >>>>>>>> > >>>>>>>> > >>>>>>>> It uses an ECMA2 file for ActionScript which looks like a > >>>compiled > >>>> SWF I > >>>>>>>> would guess. It does not use the Object definitions from > >>> playerglobal > >>>>>>> in a > >>>>>>>> Flex/ActionScript project > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> Is this just for code completion in the > >>>>>>>>> editor or is it compile time as well? > >>>>>>>> > >>>>>>>> > >>>>>>>> It's code hinting. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> I would think that if they are > >>>>>>>>> calling our compiler that we could control this issue. Is this a > >>> bug > >>>>>>>>> worth filing against IJ? > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>> Well IJ and JetBrains really seem disinterested with ActionScript > >>>> these > >>>>>>>> days. > >>>>>>>> > >>>>>>>> > >>>>>>>> > >>>>>>>>> If Adobe adds something to Object in > >>>>>>>>> playerglobal/airglobal will IJ pick it up? > >>>>>>>>> > >>>>>>>> > >>>>>>>> I would bet it wouldn't. > >>>>>>>> > >>>>>>>> > >>>>>>>> The ambiguous error is coming from MXMLC/JSC, its our compiler > >>>that > >>> is > >>>>>>>> barfing. > >>>>>>>> > >>>>>>>> > >>>>>>>> Mike > >>>>>>>> > >>>>>>>> > >>>>>>>>> > >>>>>>>>> -Alex > >>>>>>>>> > >>>>>>>>> > >>>>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>>> > >>>> > >>>> > >>> > > > >