> 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 ? >> 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 >> >> >>