I just found that 
http://stackoverflow.com/questions/881515/how-do-i-declare-a-namespace-in-javascript

There are I guess all the ways to create them.

Frédéric THOMAS


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

Reply via email to