No framework classes are cross compiled. Only project AS files are run
through FalconJS before they are combined with the JS framework through the
Closure Builder.

The AS framework is there to allow for project development in Flash
Builder. Our job as developers is to provide both sides of the fence (AS
and JS framework) with matching functionality so the compiled project JS
files will behave the same in a browser as their AS  equivalent does in the
Flash Player.

EdB



On Thursday, December 6, 2012, Michael @er5ik68Schmalle wrote:

> Erik,
>
> I'm trying to get clear on something.
>
> What exact classes or interfaces get translated from .as to .js from the
> framework directories?
>
> What files are going to be maintained by hand and tests? I'm still a bit
> confused to the flow.
>
> You have FlexObject.js, FlexGlobals.js which obviously has no correlation
> in .as. What about that?
>
>
> Mike
>
>
>
>
> Quoting Erik de Bruin <e...@ixsoftware.nl>:
>
>  That looks very promising! Some tweaking is needed, and some of the
> output (the bottom part mostly, I guess that is for some kind of
> introspection that is in my template provided by other methods) isn't
> needed, at least not from what I understand.
>
> I'll look into the details of the new output tomorrow and indicate if
> and what changes would be nice ;-)
>
> EdB
>
>
> On Thu, Dec 6, 2012 at 7:01 PM, Michael Schmalle
> <apa...@teotigraphix.com> wrote:
>
> Hi,
>
> Right now after about 5 hours of researching and messing around I can get
> the following using the closure compiler flag;
>
> //============================**==============================**=======
> AS CODE
>
>
> package com.example.components
> {
>
> import flash.display.Sprite;
>
> public class MyTextButton extends Sprite
> {
>     public function MyTextButton()
>
>     {
>         super();
>      }
>
>     private var _privateVar:String = "do ";
>
>     public var publicProperty:Number = 100;
>
>     public function myFunction(value: String): String
>     {
>         return "Don't " + _privateVar + value;
>     }
> }
> }
>
>
> //============================**==============================**=======
> JS CODE
>
> /** @preserve CROSS-COMPILED BY MXMLJSC (329449.1) ON 2012-12-06 12:55:52
>  */
> /**
>  * CROSS-COMPILED BY MXMLJSC (329449.1) ON 2012-12-06 12:52:19
>  *
>  * Class: com.example.components.**MyTextButton
>  * @constructor
>  * @extends flash.display.Sprite
>  */
>
> // Constructor
>
>
> /**
>  * Constructor: com.example.components.**MyTextButton()
>  * @constructor
>  * @this {com.example.components}
>  */
> com.example.components.**MyTextButton = function()
> {
>         var self = this;
>                 self.publicProperty /* : Number */ = 100;
>                 goog.base(this);
>                 return self;
> }
>
>
> goog.inherits(com.example.**components.MyTextButton,
> flash.display.Sprite);
>
> /**
>  * Member: com.example.components.**MyTextButton.prototype._CLASS
>  * @const
>  * @type {com.example.components.**MyTextButton}
>  */
> com.example.components.**MyTextButton.prototype._CLASS =
> com.example.components.**MyTextButton;
> ;
>
> /**
>  * Member: com.example.components.**MyTextButton._privateVar
>
>  * @private
>  * @type {string}
>  */
> com.example.components.**MyTextButton.prototype._**privateVar /* : String
> */ =
> "do ";
> ;
>
> /**
>  * Member: com.example.components.**MyTextButton.publicProperty
>  * @type {number}
>  */
> com.example.components.**MyTextButton.prototype.**publicProperty /* :
> Number */
> = 100;
> ;
>
>
> /**
>  * Method: com.example.components.**MyTextButton.myFunction()
>  * @this {com.example.components.**MyTextButton}
>  * @param {string} value
>  * @return {string}
>  */
> com.example.components.**MyTextButton.prototype.**myFunction =
> function(value /*
> : String */) /* : String */
> {
>                 /** @type {com.example.components.**MyTextButton} */
>                 var self = this;
>                 return (("Don't " + self._privateVar) + value);
> }
>
> /**
>  * Member: com.example.components.**MyTextButton._PACKAGE
>  * @const
>  * @type {com.example.components}
>  */
> com.example.components.**MyTextButton._PACKAGE = com.example.components;
>
>
> /**
>  * Member: com.example.components.**MyTextButton._NAME
>  * @const
>  * @type {string}
>  */
> com.example.components.**MyTextButton._NAME = "MyTextButton";
>
> /**
>  * Member: com.example.components.**MyTextButton._FULLNAME
>  * @const
>  * @type {string}
>  */
> com.example.components.**MyTextButton._FULLNAME =
> "com.example.components.**MyTextButton";
>
> /**
>  * Member: com.example.components.**MyTextButton._SUPER
>  * @const
>  * @type {flash.display.Sprite}
>  */
> com.example.components.**MyTextButton._SUPER = flash.display.Sprite;
>
> /**
>  * Member: com.example.components.**MyTextButton._NAMESPACES
>  * @const
>  * @type {Object}
>  */
> com.example.components.**MyTextButton._NAMESPACES = {
>         "_privateVar::7:com.example.**components.MyTextButton" : tr
>
>

-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to