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