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 >>>> >>>> >> >