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