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