IntelliJ IDEA is an prominent IDE for ActionScript developers these days. I
totally understand why you want this compiler to work well there. I use
IntelliJ IDEA every day, so I would love it if everything worked there, out
of the box.

I'm just throwing in my two cents about what I see as potential user
experience issues, especially in other environments that don't have the
same limitations. If I come off as overly critical or judgmental, I hope
you can read that as me trying to be quick to help out where I can with the
short time I have to contribute right now.

- Josh

On Wed, Jun 17, 2015 at 12:21 PM, Michael Schmalle <
teotigraphix...@gmail.com> wrote:

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

Reply via email to