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