On Sun, Jun 28, 2015 at 3:49 PM, Frédéric THOMAS <webdoubl...@hotmail.com>
wrote:

> > My intuition is telling me I am not handling them correctly for most
> cases,
> > things work right now but it would be better if we had some test .js
> files
> > that had all types of package/namespace creation structures.
>
> Like what ?
>
>
Well if I had complete tests I could tell you. ;-)

Mike



> Frédéric THOMAS
>
>
> ----------------------------------------
> > Date: Sun, 28 Jun 2015 15:33:42 -0400
> > Subject: Re: [Externs] jasmine-2.0.js
> > From: teotigraphix...@gmail.com
> > To: dev@flex.apache.org
> >
> > And... haha packages are really sketchy. We need more package type test
> > from the externs that use them.
> >
> > My intuition is telling me I am not handling them correctly for most
> cases,
> > things work right now but it would be better if we had some test .js
> files
> > that had all types of package/namespace creation structures.
> >
> > Mike
> >
> > On Sun, Jun 28, 2015 at 3:28 PM, Michael Schmalle <
> teotigraphix...@gmail.com
> >> wrote:
> >
> >> Fred, what I plan on doing since you are going to be working with the
> code
> >> is start to test all the base externs we have and find bugs or non
> >> implemented things. I will probably just add the things I find in JIRA
> >> throughout the week during my little free time.
> >>
> >> I'm not going to change any code, just add unit tests. One other thing
> >> that I havn't got to is type unit tests. I really just hacked the type
> >> resolving, yeah it works but I see ways in the future of doing some
> stuff
> >> with maybe function callbacks and if I get the type tests down well, I
> will
> >> feel more comfortable trying to parse the harder externs out there.
> >>
> >> Also, we should allow a way to parse those generated externs just for
> >> stubs but, they have nested {} object creation which the parser ignores
> >> right now, so that is another thing that can be tested and implemented.
> >>
> >> Mike
> >>
> >>
> >>
> >> On Sun, Jun 28, 2015 at 3:21 PM, Frédéric THOMAS <
> webdoubl...@hotmail.com>
> >> wrote:
> >>
> >>> Thanks !
> >>>
> >>> Frédéric THOMAS
> >>>
> >>>
> >>> ----------------------------------------
> >>>> Date: Sun, 28 Jun 2015 15:11:20 -0400
> >>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>> From: teotigraphix...@gmail.com
> >>>> To: dev@flex.apache.org
> >>>>
> >>>> Yeah I know, sent to your hotmail.
> >>>>
> >>>> Mike
> >>>>
> >>>> On Sun, Jun 28, 2015 at 3:10 PM, Frédéric THOMAS <
> >>> webdoubl...@hotmail.com>
> >>>> wrote:
> >>>>
> >>>>>> What you can do is to send me your eclipse formatter property file.
> >>>>>> I will use it in IJ.
> >>>>>
> >>>>> I meant export your formatter profiles in xml
> >>>>>
> >>>>> Thanks,
> >>>>> Frédéric THOMAS
> >>>>>
> >>>>>
> >>>>> ----------------------------------------
> >>>>>> From: webdoubl...@hotmail.com
> >>>>>> To: dev@flex.apache.org
> >>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>> Date: Sun, 28 Jun 2015 20:06:19 +0100
> >>>>>>
> >>>>>>> BTW, what should we do about code formatting, it seems my
> formatting
> >>> is
> >>>>>>> different then yours. I am using Eclipse right now since I don't
> >>> have IJ
> >>>>>>> setup for Falcon dev.
> >>>>>>
> >>>>>> I was wrong when I thought I had setup IJ correctly for Falcon, they
> >>> are
> >>>>> still
> >>>>>> things it doesn't know how to do, for instance, share the generated
> >>>>> classes
> >>>>>> thru modules, therefore, it is not yet suitable for all parts of
> >>> Falcon,
> >>>>> at the
> >>>>>> moment, I use tricks to be able to code with.
> >>>>>>
> >>>>>> What you can do is to send me your eclipse formatter property file.
> >>>>>> I will use it in IJ.
> >>>>>>
> >>>>>> Frédéric THOMAS
> >>>>>>
> >>>>>>
> >>>>>> ----------------------------------------
> >>>>>>> Date: Sun, 28 Jun 2015 14:57:50 -0400
> >>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>> From: teotigraphix...@gmail.com
> >>>>>>> To: dev@flex.apache.org
> >>>>>>>
> >>>>>>> BTW, what should we do about code formatting, it seems my
> formatting
> >>> is
> >>>>>>> different then yours. I am using Eclipse right now since I don't
> >>> have IJ
> >>>>>>> setup for Falcon dev.
> >>>>>>>
> >>>>>>> Mike
> >>>>>>>
> >>>>>>> On Sun, Jun 28, 2015 at 2:55 PM, Michael Schmalle <
> >>>>> teotigraphix...@gmail.com
> >>>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Yeah, I didn't want to go crazy with subclasses. Ideally class,
> >>>>> function
> >>>>>>>> and constant could share a "TopLevelReference" subclass of
> >>>>> BaseReference
> >>>>>>>> and you could put import logic there if you wanted to.
> >>>>>>>>
> >>>>>>>> Mike
> >>>>>>>>
> >>>>>>>> On Sun, Jun 28, 2015 at 2:51 PM, Frédéric THOMAS <
> >>>>> webdoubl...@hotmail.com>
> >>>>>>>> wrote:
> >>>>>>>>
> >>>>>>>>>> Once you find instances of imports that need to be saves, your
> >>>>> current
> >>>>>>>>>> context is already the ClassReference, so call
> >>> classRef.addImport().
> >>>>> :)
> >>>>>>>>>
> >>>>>>>>> Btw, I will probably need to have a addImport() FunctionReference
> >>> too,
> >>>>>>>>> right ?
> >>>>>>>>>
> >>>>>>>>> Frédéric THOMAS
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> ----------------------------------------
> >>>>>>>>>> Date: Sun, 28 Jun 2015 14:23:57 -0400
> >>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>
> >>>>>>>>>> Kewl.
> >>>>>>>>>>
> >>>>>>>>>> I am going to be busy most of the week remodeling my mother in
> >>> laws
> >>>>>>>>>> bathroom starting tomorrow. So if you want to try a new custom
> >>> pass
> >>>>> like
> >>>>>>>>>> ResolveImportPass, go for it, I will just stay out of the way. I
> >>>>> think
> >>>>>>>>> it
> >>>>>>>>>> would be good for you. :) If not, no worries, you gave me the
> >>> idea.
> >>>>> haha
> >>>>>>>>>>
> >>>>>>>>>> If you did, look at it like this, since all imports and logic
> >>> therin
> >>>>> are
> >>>>>>>>>> totally dependent on what the compiler actual saves into the
> >>> model,
> >>>>>>>>> logic
> >>>>>>>>>> says this needs to be the last or one of the last passes, from
> my
> >>>>>>>>>> perspective, it needs to be the last.
> >>>>>>>>>>
> >>>>>>>>>> If you make it the last, then this pass is not coupled to us
> >>> fixing
> >>>>> bugs
> >>>>>>>>>> ahead of it. Say we find out we need to add another structure of
> >>> AST
> >>>>>>>>>> parsing for a node structure I havn't implemented yet, well we
> are
> >>>>> safe.
> >>>>>>>>>>
> >>>>>>>>>> Why safe? Because in this import pass, you are using the MODEL,
> >>> so no
> >>>>>>>>> AST.
> >>>>>>>>>> Instead of worrying about resolving imports during AST
> traversal,
> >>> you
> >>>>>>>>> are
> >>>>>>>>>> using what is already in the container after all that complex
> >>>>> parsing is
> >>>>>>>>>> finished.
> >>>>>>>>>>
> >>>>>>>>>> So this pass, you would use your skills at knowing "what" in
> each
> >>>>>>>>> subclass
> >>>>>>>>>> of BaseReference could contain a type. Then write your logic
> pass
> >>> to
> >>>>>>>>>> traverse Classes, then into each classes members, then loop
> >>> through
> >>>>> each
> >>>>>>>>>> member and analyze their types and do your import testing logic
> >>>>> there.
> >>>>>>>>>>
> >>>>>>>>>> Once you find instances of imports that need to be saves, your
> >>>>> current
> >>>>>>>>>> context is already the ClassReference, so call
> >>> classRef.addImport().
> >>>>> :)
> >>>>>>>>>>
> >>>>>>>>>> Mike
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>>
> >>>>>>>>>> On Sun, Jun 28, 2015 at 2:13 PM, Frédéric THOMAS <
> >>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>> wrote:
> >>>>>>>>>>
> >>>>>>>>>>>> All I meant is that 75% of the time we would just want to save
> >>>>> things
> >>>>>>>>> in
> >>>>>>>>>>>> the model or a reference, such that you use addImport() during
> >>> the
> >>>>>>>>>>>> resolution. Then it keeps the emit() phase straight burn
> rubber
> >>> and
> >>>>>>>>> loop
> >>>>>>>>>>>> through all existing model structures, where imports would be
> >>> just
> >>>>> a
> >>>>>>>>> list
> >>>>>>>>>>>> that emitImport() iterates through, no logic.
> >>>>>>>>>>>
> >>>>>>>>>>> Got it !
> >>>>>>>>>>>
> >>>>>>>>>>>> I AM NOT saying what you did was wrong, I am just offering a
> >>> look
> >>>>> into
> >>>>>>>>>>> how
> >>>>>>>>>>>> I set it up. You know how I got this pattern? From my massive
> >>>>>>>>> mistakes in
> >>>>>>>>>>>> code generators of past. :) I realized that an emit phase
> needs
> >>> to
> >>>>> be
> >>>>>>>>>>>> stupid and not dependent on any type of intelligence, just
> >>> needs to
> >>>>>>>>>>> create
> >>>>>>>>>>>> what already exists.
> >>>>>>>>>>>
> >>>>>>>>>>> I'm in a phase where I'm learning compiler things and indeed I
> >>> will
> >>>>> do
> >>>>>>>>>>> some mistakes
> >>>>>>>>>>> or I won't be as precise as you who have experience on it.
> >>>>>>>>>>> Therefore I can accept critics and learn from your explanations
> >>> :-)
> >>>>>>>>>>>
> >>>>>>>>>>>> This can also solve many problems at once. So I haven't got
> back
> >>>>> into
> >>>>>>>>> the
> >>>>>>>>>>>> code BUT my intuition says we need a universal solution for
> any
> >>>>> type
> >>>>>>>>> of
> >>>>>>>>>>>> TYPE that is attached to a member, identifier such as a param
> >>> type,
> >>>>>>>>>>> return
> >>>>>>>>>>>> type, filed type, superclass and interface(already taken care
> of
> >>>>> using
> >>>>>>>>>>>> addImport()).
> >>>>>>>>>>>>
> >>>>>>>>>>>> See where I am coming from? We know that every type is
> >>> eventually
> >>>>>>>>> going
> >>>>>>>>>>> to
> >>>>>>>>>>>> need to be scanned for imports and validated.
> >>>>>>>>>>>
> >>>>>>>>>>> Yes, actually, I was expecting to see a specific pass for that.
> >>>>>>>>>>>
> >>>>>>>>>>>> Dude, I just don't want to come off bossy or condescending, I
> >>> love
> >>>>> you
> >>>>>>>>>>>> help. A lot can be added to this compiler that could be very
> >>>>>>>>> interesting.
> >>>>>>>>>>>> So having you understand my design intention is really
> >>> important to
> >>>>>>>>> me.
> >>>>>>>>>>> :)
> >>>>>>>>>>>
> >>>>>>>>>>> Don't worry, I don't think you are bossy or condescending Mike,
> >>> I'm
> >>>>>>>>>>> reading you
> >>>>>>>>>>> and try to put in parallel the new informations you give and
> what
> >>>>> I've
> >>>>>>>>>>> seen in the code
> >>>>>>>>>>> for a better understanding, that's it.
> >>>>>>>>>>>
> >>>>>>>>>>> Cheers,
> >>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>> Date: Sun, 28 Jun 2015 13:48:02 -0400
> >>>>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>
> >>>>>>>>>>>> Fred you did an awesome job. :)
> >>>>>>>>>>>>
> >>>>>>>>>>>> All I meant is that 75% of the time we would just want to save
> >>>>> things
> >>>>>>>>> in
> >>>>>>>>>>>> the model or a reference, such that you use addImport() during
> >>> the
> >>>>>>>>>>>> resolution. Then it keeps the emit() phase straight burn
> rubber
> >>> and
> >>>>>>>>> loop
> >>>>>>>>>>>> through all existing model structures, where imports would be
> >>> just
> >>>>> a
> >>>>>>>>> list
> >>>>>>>>>>>> that emitImport() iterates through, no logic.
> >>>>>>>>>>>>
> >>>>>>>>>>>> I AM NOT saying what you did was wrong, I am just offering a
> >>> look
> >>>>> into
> >>>>>>>>>>> how
> >>>>>>>>>>>> I set it up. You know how I got this pattern? From my massive
> >>>>>>>>> mistakes in
> >>>>>>>>>>>> code generators of past. :) I realized that an emit phase
> needs
> >>> to
> >>>>> be
> >>>>>>>>>>>> stupid and not dependent on any type of intelligence, just
> >>> needs to
> >>>>>>>>>>> create
> >>>>>>>>>>>> what already exists.
> >>>>>>>>>>>>
> >>>>>>>>>>>> This can also solve many problems at once. So I haven't got
> back
> >>>>> into
> >>>>>>>>> the
> >>>>>>>>>>>> code BUT my intuition says we need a universal solution for
> any
> >>>>> type
> >>>>>>>>> of
> >>>>>>>>>>>> TYPE that is attached to a member, identifier such as a param
> >>> type,
> >>>>>>>>>>> return
> >>>>>>>>>>>> type, filed type, superclass and interface(already taken care
> of
> >>>>> using
> >>>>>>>>>>>> addImport()).
> >>>>>>>>>>>>
> >>>>>>>>>>>> See where I am coming from? We know that every type is
> >>> eventually
> >>>>>>>>> going
> >>>>>>>>>>> to
> >>>>>>>>>>>> need to be scanned for imports and validated.
> >>>>>>>>>>>>
> >>>>>>>>>>>> Dude, I just don't want to come off bossy or condescending, I
> >>> love
> >>>>> you
> >>>>>>>>>>>> help. A lot can be added to this compiler that could be very
> >>>>>>>>> interesting.
> >>>>>>>>>>>> So having you understand my design intention is really
> >>> important to
> >>>>>>>>> me.
> >>>>>>>>>>> :)
> >>>>>>>>>>>>
> >>>>>>>>>>>> Mike
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>>
> >>>>>>>>>>>> On Sun, Jun 28, 2015 at 1:37 PM, Frédéric THOMAS <
> >>>>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>>>> wrote:
> >>>>>>>>>>>>
> >>>>>>>>>>>>>> Fred pretty much iterated things correctly.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> The ResolvePackageNamePass I haven't to get back to. I was
> in
> >>> the
> >>>>>>>>>>> middle
> >>>>>>>>>>>>> of
> >>>>>>>>>>>>>> implementing something when I got it to work in another
> place.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> There is a pattern to how things are parsed so most of the
> >>> time
> >>>>> it's
> >>>>>>>>>>>>> better
> >>>>>>>>>>>>>> to set state as nodes/references are being added to the
> >>> model. In
> >>>>>>>>> the
> >>>>>>>>>>>>> case
> >>>>>>>>>>>>>> of imports, I don't see any problems right now with checking
> >>>>> during
> >>>>>>>>> the
> >>>>>>>>>>>>>> emit phase but, if the model was more interactive during the
> >>>>>>>>> session,
> >>>>>>>>>>>>> this
> >>>>>>>>>>>>>> type of logic should happen during the resolve phase so the
> >>> model
> >>>>>>>>> with
> >>>>>>>>>>>>> it's
> >>>>>>>>>>>>>> references has a correct state if there is any logic
> happening
> >>>>>>>>> between
> >>>>>>>>>>>>> two
> >>>>>>>>>>>>>> references.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Thanks for the explanation, I will take the time to do some
> >>> debug
> >>>>>>>>> spins
> >>>>>>>>>>> to
> >>>>>>>>>>>>> understand
> >>>>>>>>>>>>> when the phases are called, what they do and what classes are
> >>>>>>>>> involved.
> >>>>>>>>>>>>> Given it is a fairly small transpiler and despite the
> recursive
> >>>>>>>>> visitor
> >>>>>>>>>>>>> pattern, I guess I can do it.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>> How much are you working on right now Fred? I just ask
> >>> because I
> >>>>>>>>> don't
> >>>>>>>>>>>>> want
> >>>>>>>>>>>>>> to create any conflicts.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Go ahead Mike, I'm done with that at the moment, I did my
> last
> >>>>>>>>> cleanup
> >>>>>>>>>>>>> already.
> >>>>>>>>>>>>> Anyway, better I work on a branch and commit the branch
> instead
> >>>>> for
> >>>>>>>>>>> review
> >>>>>>>>>>>>> next time.
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>> Date: Sun, 28 Jun 2015 13:23:15 -0400
> >>>>>>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Fred pretty much iterated things correctly.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> The ResolvePackageNamePass I haven't to get back to. I was
> in
> >>> the
> >>>>>>>>>>> middle
> >>>>>>>>>>>>> of
> >>>>>>>>>>>>>> implementing something when I got it to work in another
> place.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> There is a pattern to how things are parsed so most of the
> >>> time
> >>>>> it's
> >>>>>>>>>>>>> better
> >>>>>>>>>>>>>> to set state as nodes/references are being added to the
> >>> model. In
> >>>>>>>>> the
> >>>>>>>>>>>>> case
> >>>>>>>>>>>>>> of imports, I don't see any problems right now with checking
> >>>>> during
> >>>>>>>>> the
> >>>>>>>>>>>>>> emit phase but, if the model was more interactive during the
> >>>>>>>>> session,
> >>>>>>>>>>>>> this
> >>>>>>>>>>>>>> type of logic should happen during the resolve phase so the
> >>> model
> >>>>>>>>> with
> >>>>>>>>>>>>> it's
> >>>>>>>>>>>>>> references has a correct state if there is any logic
> happening
> >>>>>>>>> between
> >>>>>>>>>>>>> two
> >>>>>>>>>>>>>> references.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> How much are you working on right now Fred? I just ask
> >>> because I
> >>>>>>>>> don't
> >>>>>>>>>>>>> want
> >>>>>>>>>>>>>> to create any conflicts.
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>> .
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>> On Sat, Jun 27, 2015 at 5:58 PM, Michael Schmalle <
> >>>>>>>>>>>>> teotigraphix...@gmail.com
> >>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Hey Fred, I was out all day. I will have some time in the
> >>>>> morning
> >>>>>>>>> to
> >>>>>>>>>>>>> look
> >>>>>>>>>>>>>>> at what you did and comment. :)
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>> On Sat, Jun 27, 2015 at 5:27 PM, Frédéric THOMAS <
> >>>>>>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Just to explain what I did, especially to folks who would
> >>> like
> >>>>> to
> >>>>>>>>> get
> >>>>>>>>>>>>>>>> their hand dirty on the compiler but like me, don't know
> >>> how it
> >>>>>>>>> works
> >>>>>>>>>>>>> :-)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> I was adding jasmine-2.0.js [1], a file that contains only
> >>>>> jsDoc
> >>>>>>>>>>>>>>>> (parameters and return type descriptions) and
> declarations,
> >>> no
> >>>>>>>>>>>>>>>> implementations.
> >>>>>>>>>>>>>>>> When I say "adding jasmine-2.0.js" I mean, transpile this
> >>> .js
> >>>>>>>>> file to
> >>>>>>>>>>>>> .as
> >>>>>>>>>>>>>>>> and then compile it to a .swc.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The transpilation part is done by EXTERNC
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> You call it like that:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> <java jar="${basedir}/compiler.jx/lib/externc.jar"
> >>> fork="true"
> >>>>>>>>>>>>>>>> failonerror="false">
> >>>>>>>>>>>>>>>> <arg value="+flexlib=${env.ASJS_HOME}/frameworks" />
> >>>>>>>>>>>>>>>> <arg value="-debug" />
> >>>>>>>>>>>>>>>> <arg
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> value="-load-config=${basedir}/externs/jasmine/jasmine-compile-config.xml"
> >>>>>>>>>>>>>>>> />
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> In the jasmine-compile-config.xml, you can exclude classes
> >>> and
> >>>>>>>>>>> member,
> >>>>>>>>>>>>>>>> for example, in the jasmine.Spec class, I excluded the
> >>> variable
> >>>>>>>>>>>>> $injector
> >>>>>>>>>>>>>>>> as its type was coming from the Angular library that is
> not
> >>> yet
> >>>>>>>>>>>>> transpiled.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> <field-exclude>
> >>>>>>>>>>>>>>>> <class>jasmine.Spec</class>
> >>>>>>>>>>>>>>>> <field>$injector</field>
> >>>>>>>>>>>>>>>> </field-exclude>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> You can also exclude classes and functions.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The compile part is done by the falcon compc as follow:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> <java
> >>>>>>>>>>>
> jar="${basedir}/compiler/generated/dist/sdk/lib/falcon-compc.jar"
> >>>>>>>>>>>>>>>> fork="true"
> >>>>>>>>>>>>>>>> failonerror="true">
> >>>>>>>>>>>>>>>> <arg value="+flexlib=${env.ASJS_HOME}/frameworks" />
> >>>>>>>>>>>>>>>> <arg value="-debug" />
> >>>>>>>>>>>>>>>> <arg
> >>>>>>>>>>>>>>>>
> >>>>>>>>>
> value="-load-config=${basedir}/externs/jasmine/compile-config.xml"
> >>> />
> >>>>>>>>>>>>>>>> <arg
> >>>>>>>>>>>>>>>>
> >>>>>>>>>
> value="-output=${basedir}/externs/jasmine/out/bin/jasmine-2.0.swc"
> >>> />
> >>>>>>>>>>>>>>>> </java>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The problem was that this last part was failing with an
> NPE
> >>> a
> >>>>>>>>> Type of
> >>>>>>>>>>>>>>>> something:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.TypeScope.getPropertyForMemberAccess(TypeScope.java:344)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Even looking closely at the code, I didn't get why it was
> >>>>> failing
> >>>>>>>>> but
> >>>>>>>>>>>>> for
> >>>>>>>>>>>>>>>> sure, because it was trying to compile one of the
> transpiled
> >>>>> .as
> >>>>>>>>>>> file,
> >>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>> transpiled code was wrong.
> >>>>>>>>>>>>>>>> Looking at those .as, it was easy to see that some import
> >>> were
> >>>>>>>>>>> missing.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> So, why the 2 others externs (js and jquery) had no
> issues ?
> >>>>>>>>>>>>>>>> It is always surprising to see something working on all
> the
> >>>>> things
> >>>>>>>>>>>>> except
> >>>>>>>>>>>>>>>> of yours, but it can help you too :-)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> So, I've been looking at those other transpiled .as files
> >>> from
> >>>>>>>>>>> existing
> >>>>>>>>>>>>>>>> externs to see if they had imports and they were some.
> >>>>>>>>>>>>>>>> I then created a mini jasmine.js containing only the
> faulty
> >>>>> case
> >>>>>>>>>>> only,
> >>>>>>>>>>>>>>>> that, from what I've been able to determinate, was that
> the
> >>>>> import
> >>>>>>>>>>> was
> >>>>>>>>>>>>> not
> >>>>>>>>>>>>>>>> generated when a static function had a return type of a
> >>> class
> >>>>>>>>> created
> >>>>>>>>>>>>> via a
> >>>>>>>>>>>>>>>> function constructor, so, I filled this mini jasmine.js
> with
> >>>>> the
> >>>>>>>>>>>>> equivalent
> >>>>>>>>>>>>>>>> of a static function like this:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>> * @return {!jasmine.Clock}
> >>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>> jasmine.clock = function() {};
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Which should transpile in AS3, something like:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> import jasmine.Clock;
> >>>>>>>>>>>>>>>> public static function clock():Clock {}
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> and a function constructor like this:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> /** @constructor */
> >>>>>>>>>>>>>>>> jasmine.Clock = function() {};
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> which transpile:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> package jasmine {
> >>>>>>>>>>>>>>>> public class Clock {}
> >>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Created a test class based on those Mike created for the
> >>>>> previous
> >>>>>>>>>>>>> externs
> >>>>>>>>>>>>>>>> doing:
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> // jasmine, the main jasmine class.
> >>>>>>>>>>>>>>>> ClassReference jasmine =
> model.getClassReference("jasmine");
> >>>>>>>>>>>>>>>> assertNotNull(jasmine);
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> assertTrue(jasmine.hasImport("jasmine.Clock"));
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The hasImport method didn't exist on ClassReference but it
> >>> was
> >>>>> a
> >>>>>>>>>>>>>>>> addImport(), I follow to where it was called in
> >>>>>>>>> ResolvePackagesPass
> >>>>>>>>>>>>> hoping
> >>>>>>>>>>>>>>>> to find a missing case but after debug spin I wasn't able
> >>> to do
> >>>>>>>>> what
> >>>>>>>>>>> I
> >>>>>>>>>>>>>>>> expected, I'm not sure I understood all the logic in this
> >>> class
> >>>>>>>>> but
> >>>>>>>>>>> it
> >>>>>>>>>>>>>>>> looked like the Node of my return type was never visited
> and
> >>>>>>>>>>> therefore
> >>>>>>>>>>>>>>>> wasn't able to add my import here.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> But wait, in the ClassReference, I have a
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> public MethodReference addMethod(Node node, String
> >>>>> functionName,
> >>>>>>>>>>>>>>>> JSDocInfo comment, boolean isStatic)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> To me it would be enough to add the import to the list of
> >>>>> imports
> >>>>>>>>> to
> >>>>>>>>>>> be
> >>>>>>>>>>>>>>>> emitted when the MethodReference is to be added, I just
> had
> >>> to
> >>>>>>>>>>>>> determinate
> >>>>>>>>>>>>>>>> if the return type given in the jsDoc was not from the
> >>> current
> >>>>>>>>>>>>> package, the
> >>>>>>>>>>>>>>>> given method not excluded, the given return type neither !
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> My test was passing was I was able to compile with this
> new
> >>>>> code
> >>>>>>>>> the
> >>>>>>>>>>>>> old
> >>>>>>>>>>>>>>>> externs.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> The only thing I had to do to finish to compile the
> jasmine
> >>>>> extern
> >>>>>>>>>>> was
> >>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>> emit the imports for the global functions too as they
> shown
> >>> to
> >>>>> be
> >>>>>>>>>>>>> faulty
> >>>>>>>>>>>>>>>> for the same reasons.
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Mike will probably tell me now where my logic was wrong
> now
> >>> :-)
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>> From: webdoubl...@hotmail.com
> >>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>> Date: Sat, 27 Jun 2015 20:43:43 +0100
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Ok, done !
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> I forgot to uncomment the externc build of jasmine and
> >>> print
> >>>>> the
> >>>>>>>>>>>>> global
> >>>>>>>>>>>>>>>> function imports !
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>> From: webdoubl...@hotmail.com
> >>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>> Date: Sat, 27 Jun 2015 20:12:16 +0100
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> I pushed the changes which are ready to be reviewed.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> oups, hold on, I had some things commented that hidden
> >>> other
> >>>>>>>>>>>>> problems,
> >>>>>>>>>>>>>>>> I will continue on it.
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>> From: webdoubl...@hotmail.com
> >>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>> Date: Sat, 27 Jun 2015 18:31:32 +0100
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Hi Mike,
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> I pushed the changes which are ready to be reviewed.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Note: The jasmine-2.0.js is not committed as it should
> be
> >>>>>>>>>>> downloaded
> >>>>>>>>>>>>>>>> with the unpack-externs target of the download.xml, I
> >>> followed
> >>>>> the
> >>>>>>>>>>>>> model.
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>>> Date: Sat, 27 Jun 2015 05:31:50 -0400
> >>>>>>>>>>>>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> I just noticed you said today or tomorrow, whatever
> man.
> >>>>>>>>> doesn't
> >>>>>>>>>>>>>>>> matter.
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>> On Sat, Jun 27, 2015 at 5:17 AM, Michael Schmalle <
> >>>>>>>>>>>>>>>> teotigraphix...@gmail.com
> >>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Well its the practice. I know the pattern I am using
> so
> >>>>> if I
> >>>>>>>>>>> have
> >>>>>>>>>>>>> to
> >>>>>>>>>>>>>>>>>>>>> adjust it to fit I will. You can tell that with AST
> >>> type
> >>>>>>>>> stuff,
> >>>>>>>>>>> it
> >>>>>>>>>>>>>>>> has to
> >>>>>>>>>>>>>>>>>>>>> follow a specific pattern or everything turns to crap
> >>> when
> >>>>>>>>>>> trying
> >>>>>>>>>>>>>>>> to add
> >>>>>>>>>>>>>>>>>>>>> stuff down the road.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Commit it sooner than later as I have a couple hours
> to
> >>>>>>>>> check it
> >>>>>>>>>>>>>>>> out this
> >>>>>>>>>>>>>>>>>>>>> morning.
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>> On Sat, Jun 27, 2015 at 3:15 AM, Frédéric THOMAS <
> >>>>>>>>>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Hi Mike,
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> I can now compile jasmine, I'm not sure my fix is
> very
> >>>>> clean
> >>>>>>>>>>> but
> >>>>>>>>>>>>> it
> >>>>>>>>>>>>>>>>>>>>>> works, I've been able to compile all the externs
> with.
> >>>>>>>>>>>>>>>>>>>>>> I will commit it later today or tomorrow as I need
> to
> >>>>> clean
> >>>>>>>>> a
> >>>>>>>>>>> bit
> >>>>>>>>>>>>>>>> before
> >>>>>>>>>>>>>>>>>>>>>> and it would be nice if you can review it.
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>>>>>> From: webdoubl...@hotmail.com
> >>>>>>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>>>>> Date: Fri, 26 Jun 2015 22:43:30 +0100
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> Hey Mike, it looks like "import jasmine.Clock;" is
> >>>>> missing
> >>>>>>>>> in
> >>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>> generated jasmine.as, that's it !
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>>>>>>> From: webdoubl...@hotmail.com
> >>>>>>>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>>>>>>> Subject: RE: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>>>>>> Date: Fri, 26 Jun 2015 22:26:32 +0100
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> HAHA, ah that is a hard one man, thanks for the
> >>> offer
> >>>>>>>>> but I
> >>>>>>>>>>>>>>>> think I am
> >>>>>>>>>>>>>>>>>>>>>>>>> going to need to get this one. There are a couple
> >>>>> places
> >>>>>>>>> it
> >>>>>>>>>>>>>>>> could be
> >>>>>>>>>>>>>>>>>>>>>> though
> >>>>>>>>>>>>>>>>>>>>>>>>> if you are curious.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> First you really need to understand the problem,
> I
> >>> am
> >>>>>>>>> typing
> >>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>>>>> stuff in
> >>>>>>>>>>>>>>>>>>>>>>>>> between installing a bathroom vanity and sink,
> so I
> >>>>>>>>> haven't
> >>>>>>>>>>>>>>>> looked at
> >>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>> code yet. :)
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> So I can't really give you an answer since I
> don't
> >>>>> quite
> >>>>>>>>>>> know
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>> problem
> >>>>>>>>>>>>>>>>>>>>>>>>> yet.
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Ok, I will check your solution :-)
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>> Date: Fri, 26 Jun 2015 16:59:58 -0400
> >>>>>>>>>>>>>>>>>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> On Fri, Jun 26, 2015 at 4:39 PM, Frédéric THOMAS
> <
> >>>>>>>>>>>>>>>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Yeah, this "jasmine.Clock"
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> The error means that the Falcon compiler is
> >>> trying
> >>>>> to
> >>>>>>>>>>>>> resolve
> >>>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>>>>>>>> member
> >>>>>>>>>>>>>>>>>>>>>>>>>>> expression and it can't resolve it.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> So this means there is a bug in the AST
> resolver.
> >>>>> You
> >>>>>>>>> are
> >>>>>>>>>>>>>>>> using the
> >>>>>>>>>>>>>>>>>>>>>>>>>> extern
> >>>>>>>>>>>>>>>>>>>>>>>>>>> in the GCC project correct?
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Yes,
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> https://raw.githubusercontent.com/google/closure-compiler/master/contrib/externs/jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> If so, I need to take a look at it.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Everyone, I did one pass and tests on packages
> >>> and
> >>>>>>>>> class
> >>>>>>>>>>>>>>>> creation,
> >>>>>>>>>>>>>>>>>>>>>> so
> >>>>>>>>>>>>>>>>>>>>>>>>>> these
> >>>>>>>>>>>>>>>>>>>>>>>>>>> types of bugs are to be expected as the
> AST/Type
> >>>>>>>>> resolver
> >>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>> "asked" to
> >>>>>>>>>>>>>>>>>>>>>>>>>> do
> >>>>>>>>>>>>>>>>>>>>>>>>>>> more work then my initial implementation.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Make sense?
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Well, kind of :-)
> >>>>>>>>>>>>>>>>>>>>>>>>>> What classes would you check for this ?
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> HAHA, ah that is a hard one man, thanks for the
> >>> offer
> >>>>>>>>> but I
> >>>>>>>>>>>>>>>> think I am
> >>>>>>>>>>>>>>>>>>>>>>>>> going to need to get this one. There are a couple
> >>>>> places
> >>>>>>>>> it
> >>>>>>>>>>>>>>>> could be
> >>>>>>>>>>>>>>>>>>>>>> though
> >>>>>>>>>>>>>>>>>>>>>>>>> if you are curious.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> First you really need to understand the problem,
> I
> >>> am
> >>>>>>>>> typing
> >>>>>>>>>>>>>>>> this
> >>>>>>>>>>>>>>>>>>>>>> stuff in
> >>>>>>>>>>>>>>>>>>>>>>>>> between installing a bathroom vanity and sink,
> so I
> >>>>>>>>> haven't
> >>>>>>>>>>>>>>>> looked at
> >>>>>>>>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>>>>> code yet. :)
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> So I can't really give you an answer since I
> don't
> >>>>> quite
> >>>>>>>>>>> know
> >>>>>>>>>>>>>>>> the
> >>>>>>>>>>>>>>>>>>>>>> problem
> >>>>>>>>>>>>>>>>>>>>>>>>> yet.
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>> ----------------------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Date: Fri, 26 Jun 2015 16:32:16 -0400
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Subject: Re: [Externs] jasmine-2.0.js
> >>>>>>>>>>>>>>>>>>>>>>>>>>> From: teotigraphix...@gmail.com
> >>>>>>>>>>>>>>>>>>>>>>>>>>> To: dev@flex.apache.org
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Yeah, this "jasmine.Clock"
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> The error means that the Falcon compiler is
> >>> trying
> >>>>> to
> >>>>>>>>>>>>> resolve
> >>>>>>>>>>>>>>>> a
> >>>>>>>>>>>>>>>>>>>>>> member
> >>>>>>>>>>>>>>>>>>>>>>>>>>> expression and it can't resolve it.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> So this means there is a bug in the AST
> resolver.
> >>>>> You
> >>>>>>>>> are
> >>>>>>>>>>>>>>>> using the
> >>>>>>>>>>>>>>>>>>>>>>>>>> extern
> >>>>>>>>>>>>>>>>>>>>>>>>>>> in the GCC project correct?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> If so, I need to take a look at it.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Everyone, I did one pass and tests on packages
> >>> and
> >>>>>>>>> class
> >>>>>>>>>>>>>>>> creation,
> >>>>>>>>>>>>>>>>>>>>>> so
> >>>>>>>>>>>>>>>>>>>>>>>>>> these
> >>>>>>>>>>>>>>>>>>>>>>>>>>> types of bugs are to be expected as the
> AST/Type
> >>>>>>>>> resolver
> >>>>>>>>>>> is
> >>>>>>>>>>>>>>>>>>>>>> "asked" to
> >>>>>>>>>>>>>>>>>>>>>>>>>> do
> >>>>>>>>>>>>>>>>>>>>>>>>>>> more work then my initial implementation.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Make sense?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> Mike
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> On Fri, Jun 26, 2015 at 3:27 PM, Frédéric
> THOMAS
> >>> <
> >>>>>>>>>>>>>>>>>>>>>>>>>> webdoubl...@hotmail.com>
> >>>>>>>>>>>>>>>>>>>>>>>>>>> wrote:
> >>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Hi Mike,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Any idea why ?
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>> U:\sources\asf\flex\falcon\externs\jasmine\out\as\classes\
> >>>>>>>>>>>>>>>>>>>>>> jasmine.as:26
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Erreur interne :
> java.lang.NullPointerException
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.TypeScope.getPropertyForMemberAccess(TypeScope.java:344)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.ScopeView.getPropertyForMemberAccess(ScopeView.java:81)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:879)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:841)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.scopes.ASScope.getPropertyFromDef(ASScope.java:760)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.resolveMemberRef(IdentifierNode.java:829)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.resolve(IdentifierNode.java:377)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.tree.as.IdentifierNode.getMName(IdentifierNode.java:432)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.tree.as.MemberAccessExpressionNode.getMName(MemberAccessExpressionNode.java:158)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.as.codegen.ABCGeneratingReducer.dottedName(ABCGeneratingReducer.java:840)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> at
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>
> >>>
> org.apache.flex.compiler.internal.as.codegen.CmcEmitter.action_321(CmcEmitter.java:5236)
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> ...
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public static function clock():jasmine.Clock {
> >>>>> return
> >>>>>>>>>>>>> null; }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> ^
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> In the jasmine extern file
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @return {!jasmine.Clock}
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.clock = function() {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /** @constructor */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.Clock = function() {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /** */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.Clock.prototype.install = function()
> {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /** */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.Clock.prototype.uninstall = function()
> >>> {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /** @param {number} ms */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.Clock.prototype.tick = function(ms)
> {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /** @param {!Date} date */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> jasmine.Clock.prototype.mockDate =
> >>> function(date)
> >>>>> {};
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> In jasmine.as
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @returns {jasmine.Clock}
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public static function clock():jasmine.Clock {
> >>>>> return
> >>>>>>>>>>>>> null; }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> clock.as
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> -----------------------------
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> package jasmine {
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public class Clock {
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public function Clock() {
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> super();
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * Generated doc for missing method JSDoc.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> *
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public function install():void { }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @param ms [number]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public function tick(ms:Number):void { }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * Generated doc for missing method JSDoc.
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> *
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public function uninstall():void { }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> /**
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @param date [Date]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> * @see [jasmine-2.0]
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> */
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> public function mockDate(date:Date):void { }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> }
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Thanks,
> >>>>>>>>>>>>>>>>>>>>>>>>>>>> Frédéric THOMAS
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>
> >>>>>
> >>>>>
> >>>
> >>>
> >>
>
>

Reply via email to