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