Very impressive!

On Mar 25, 2016, at 1:11 AM, OmPrakash Muppirala <bigosma...@gmail.com> wrote:

> On Thu, Mar 24, 2016 at 12:59 PM, <aha...@apache.org> wrote:
> 
>> under 100 errors
>> 
> 
> woohoo!
> 
> 
>> 
>> 
>> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
>> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a23bd593
>> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a23bd593
>> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a23bd593
>> 
>> Branch: refs/heads/spark
>> Commit: a23bd593f77438cf52898e8b72c988563f2ca9d8
>> Parents: 93ca6b8
>> Author: Alex Harui <aha...@apache.org>
>> Authored: Thu Mar 24 12:59:08 2016 -0700
>> Committer: Alex Harui <aha...@apache.org>
>> Committed: Thu Mar 24 12:59:08 2016 -0700
>> 
>> ----------------------------------------------------------------------
>> .../main/flex/org/apache/flex/core/IChild.as    |  22 +-
>> .../src/main/flex/flex/display/DisplayObject.as |   7 +-
>> .../MX/src/main/flex/flex/display/Graphics.as   |   2 +-
>> .../MX/src/main/flex/flex/display/MovieClip.as  | 190 +++++++++
>> .../MX/src/main/flex/flex/display/Sprite.as     |  28 ++
>> .../main/flex/flex/display/TopOfDisplayList.as  |  21 +-
>> .../MX/src/main/flex/flex/system/I18NManager.as |   7 +
>> .../MX/src/main/flex/flex/text/TextField.as     | 394 ++-----------------
>> .../src/main/flex/flex/utils/IExternalizable.as |  26 ++
>> .../MX/src/main/flex/mx/binding/Watcher.as      |   3 +
>> .../MX/src/main/flex/mx/controls/ToolTip.as     |  42 +-
>> .../core/IDeferredInstantiationUIComponent.as   |   4 +
>> .../mx/core/IDisplayObjectContainerInterface.as |  47 ++-
>> .../flex/mx/core/IDisplayObjectInterface.as     |  30 +-
>> .../src/main/flex/mx/core/IFlexDisplayObject.as |   1 -
>> .../MX/src/main/flex/mx/core/IVisualElement.as  |   2 +
>> .../MX/src/main/flex/mx/core/UIComponent.as     | 238 +++++++++--
>> .../MX/src/main/flex/mx/core/UITextField.as     |  29 ++
>> .../MX/src/main/flex/mx/core/UITextFormat.as    |  15 +-
>> .../src/main/flex/mx/effects/EffectManager.as   |  42 +-
>> .../src/main/flex/mx/managers/SystemManager.as  |  47 +--
>> .../flex/mx/managers/SystemManagerGlobals.as    |   9 +
>> .../main/flex/mx/managers/ToolTipManagerImpl.as |   5 +-
>> .../MX/src/main/flex/mx/utils/ObjectProxy.as    |   1 +
>> .../MX/src/main/flex/mx/utils/Platform.as       |   2 +-
>> .../src/main/resources/compile-asjs-config.xml  |   4 +-
>> 26 files changed, 720 insertions(+), 498 deletions(-)
>> ----------------------------------------------------------------------
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IChild.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IChild.as
>> b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IChild.as
>> index 6052094..f273f2e 100755
>> --- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IChild.as
>> +++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/IChild.as
>> @@ -42,18 +42,18 @@ package org.apache.flex.core
>>          *  @playerversion AIR 2.6
>>          *  @productversion FlexJS 0.0
>>          */
>> -        COMPILE::AS3
>> +               COMPILE::AS3
>>         function get parent():DisplayObjectContainer;
>> 
>> -        /**
>> -         *  The parent.
>> -         *
>> -         *  @langversion 3.0
>> -         *  @playerversion Flash 10.2
>> -         *  @playerversion AIR 2.6
>> -         *  @productversion FlexJS 0.0
>> -         */
>> -        COMPILE::JS
>> -        function get parent():IUIBase;
>> +               /**
>> +                *  The parent.
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               COMPILE::JS
>> +               function get parent():IUIBase;
>>        }
>> }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/display/DisplayObject.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/flex/display/DisplayObject.as
>> b/frameworks/projects/MX/src/main/flex/flex/display/DisplayObject.as
>> index 2568582..bf0598b 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/display/DisplayObject.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/display/DisplayObject.as
>> @@ -18,6 +18,11 @@
>> 
>> ////////////////////////////////////////////////////////////////////////////////
>> package flex.display
>> {
>> +COMPILE::AS3
>> +{
>> +       import flash.display.DisplayObject;
>> +       import flash.display.DisplayObjectContainer;
>> +}
>> import flex.display.TopOfDisplayList;
>> 
>> import org.apache.flex.core.IUIBase;
>> @@ -25,7 +30,7 @@ import org.apache.flex.events.IEventDispatcher;
>> import org.apache.flex.geom.Point;
>> import org.apache.flex.geom.Rectangle;
>> 
>> -public interface DisplayObject extends IEventDispatcher
>> +public interface DisplayObject extends IEventDispatcher, IUIBase
>> {
>>        include "../../mx/core/IDisplayObjectInterface.as"
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/display/Graphics.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/flex/display/Graphics.as
>> b/frameworks/projects/MX/src/main/flex/flex/display/Graphics.as
>> index fe6f0ec..1a83c3c 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/display/Graphics.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/display/Graphics.as
>> @@ -69,7 +69,7 @@ package flex.display
>>                public function curveTo(mx:Number, my:Number, x:Number,
>> y:Number):void
>>                {
>>                        var path:String = "M " + lastX.toString() + " " +
>> lastY.toString();
>> -                       path += "Q " + mx.toString() + " " + my.toString()
>> + " " +
>> +                       path += "Q " + mx.toString() + " " + my.toString()
>> + " "
>>                                                + x.toString() + " " +
>> y.toString();
>>                        host.drawPath(path);
>>                        lastX = x;
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/display/MovieClip.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/flex/display/MovieClip.as
>> b/frameworks/projects/MX/src/main/flex/flex/display/MovieClip.as
>> index 6f1fca9..8add311 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/display/MovieClip.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/display/MovieClip.as
>> @@ -19,6 +19,195 @@
>> 
>> package flex.display
>> {
>> +       import org.apache.flex.core.IBead;
>> +       import org.apache.flex.core.IBeadModel;
>> +       import org.apache.flex.core.IBeadView;
>> +       import org.apache.flex.core.IFlexJSElement;
>> +       import org.apache.flex.core.ValuesManager;
>> +       import org.apache.flex.events.Event;
>> +       import org.apache.flex.events.IEventDispatcher;
>> +
>> +       COMPILE::AS3
>> +       {
>> +               import flash.display.MovieClip;
>> +       }
>> +       COMPILE::JS
>> +       {
>> +               import flex.display.DisplayObjectContainer;
>> +       }
>> +
>> +       COMPILE::AS3
>> +       public class MovieClip extends flash.display.MovieClip
>> +       {
>> +               COMPILE::AS3
>> +               private var _model:IBeadModel;
>> +
>> +               /**
>> +                *  An IBeadModel that serves as the data model for the
>> component.
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               COMPILE::AS3
>> +               public function get model():Object
>> +               {
>> +                       if (_model == null)
>> +                       {
>> +                               // addbead will set _model
>> +                               addBead(new
>> (ValuesManager.valuesImpl.getValue(this, "iBeadModel")) as IBead);
>> +                       }
>> +                       return _model;
>> +               }
>> +
>> +               /**
>> +                *  @private
>> +                */
>> +               COMPILE::AS3
>> +               public function set model(value:Object):void
>> +               {
>> +                       if (_model != value)
>> +                       {
>> +                               addBead(value as IBead);
>> +                               dispatchEvent(new Event("modelChanged"));
>> +                       }
>> +               }
>> +
>> +               private var _view:IBeadView;
>> +
>> +               /**
>> +                *  An IBeadView that serves as the view for the component.
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                *  @flexjsignorecoercion Class
>> +                */
>> +               public function get view():IBeadView
>> +               {
>> +                       if (_view == null)
>> +                       {
>> +                               var c:Class =
>> ValuesManager.valuesImpl.getValue(this, "iBeadView") as Class;
>> +                               if (c)
>> +                               {
>> +                                       if (c)
>> +                                       {
>> +                                               _view = (new c()) as
>> IBeadView;
>> +                                               addBead(_view);
>> +                                       }
>> +                               }
>> +                       }
>> +                       return _view;
>> +               }
>> +
>> +               /**
>> +                *  @private
>> +                */
>> +               public function set view(value:IBeadView):void
>> +               {
>> +                       if (_view != value)
>> +                       {
>> +                               addBead(value as IBead);
>> +                               dispatchEvent(new Event("viewChanged"));
>> +                       }
>> +               }
>> +
>> +               /**
>> +                *  @copy org.apache.flex.core.IUIBase#element
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               public function get element():IFlexJSElement
>> +               {
>> +                       return this;
>> +               }
>> +
>> +               /**
>> +                *  @copy org.apache.flex.core.Application#beads
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               public var beads:Array;
>> +
>> +               private var _beads:Vector.<IBead>;
>> +
>> +               /**
>> +                *  @copy org.apache.flex.core.IStrand#addBead()
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               override public function addBead(bead:IBead):void
>> +               {
>> +                       if (!_beads)
>> +                               _beads = new Vector.<IBead>;
>> +                       _beads.push(bead);
>> +                       if (bead is IBeadModel)
>> +                               _model = bead as IBeadModel;
>> +                       else if (bead is IBeadView)
>> +                               _view = bead as IBeadView;
>> +                       bead.strand = this;
>> +
>> +                       if (bead is IBeadView) {
>> +                               IEventDispatcher(this).dispatchEvent(new
>> Event("viewChanged"));
>> +                       }
>> +               }
>> +
>> +               /**
>> +                *  @copy org.apache.flex.core.IStrand#getBeadByType()
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               public function getBeadByType(classOrInterface:Class):IBead
>> +               {
>> +                       for each (var bead:IBead in _beads)
>> +                       {
>> +                               if (bead is classOrInterface)
>> +                                       return bead;
>> +                       }
>> +                       return null;
>> +               }
>> +
>> +               /**
>> +                *  @copy org.apache.flex.core.IStrand#removeBead()
>> +                *
>> +                *  @langversion 3.0
>> +                *  @playerversion Flash 10.2
>> +                *  @playerversion AIR 2.6
>> +                *  @productversion FlexJS 0.0
>> +                */
>> +               public function removeBead(value:IBead):IBead
>> +               {
>> +                       var n:int = _beads.length;
>> +                       for (var i:int = 0; i < n; i++)
>> +                       {
>> +                               var bead:IBead = _beads[i];
>> +                               if (bead == value)
>> +                               {
>> +                                       _beads.splice(i, 1);
>> +                                       return bead;
>> +                               }
>> +                       }
>> +                       return null;
>> +               }
>> +
>> +
>> +       }
>> +
>> +       COMPILE::JS
>>        public class MovieClip extends Sprite
>>        {
>>                public function get totalFrames():int
>> @@ -29,5 +218,6 @@ package flex.display
>>                {
>>                        return 1;
>>                }
>> +
>>        }
>> }
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/display/Sprite.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/flex/display/Sprite.as
>> b/frameworks/projects/MX/src/main/flex/flex/display/Sprite.as
>> index 99dd7c4..bd29b87 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/display/Sprite.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/display/Sprite.as
>> @@ -20,6 +20,9 @@
>> package flex.display
>> {
>>        import org.apache.flex.core.graphics.GraphicsContainer;
>> +       import org.apache.flex.geom.Point;
>> +       import org.apache.flex.utils.PointUtils;
>> +       import mx.managers.SystemManagerGlobals;
>> 
>>        public class Sprite extends GraphicsContainer implements
>> DisplayObjectContainer
>>        {
>> @@ -147,5 +150,30 @@ package flex.display
>>                        return _graphics
>>                }
>> 
>> +               COMPILE::JS
>> +               public function get mouseX():Number
>> +               {
>> +                       var pt:Point = new
>> Point(SystemManagerGlobals.lastMouseEvent.screenX,
>> +
>> SystemManagerGlobals.lastMouseEvent.screenY);
>> +                       pt = PointUtils.globalToLocal(pt, this);
>> +                       return pt.x;
>> +               }
>> +
>> +               COMPILE::JS
>> +               public function get mouseY():Number
>> +               {
>> +                       var pt:Point = new
>> Point(SystemManagerGlobals.lastMouseEvent.screenX,
>> +
>> SystemManagerGlobals.lastMouseEvent.screenY);
>> +                       pt = PointUtils.globalToLocal(pt, this);
>> +                       return pt.x;
>> +               }
>> +
>> +               COMPILE::JS
>> +               override public function get
>> parent():DisplayObjectContainer
>> +               {
>> +                       return super.parent as DisplayObjectContainer;
>> +               }
>> +
>>        }
>> +
>> }
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/display/TopOfDisplayList.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/flex/display/TopOfDisplayList.as
>> b/frameworks/projects/MX/src/main/flex/flex/display/TopOfDisplayList.as
>> index 94dbf47..e5ef3e4 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/display/TopOfDisplayList.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/display/TopOfDisplayList.as
>> @@ -26,6 +26,8 @@ COMPILE::AS3
>> COMPILE::JS
>> {
>>        import org.apache.flex.core.UIBase;
>> +       import org.apache.flex.core.HTMLElementWrapper;
>> +       import org.apache.flex.core.WrappedHTMLElement;
>> }
>> 
>> COMPILE::AS3
>> @@ -52,12 +54,29 @@ public class TopOfDisplayList extends Stage
>> }
>> 
>> COMPILE::JS
>> -public class TopOfDisplayList extends UIBase
>> +public class TopOfDisplayList extends Sprite
>> {
>>        public function TopOfDisplayList()
>>        {
>>                super();
>>        }
>> +
>> +       /**
>> +        * @flexjsignorecoercion flex.display.InteractiveObject
>> +        * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
>> +        */
>> +       public function get focus():InteractiveObject
>> +       {
>> +               return (document.activeElement as
>> WrappedHTMLElement).flexjs_wrapper as InteractiveObject;
>> +       }
>> +
>> +       /**
>> +        * @flexjsignorecoercion org.apache.flex.core.HTMLElementWrapper
>> +        */
>> +       public function set focus(value:InteractiveObject):void
>> +       {
>> +               document.activeElement = (value as
>> HTMLElementWrapper).element;
>> +       }
>> }
>> 
>> }
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/system/I18NManager.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/flex/system/I18NManager.as
>> b/frameworks/projects/MX/src/main/flex/flex/system/I18NManager.as
>> index c838d89..68e6cf4 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/system/I18NManager.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/system/I18NManager.as
>> @@ -1,6 +1,9 @@
>> package flex.system
>> {
>> +       COMPILE::AS3
>> +       {
>>        import flash.system.Capabilities;
>> +       }
>> 
>>        public class I18NManager
>>        {
>> @@ -19,6 +22,10 @@ package flex.system
>>                                else
>>                                        return [ Capabilities.language ];
>>                        }
>> +                       COMPILE::JS
>> +                       {
>> +                               return [ navigator.language ];
>> +                       }
>>                }
>>        }
>> }
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/text/TextField.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/flex/text/TextField.as
>> b/frameworks/projects/MX/src/main/flex/flex/text/TextField.as
>> index d8bde5f..116c7e3 100644
>> --- a/frameworks/projects/MX/src/main/flex/flex/text/TextField.as
>> +++ b/frameworks/projects/MX/src/main/flex/flex/text/TextField.as
>> @@ -1,5 +1,6 @@
>> package flex.text
>> {
>> +
>> COMPILE::AS3
>> {
>>        import flash.text.TextField;
>> @@ -30,7 +31,7 @@ public class TextField extends flash.text.TextField
>> }
>> 
>> COMPILE::JS
>> -public class TextField extends Label implements IUITextField
>> +public class TextField extends Label
>> {
>> 
>>        private var _alwaysShowSelection:Boolean;
>> @@ -94,12 +95,6 @@ public class TextField extends Label implements
>> IUITextField
>>                        element.style.backgroundColor = "#" +
>> _backgroundColor.toString(16);
>>        }
>> 
>> -       public function get baselinePosition():Number
>> -       {
>> -               trace("TextField.baselinePosition not implemented");
>> -               return 0;
>> -       }
>> -
>>        private var _border:Boolean;
>>        public function get border():Boolean
>>        {
>> @@ -179,16 +174,6 @@ public class TextField extends Label implements
>> IUITextField
>>                        (element as HTMLInputElement).type = "input";
>>        }
>> 
>> -       private var _document:Object;
>> -       public function get document():Object
>> -       {
>> -               return _document;
>> -       }
>> -       public function set document(value:Object):void
>> -       {
>> -               _document = value;
>> -       }
>> -
>>        private var _doubleClickEnabled:Boolean;
>>        public function get doubleClickEnabled():Boolean
>>        {
>> @@ -213,58 +198,6 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.embedFonts not implemented");
>>        }
>> 
>> -       private var _enabled:Boolean;
>> -       public function get enabled():Boolean
>> -       {
>> -               return _enabled;
>> -       }
>> -       public function set enabled(value:Boolean):void
>> -       {
>> -               _enabled = value;
>> -       }
>> -
>> -       public function get enableIME():Boolean
>> -       {
>> -               trace("TextField.enableIME not implemented");
>> -               return false;
>> -       }
>> -
>> -       public function get explicitMaxWidth():Number
>> -       {
>> -               trace("TextField.explicitMaxWidth not implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function get explicitMaxHeight():Number
>> -       {
>> -               trace("TextField.explicitMaxHeight not implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function get explicitMinHeight():Number
>> -       {
>> -               trace("TextField.explicitMinHeight not implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function get explicitMinWidth():Number
>> -       {
>> -               trace("TextField.explicitMinWidth not implemented");
>> -               return 0;
>> -       }
>> -
>> -       private var _focusPane:Sprite;
>> -       public function get focusPane():Sprite
>> -       {
>> -               trace("TextField.focusPane not implemented");
>> -               return _focusPane;
>> -       }
>> -       public function set focusPane(value:Sprite):void
>> -       {
>> -               _focusPane = value;
>> -               trace("TextField.focusPane not implemented");
>> -       }
>> -
>>        private var _focusRect:Object;
>>        public function get focusRect():Object
>>        {
>> @@ -299,64 +232,6 @@ public class TextField extends Label implements
>> IUITextField
>>                element.innerHTML = _htmlText = value;
>>        }
>> 
>> -       private var _ignorePadding:Boolean;
>> -       public function get ignorePadding():Boolean
>> -       {
>> -               trace("TextField.ignorePadding not implemented");
>> -               return _ignorePadding;
>> -       }
>> -       public function set ignorePadding(value:Boolean):void
>> -       {
>> -               _ignorePadding = value;
>> -               trace("TextField.ignorePadding not implemented");
>> -       }
>> -
>> -       private var _imeMode:String;
>> -       public function get imeMode():String
>> -       {
>> -               return _imeMode;
>> -       }
>> -       public function set imeMode(value:String):void
>> -       {
>> -               _imeMode = value;
>> -       }
>> -
>> -       private var _includeInLayout:Boolean;
>> -       public function get includeInLayout():Boolean
>> -       {
>> -               trace("TextField.includeInLayout not implemented");
>> -               return _includeInLayout;
>> -       }
>> -       public function set includeInLayout(value:Boolean):void
>> -       {
>> -               _includeInLayout = value;
>> -               trace("TextField.includeInLayout not implemented");
>> -       }
>> -
>> -       private var _inheritingStyles:Object;
>> -       public function get inheritingStyles():Object
>> -       {
>> -               trace("TextField.inheritingStyles not implemented");
>> -               return _inheritingStyles;
>> -       }
>> -       public function set inheritingStyles(value:Object):void
>> -       {
>> -               _inheritingStyles = value;
>> -               trace("TextField.inheritingStyles not implemented");
>> -       }
>> -
>> -       private var _isPopUp:Boolean;
>> -       public function get isPopUp():Boolean
>> -       {
>> -               trace("TextField.isPopUp not implemented");
>> -               return _isPopUp;
>> -       }
>> -       public function set isPopUp(value:Boolean):void
>> -       {
>> -               _isPopUp = value;
>> -               trace("TextField.isPopUp not implemented");
>> -       }
>> -
>>        public function get length():int
>>        {
>>                return element.innerText.length;
>> @@ -373,12 +248,6 @@ public class TextField extends Label implements
>> IUITextField
>>                (element as HTMLInputElement).maxLength = value;
>>        }
>> 
>> -       public function get maxHeight():Number
>> -       {
>> -               trace("TextField.maxHeight not implemented");
>> -               return 0;
>> -       }
>> -
>>        public function get maxScrollH():int
>>        {
>>                trace("TextField.maxScrollH not implemented");
>> @@ -391,72 +260,6 @@ public class TextField extends Label implements
>> IUITextField
>>                return 0;
>>        }
>> 
>> -       public function get maxWidth():Number
>> -       {
>> -               trace("TextField.maxWidth not implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function get measuredHeight():Number
>> -       {
>> -               trace("TextField.measuredHeight not implemented");
>> -               return 0;
>> -       }
>> -
>> -       private var _measuredMinHeight:Number;
>> -       public function get measuredMinHeight():Number
>> -       {
>> -               trace("TextField.measuredMinHeight not implemented");
>> -               return _measuredMinHeight;
>> -       }
>> -       public function set measuredMinHeight(value:Number):void
>> -       {
>> -               _measuredMinHeight = value;
>> -               trace("TextField.measuredMinHeight not implemented");
>> -       }
>> -
>> -       public function get measuredWidth():Number
>> -       {
>> -               trace("TextField.measuredWidth not implemented");
>> -               return 0;
>> -       }
>> -
>> -       private var _measuredMinWidth:Number;
>> -       public function get measuredMinWidth():Number
>> -       {
>> -               trace("TextField.measuredMinWidth not implemented");
>> -               return _measuredMinWidth;
>> -       }
>> -       public function set measuredMinWidth(value:Number):void
>> -       {
>> -               _measuredMinWidth = value;
>> -               trace("TextField.measuredMinWidth not implemented");
>> -       }
>> -
>> -       public function get minHeight():Number
>> -       {
>> -               trace("TextField.minHeight not implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function get minWidth():Number
>> -       {
>> -               trace("TextField.minWidth not implemented");
>> -               return 0;
>> -       }
>> -
>> -       private var _moduleFactory:IFlexModuleFactory;
>> -       public function get moduleFactory():IFlexModuleFactory
>> -       {
>> -               trace("TextField.moduleFactory not implemented");
>> -               return _moduleFactory;
>> -       }
>> -       public function set moduleFactory(value:IFlexModuleFactory):void
>> -       {
>> -               _moduleFactory = value;
>> -               trace("TextField.moduleFactory not implemented");
>> -       }
>> -
>>        private var _mouseEnabled:Boolean;
>>        public function get mouseEnabled():Boolean
>>        {
>> @@ -481,6 +284,18 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.mouseWheelEnabled not implemented");
>>        }
>> 
>> +       public function get mouseX():Number
>> +       {
>> +               trace("TextField.mouseX not implemented");
>> +               return 0;
>> +       }
>> +
>> +       public function get mouseY():Number
>> +       {
>> +               trace("TextField.mouseY not implemented");
>> +               return 0;
>> +       }
>> +
>>        private var _multiline:Boolean;
>>        public function get multiline():Boolean
>>        {
>> @@ -504,50 +319,12 @@ public class TextField extends Label implements
>> IUITextField
>>                element.id = name;
>>        }
>> 
>> -       private var _owner:DisplayObjectContainer;
>> -       public function get owner():DisplayObjectContainer
>> -       {
>> -               return _owner;
>> -       }
>> -       public function set owner(value:DisplayObjectContainer):void
>> -       {
>> -               _owner = value;
>> -       }
>> -
>> -       private var _nestLevel:int;
>> -       public function get nestLevel():int
>> -       {
>> -               return _nestLevel;
>> -       }
>> -       public function set nestLevel(value:int):void
>> -       {
>> -               _nestLevel = value;
>> -       }
>> -
>> -       private var _nonInheritingStyles:Object;
>> -       public function get nonInheritingStyles():Object
>> -       {
>> -               trace("TextField.nonInheritingStyles not implemented");
>> -               return _nonInheritingStyles;
>> -       }
>> -       public function set nonInheritingStyles(value:Object):void
>> -       {
>> -               _nonInheritingStyles = value;
>> -               trace("TextField.nonInheritingStyles not implemented");
>> -       }
>> -
>> -       public function get nonZeroTextHeight():Number
>> -       {
>> -               trace("TextField.nonZeroTextHeight not implemented");
>> -               return 0;
>> -       }
>> -
>>        public function get numLines():int
>>        {
>>                trace("TextField.numLines not implemented");
>> -               return 0;
>> +               return -1;
>>        }
>> -
>> +
>>        private var _restrict:String;
>>        public function get restrict():String
>>        {
>> @@ -626,17 +403,6 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.sharpness not implemented");
>>        }
>> 
>> -       private var _styleName:Object;
>> -       public function get styleName():Object
>> -       {
>> -               return _styleName;
>> -       }
>> -       public function set styleName(value:Object):void
>> -       {
>> -               _styleName = value;
>> -               element.className = styleName.toString();
>> -       }
>> -
>>        private var _styleSheet:StyleSheet;
>>        public function get styleSheet():StyleSheet
>>        {
>> @@ -648,19 +414,7 @@ public class TextField extends Label implements
>> IUITextField
>>                _styleSheet = value;
>>                trace("TextField.styleSheet not implemented");
>>        }
>> -
>> -       private var _systemManager:ISystemManager;
>> -       public function get systemManager():ISystemManager
>> -       {
>> -               trace("TextField.systemManager not implemented");
>> -               return _systemManager;
>> -       }
>> -       public function set systemManager(value:ISystemManager):void
>> -       {
>> -               _systemManager = value;
>> -               trace("TextField.systemManager not implemented");
>> -       }
>> -
>> +
>>        private var _tabEnabled:Boolean;
>>        public function get tabEnabled():Boolean
>>        {
>> @@ -718,30 +472,6 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.thickness not implemented");
>>        }
>> 
>> -       private var _toolTip:String;
>> -       public function get toolTip():String
>> -       {
>> -               trace("TextField.toolTip not implemented");
>> -               return _toolTip;
>> -       }
>> -       public function set toolTip(value:String):void
>> -       {
>> -               _toolTip = value;
>> -               trace("TextField.toolTip not implemented");
>> -       }
>> -
>> -       private var _tweeningProperties:Array;
>> -       public function get tweeningProperties():Array
>> -       {
>> -               trace("TextField.tweeningProperties not implemented");
>> -               return _tweeningProperties;
>> -       }
>> -       public function set tweeningProperties(value:Array):void
>> -       {
>> -               _tweeningProperties = value;
>> -               trace("TextField.tweeningProperties not implemented");
>> -       }
>> -
>>        public function get topOfDisplayList():TopOfDisplayList
>>        {
>>                trace("TextField.topOfDisplayList not implemented");
>> @@ -801,18 +531,6 @@ public class TextField extends Label implements
>> IUITextField
>>                return 0;
>>        }
>> 
>> -       public function getExplicitOrMeasuredHeight():Number
>> -       {
>> -               trace("TextField.getExplicitOrMeasuredHeight not
>> implemented");
>> -               return 0;
>> -       }
>> -
>> -       public function getExplicitOrMeasuredWidth():Number
>> -       {
>> -               trace("TextField.getExplicitOrMeasuredWidth not
>> implemented");
>> -               return 0;
>> -       }
>> -
>>        public function getFirstCharInParagraph(index:int):int
>>        {
>>                trace("TextField.getFirstCharInParagraph not implemented");
>> @@ -867,59 +585,12 @@ public class TextField extends Label implements
>> IUITextField
>>                return 0;
>>        }
>> 
>> -       public function getStyle(styleName:String):*
>> -       {
>> -               trace("TextField.getStyle not implemented");
>> -               return undefined;
>> -       }
>> -
>>        public function getTextFormat(beginIndex:int = -1, endIndex:int =
>> -1):TextFormat
>>        {
>>                trace("TextField.getTextFormat not implemented");
>>                return null;
>>        }
>> 
>> -       public function getUITextFormat():UITextFormat
>> -       {
>> -               trace("TextField.getUITextFormat not implemented");
>> -               return null;
>> -       }
>> -
>> -       public function initialize():void
>> -       {
>> -               trace("TextField.initialize not implemented");
>> -       }
>> -
>> -       public function invalidateDisplayList():void
>> -       {
>> -               trace("TextField.invalidateDisplayList not implemented");
>> -       }
>> -
>> -       public function invalidateProperties():void
>> -       {
>> -               trace("TextField.invalidateProperties not implemented");
>> -       }
>> -
>> -       public function invalidateSize():void
>> -       {
>> -               trace("TextField.invalidateSize not implemented");
>> -       }
>> -
>> -       public function move(x:Number, y:Number):void
>> -       {
>> -               this.x = x;
>> -               this.y = y;
>> -       }
>> -
>> -       public function owns(child:DisplayObject):Boolean
>> -       {
>> -               return false;
>> -       }
>> -
>> -       public function parentChanged(parent:DisplayObjectContainer):void
>> -       {
>> -       }
>> -
>>        public function replaceSelectedText(text:String):void
>>        {
>>                trace("TextField.replaceSelectedText not implemented");
>> @@ -930,11 +601,6 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.replaceText not implemented");
>>        }
>> 
>> -       public function setActualSize(x:Number, y:Number):void
>> -       {
>> -               setWidthAndHeight(x, y, true);
>> -       }
>> -
>>        public function setColor(color:uint):void
>>        {
>>                element.style.color = "#" + color.toString(16);
>> @@ -955,29 +621,13 @@ public class TextField extends Label implements
>> IUITextField
>>                trace("TextField.setTextFormat not implemented");
>>        }
>> 
>> -       public function setVisible(value:Boolean, noEvent:Boolean =
>> false):void
>> -       {
>> -               if (value)
>> -                       element.style.display = "inline";
>> -               else
>> -                       element.style.display = "none";
>> -       }
>> -
>> -       public function styleChanged(styleProp:String):void
>> -       {
>> -               trace("TextField.styleChanged not implemented");
>> -       }
>> -
>> -       public function truncateToFit(truncationIndicator:String =
>> null):Boolean
>> -       {
>> -               trace("TextField.truncateToFit not implemented");
>> -               return false;
>> -       }
>> -
>> -       public function validateNow():void
>> +       /**
>> +        * @flexjsignorecoercion flex.display.DisplayObjectContainer
>> +        */
>> +       override public function get parent():DisplayObjectContainer
>>        {
>> +               return super.parent as DisplayObjectContainer;
>>        }
>> -
>> 
>> }
>> }
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/flex/utils/IExternalizable.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/flex/utils/IExternalizable.as
>> b/frameworks/projects/MX/src/main/flex/flex/utils/IExternalizable.as
>> new file mode 100644
>> index 0000000..a75a480
>> --- /dev/null
>> +++ b/frameworks/projects/MX/src/main/flex/flex/utils/IExternalizable.as
>> @@ -0,0 +1,26 @@
>> 
>> +////////////////////////////////////////////////////////////////////////////////
>> +//
>> +//  Licensed to the Apache Software Foundation (ASF) under one or more
>> +//  contributor license agreements.  See the NOTICE file distributed with
>> +//  this work for additional information regarding copyright ownership.
>> +//  The ASF licenses this file to You under the Apache License, Version
>> 2.0
>> +//  (the "License"); you may not use this file except in compliance with
>> +//  the License.  You may obtain a copy of the License at
>> +//
>> +//      http://www.apache.org/licenses/LICENSE-2.0
>> +//
>> +//  Unless required by applicable law or agreed to in writing, software
>> +//  distributed under the License is distributed on an "AS IS" BASIS,
>> +//  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
>> implied.
>> +//  See the License for the specific language governing permissions and
>> +//  limitations under the License.
>> +//
>> 
>> +////////////////////////////////////////////////////////////////////////////////
>> +
>> +package flex.utils
>> +{
>> +       public interface IExternalizable
>> +       {
>> +
>> +       }
>> +}
>> \ No newline at end of file
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/binding/Watcher.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/binding/Watcher.as
>> b/frameworks/projects/MX/src/main/flex/mx/binding/Watcher.as
>> index fef6ee3..c5855e1 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/binding/Watcher.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/binding/Watcher.as
>> @@ -218,6 +218,8 @@ public class Watcher
>>                    //   Error #1069: Property - not found on - and there
>> is no default value
>>                    //   Error #1507: - invalid null argument.
>>                    // We allow any other errors to be thrown.
>> +                               COMPILE::AS3
>> +                               {
>>                    if ((error.errorID != 1006) &&
>>                        (error.errorID != 1009) &&
>>                        (error.errorID != 1010) &&
>> @@ -227,6 +229,7 @@ public class Watcher
>>                    {
>>                        throw error;
>>                    }
>> +                               }
>>                        }
>>         }
>>     }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/controls/ToolTip.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/controls/ToolTip.as
>> b/frameworks/projects/MX/src/main/flex/mx/controls/ToolTip.as
>> index f6a4b9f..ab63cd4 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/controls/ToolTip.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/controls/ToolTip.as
>> @@ -20,9 +20,17 @@
>> package mx.controls
>> {
>> 
>> -import flash.display.DisplayObject;
>> -import flash.text.TextFieldAutoSize;
>> -import flash.text.TextFormat;
>> +COMPILE::AS3
>> +{
>> +       import flash.display.DisplayObject;
>> +       import flash.text.TextFieldAutoSize;
>> +       import flash.text.TextFormat;
>> +}
>> +COMPILE::JS
>> +{
>> +       import flex.display.DisplayObject;
>> +       import flex.text.TextFormat;
>> +}
>> import mx.core.EdgeMetrics;
>> import mx.core.IFlexDisplayObject;
>> import mx.core.IFlexModuleFactory;
>> @@ -167,10 +175,13 @@ public class ToolTip extends UIComponent implements
>> IToolTip, IFontContextCompon
>>     {
>>         super();
>> 
>> -        // InteractiveObject variables.
>> -        // Make the ToolTip invisible to the mouse so that it doesn't
>> -        // interfere with the ToolTipManager's mouse-tracking.
>> -        mouseEnabled = false;
>> +               COMPILE::AS3
>> +               {
>> +               // InteractiveObject variables.
>> +               // Make the ToolTip invisible to the mouse so that it
>> doesn't
>> +               // interfere with the ToolTipManager's mouse-tracking.
>> +               mouseEnabled = false;
>> +               }
>>     }
>> 
>> 
>> //--------------------------------------------------------------------------
>> @@ -451,13 +462,16 @@ public class ToolTip extends UIComponent implements
>> IToolTip, IFontContextCompon
>>         {
>>             textField = IUITextField(createInFontContext(UITextField));
>> 
>> -            textField.autoSize = TextFieldAutoSize.LEFT;
>> -            textField.mouseEnabled = false;
>> -            textField.multiline = true;
>> -            textField.selectable = false;
>> -            textField.wordWrap = false;
>> -            textField.styleName = this;
>> -
>> +                       COMPILE::AS3
>> +                       {
>> +                   textField.autoSize = TextFieldAutoSize.LEFT;
>> +                   textField.mouseEnabled = false;
>> +                   textField.multiline = true;
>> +                   textField.selectable = false;
>> +                   textField.wordWrap = false;
>> +                   textField.styleName = this;
>> +                       }
>> +
>>             if (childIndex == -1)
>>                 addChild(DisplayObject(textField));
>>             else
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/IDeferredInstantiationUIComponent.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDeferredInstantiationUIComponent.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDeferredInstantiationUIComponent.as
>> index 714e0bb..632309f 100644
>> ---
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDeferredInstantiationUIComponent.as
>> +++
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDeferredInstantiationUIComponent.as
>> @@ -49,6 +49,7 @@ public interface IDeferredInstantiationUIComponent
>> extends IUIComponent
>>         *  @playerversion AIR 1.1
>>         *  @productversion Flex 3
>>         */
>> +       COMPILE::LATER
>>     function set cacheHeuristic(value:Boolean):void;
>> 
>>        //----------------------------------
>> @@ -63,6 +64,7 @@ public interface IDeferredInstantiationUIComponent
>> extends IUIComponent
>>         *  @playerversion AIR 1.1
>>         *  @productversion Flex 3
>>         */
>> +       COMPILE::LATER
>>     function get cachePolicy():String
>> 
>>        //----------------------------------
>> @@ -123,6 +125,7 @@ public interface IDeferredInstantiationUIComponent
>> extends IUIComponent
>>         *  @playerversion AIR 1.1
>>         *  @productversion Flex 3
>>         */
>> +       COMPILE::LATER
>>        function createReferenceOnParentDocument(
>> 
>> parentDocument:IFlexDisplayObject):void;
>> 
>> @@ -140,6 +143,7 @@ public interface IDeferredInstantiationUIComponent
>> extends IUIComponent
>>         *  @playerversion AIR 1.1
>>         *  @productversion Flex 3
>>         */
>> +       COMPILE::LATER
>>        function deleteReferenceOnParentDocument(
>> 
>> parentDocument:IFlexDisplayObject):void;
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectContainerInterface.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectContainerInterface.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectContainerInterface.as
>> index e9d9652..894bd46 100644
>> ---
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectContainerInterface.as
>> +++
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectContainerInterface.as
>> @@ -22,6 +22,10 @@
>>  *  for web version of flash.display.DisplayObjectContainer
>>  *
>>  */
>> +COMPILE::AS3
>> +{
>> +       import flash.display.DisplayObjectContainer;
>> +}
>> import flash.text.TextSnapshot;
>> import flash.geom.Point;
>> 
>> @@ -33,7 +37,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function addChild(child:DisplayObject):DisplayObject;
>> +       COMPILE::AS3
>> +    function
>> addChild(child:flash.display.DisplayObject):flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function addChild(child:DisplayObject):DisplayObject;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#addChildAt()
>> @@ -43,6 +50,9 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>> +       function addChildAt(child:flash.display.DisplayObject,
>> index:int):flash.display.DisplayObject;
>> +       COMPILE::JS
>>     function addChildAt(child:DisplayObject, index:int):DisplayObject;
>> 
>>     /**
>> @@ -53,7 +63,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function removeChild(child:DisplayObject):DisplayObject;
>> +       COMPILE::AS3
>> +    function
>> removeChild(child:flash.display.DisplayObject):flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function removeChild(child:DisplayObject):DisplayObject;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#removeChildAt()
>> @@ -63,7 +76,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function removeChildAt(index:int):DisplayObject;
>> +       COMPILE::AS3
>> +    function removeChildAt(index:int):flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function removeChildAt(index:int):DisplayObject;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#getChildIndex()
>> @@ -73,7 +89,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function getChildIndex(child:DisplayObject):int;
>> +       COMPILE::AS3
>> +    function getChildIndex(child:flash.display.DisplayObject):int;
>> +       COMPILE::JS
>> +       function getChildIndex(child:DisplayObject):int;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#setChildIndex()
>> @@ -83,7 +102,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function setChildIndex(child:DisplayObject, index:int):void;
>> +       COMPILE::AS3
>> +    function setChildIndex(child:flash.display.DisplayObject,
>> index:int):void;
>> +       COMPILE::JS
>> +       function setChildIndex(child:DisplayObject, index:int):void;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#getChildAt()
>> @@ -93,7 +115,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function getChildAt(index:int):DisplayObject;
>> +       COMPILE::AS3
>> +    function getChildAt(index:int):flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function getChildAt(index:int):DisplayObject;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#getChildByName()
>> @@ -103,7 +128,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function getChildByName(name:String):DisplayObject;
>> +       COMPILE::AS3
>> +    function getChildByName(name:String):flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function getChildByName(name:String):DisplayObject;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#numChildren
>> @@ -187,7 +215,10 @@ import flash.geom.Point;
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function contains(child:DisplayObject):Boolean;
>> +       COMPILE::AS3
>> +    function contains(child:flash.display.DisplayObject):Boolean;
>> +       COMPILE::JS
>> +       function contains(child:DisplayObject):Boolean;
>> 
>>     /**
>>      *  @copy flash.display.DisplayObjectContainer#swapChildrenAt()
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectInterface.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectInterface.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectInterface.as
>> index 3d0dbc2..f84242d 100644
>> ---
>> a/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectInterface.as
>> +++
>> b/frameworks/projects/MX/src/main/flex/mx/core/IDisplayObjectInterface.as
>> @@ -32,7 +32,10 @@
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function get root():DisplayObject;
>> +       COMPILE::AS3
>> +    function get root():flash.display.DisplayObject;
>> +       COMPILE::JS
>> +       function get root():DisplayObject;
>> 
>> 
>>     /**
>> @@ -67,7 +70,10 @@
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -    function get parent():DisplayObjectContainer;
>> +       COMPILE::AS3
>> +    function get parent():flash.display.DisplayObjectContainer;
>> +       COMPILE::JS
>> +       function get parent():DisplayObjectContainer;
>> 
>> 
>>     /**
>> @@ -91,9 +97,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get visible():Boolean;
>>     function set visible(value:Boolean):void;
>> +        * already in IUIBase
>> +     */
>> 
>> 
>>     /**
>> @@ -103,9 +110,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get x():Number;
>>     function set x(value:Number):void;
>> +       * already in IUIBase
>> +       */
>> 
>> 
>>     /**
>> @@ -115,9 +123,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get y():Number;
>>     function set y(value:Number):void;
>> +        * already in IUIBase
>> +     */
>> 
>> 
>>     /**
>> @@ -156,7 +165,6 @@
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -       COMPILE::LATER
>>     function get mouseX():Number; // note: no setter
>> 
>> 
>> @@ -168,7 +176,6 @@
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> -       COMPILE::LATER
>>     function get mouseY():Number; // note: no setter
>> 
>> 
>> @@ -193,9 +200,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get alpha():Number;
>>     function set alpha(value:Number):void;
>> +        * already in IUIBase
>> +     */
>> 
>> 
>>     /**
>> @@ -205,9 +213,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get width():Number;
>>     function set width(value:Number):void;
>> +        * already in IUIBase
>> +     */
>> 
>>     /**
>>      *  @copy flash.display.DisplayObject#height
>> @@ -216,9 +225,10 @@
>>      *  @playerversion Flash 9
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>> -     */
>>     function get height():Number;
>>     function set height(value:Number):void;
>> +        * already in IUIBase
>> +     */
>> 
>> 
>>     /**
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/IFlexDisplayObject.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/core/IFlexDisplayObject.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/IFlexDisplayObject.as
>> index f622766..ecb8dd5 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/core/IFlexDisplayObject.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/core/IFlexDisplayObject.as
>> @@ -35,7 +35,6 @@ COMPILE::JS
>> }
>> import org.apache.flex.events.IEventDispatcher;
>> import flex.display.TopOfDisplayList;
>> -import flex.display.DisplayObject;
>> 
>> /**
>>  *  The IFlexDisplayObject interface defines the interface for skin
>> elements.
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/IVisualElement.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/core/IVisualElement.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/IVisualElement.as
>> index 3f1464a..4691a12 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/core/IVisualElement.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/core/IVisualElement.as
>> @@ -241,11 +241,13 @@ public interface IVisualElement extends
>> ILayoutElement, ILayoutDirectionElement
>>      *  @playerversion AIR 1.5
>>      *  @productversion Flex 4
>>      */
>> +       COMPILE::LATER
>>     function get designLayer():DesignLayer;
>> 
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     function set designLayer(value:DesignLayer):void;
>> 
>>     /**
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/UIComponent.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/core/UIComponent.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/UIComponent.as
>> index 427550e..9b2a960 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/core/UIComponent.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/core/UIComponent.as
>> @@ -35,7 +35,7 @@ COMPILE::AS3
>>        import flash.display.DisplayObject;
>>        import flash.display.DisplayObjectContainer;
>>        import flash.display.InteractiveObject;
>> -       import flash.display.Sprite;
>> +//     import flash.display.Sprite;
>>        import flash.display.GradientType;
>>        import flash.display.Graphics;
>>        import flash.display.Loader;
>> @@ -48,9 +48,10 @@ COMPILE::JS
>>        import flex.display.DisplayObject;
>>        import flex.display.DisplayObjectContainer;
>>        import flex.display.InteractiveObject;
>> +       import flex.display.Graphics;
>>        import flex.display.Loader;
>> -       import flex.display.Sprite;
>> }
>> +import flex.display.Sprite;
>> /*
>> import flash.display.Shader;
>> */
>> @@ -158,7 +159,6 @@ import mx.validators.ValidationResult;
>> 
>> use namespace mx_internal;
>> 
>> -import org.apache.flex.core.UIBase;
>> import flex.system.DefinitionManager;
>> import org.apache.flex.events.EventDispatcher;
>> import org.apache.flex.events.IEventDispatcher;
>> @@ -1475,7 +1475,7 @@ include "../styles/metadata/AnchorStyles.as";
>>  *  @playerversion AIR 1.1
>>  *  @productversion Flex 3
>>  */
>> -public class UIComponent extends UIBase
>> +public class UIComponent extends Sprite
>>     implements IAutomationObject, IChildList, IConstraintClient,
>>     IDeferredInstantiationUIComponent, IFlexDisplayObject, IFlexModule,
>>     IInvalidating, ILayoutManagerClient, IPropertyChangeNotifier,
>> @@ -1706,8 +1706,11 @@ public class UIComponent extends UIBase
>>             if (UIComponentGlobals.callLaterSuspendCount == 0)
>>             {
>>                 var sm:ISystemManager =
>> SystemManagerGlobals.topLevelSystemManagers[0];
>> +                               COMPILE::AS3
>> +                               {
>>                 if (sm && sm.topOfDisplayList)
>>                     sm.topOfDisplayList.invalidate();
>> +                               }
>>             }
>>         }
>>     }
>> @@ -1731,9 +1734,12 @@ public class UIComponent extends UIBase
>>         super();
>> 
>>         // Override  variables in superclasses.
>> +               COMPILE::AS3
>> +               {
>>         focusRect = false; // We do our own focus drawing.
>>         // We are tab enabled by default if IFocusManagerComponent
>>         tabEnabled = (this is IFocusManagerComponent);
>> +               }
>>         tabFocusEnabled = (this is IFocusManagerComponent);
>> 
>>         // Whether the component can accept user interaction.
>> @@ -2088,6 +2094,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     public function get accessibilityName():String
>>     {
>>         return accessibilityProperties ? accessibilityProperties.name :
>> "";
>> @@ -2472,9 +2479,14 @@ public class UIComponent extends UIBase
>>         {
>>             return _parent ? _parent : super.parent;
>>         }
>> -        catch (e:SecurityError)
>> +        catch (e:Error)
>>         {
>>             // trace("UIComponent.get parent(): " + e);
>> +                       COMPILE::AS3
>> +                       {
>> +                               if (!(e is SecurityError))
>> +                                       throw e;
>> +                       }
>>         }
>> 
>>         return null;
>> @@ -2781,6 +2793,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     override public function get rotationZ():Number
>>     {
>>         return rotation;
>> @@ -2788,6 +2801,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     override public function set rotationZ(value:Number):void
>>     {
>>         rotation = value;
>> @@ -3107,6 +3121,7 @@ public class UIComponent extends UIBase
>>      *  @productversion Flex 3
>>      */
>> 
>> +       COMPILE::LATER
>>     override public function get scaleX():Number
>>     {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>> @@ -3119,8 +3134,10 @@ public class UIComponent extends UIBase
>>      *  @private
>>      *  Storage for the scaleX property.
>>      */
>> +       COMPILE::LATER
>>     private var _scaleX:Number = 1.0;
>> 
>> +       COMPILE::LATER
>>     override public function set scaleX(value:Number):void
>>     {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>> @@ -3187,6 +3204,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     override public function get scaleY():Number
>>     {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>> @@ -3201,9 +3219,11 @@ public class UIComponent extends UIBase
>>      *  @private
>>      *  Storage for the scaleY property.
>>      */
>> +       COMPILE::LATER
>>     private var _scaleY:Number = 1.0;
>> 
>> 
>> +       COMPILE::LATER
>>     override public function set scaleY(value:Number):void
>>     {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>> @@ -3310,11 +3330,13 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     mx_internal final function get $scaleX():Number
>>     {
>>         return super.scaleX;
>>     }
>> 
>> +       COMPILE::LATER
>>     mx_internal final function set $scaleX(value:Number):void
>>     {
>>         super.scaleX = value;
>> @@ -3332,11 +3354,13 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     mx_internal final function get $scaleY():Number
>>     {
>>         return super.scaleY;
>>     }
>> 
>> +       COMPILE::LATER
>>     mx_internal final function set $scaleY(value:Number):void
>>     {
>>         super.scaleY = value;
>> @@ -3414,9 +3438,12 @@ public class UIComponent extends UIBase
>>         if (!initialized)
>>             return;
>> 
>> +               COMPILE::LATER
>> +               {
>>         if (designLayer && !designLayer.effectiveVisibility)
>>             value = false;
>> -
>> +               }
>> +
>>         if ($visible == value)
>>             return;
>> 
>> @@ -3463,8 +3490,11 @@ public class UIComponent extends UIBase
>>         {
>>             _alpha = value;
>> 
>> +                       COMPILE::LATER
>> +                       {
>>             if (designLayer)
>>                 value = value * designLayer.effectiveAlpha;
>> +                       }
>> 
>>             $alpha = value;
>> 
>> @@ -3545,6 +3575,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     override public function get doubleClickEnabled():Boolean
>>     {
>>         return super.doubleClickEnabled;
>> @@ -3554,6 +3585,7 @@ public class UIComponent extends UIBase
>>      *  @private
>>      *  Propagate to children.
>>      */
>> +       COMPILE::LATER
>>     override public function set doubleClickEnabled(value:Boolean):void
>>     {
>>         super.doubleClickEnabled = value;
>> @@ -3621,6 +3653,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     override public function set cacheAsBitmap(value:Boolean):void
>>     {
>>         super.cacheAsBitmap = value;
>> @@ -3704,6 +3737,7 @@ public class UIComponent extends UIBase
>>      *  @private
>>      *  Storage for the layer property.
>>      */
>> +       COMPILE::LATER
>>     private var _designLayer:DesignLayer;
>> 
>>     [Inspectable (environment='none')]
>> @@ -3716,6 +3750,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.5
>>      *  @productversion Flex 4
>>      */
>> +       COMPILE::LATER
>>     public function get designLayer():DesignLayer
>>     {
>>         return _designLayer;
>> @@ -3724,6 +3759,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     public function set designLayer(value:DesignLayer):void
>>     {
>>         if (_designLayer)
>> @@ -3781,6 +3817,7 @@ public class UIComponent extends UIBase
>>      *  Note that this "base property" is final and cannot be overridden,
>>      *  so you can count on it to reflect what is happening at the player
>> level.
>>      */
>> +       COMPILE::LATER
>>     mx_internal final function get $blendMode():String
>>     {
>>         return super.blendMode;
>> @@ -3789,6 +3826,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     mx_internal final function set $blendMode(value:String):void
>>     {
>>         super.blendMode = value;
>> @@ -4998,6 +5036,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     public function set cachePolicy(value:String):void
>>     {
>>         if (_cachePolicy != value)
>> @@ -5036,6 +5075,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     public function set cacheHeuristic(value:Boolean):void
>>     {
>>         if (_cachePolicy == UIComponentCachePolicy.AUTO)
>> @@ -5092,7 +5132,10 @@ public class UIComponent extends UIBase
>> 
>>             value.x = 0;
>>             value.y = 0;
>> +                       COMPILE::AS3
>> +                       {
>>             value.scrollRect = null;
>> +                       }
>> 
>>             _focusPane = value;
>>         }
>> @@ -5100,7 +5143,10 @@ public class UIComponent extends UIBase
>>         {
>>             removeChild(_focusPane);
>> 
>> +                       COMPILE::AS3
>> +                       {
>>             _focusPane.mask = null;
>> +                       }
>>             _focusPane = null;
>>         }
>>     }
>> @@ -7429,6 +7475,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>     override public function stopDrag():void
>>     {
>>         super.stopDrag();
>> @@ -7544,8 +7591,11 @@ public class UIComponent extends UIBase
>>                 listeningForRender = true;
>>             }
>> 
>> +                       COMPILE::AS3
>> +                       {
>>             if (_systemManager.topOfDisplayList)
>>                 _systemManager.topOfDisplayList.invalidate();
>> +                       }
>>         }
>>     }
>> 
>> @@ -7634,10 +7684,13 @@ public class UIComponent extends UIBase
>>         else if (child is IUITextField)
>>             IUITextField(child).nestLevel = nestLevel + 1;
>> 
>> +               COMPILE::LATER
>> +               {
>>         if (child is InteractiveObject)
>>             if (doubleClickEnabled)
>>                 InteractiveObject(child).doubleClickEnabled = true;
>> -
>> +               }
>> +
>>         // Sets up the inheritingStyles and nonInheritingStyles objects
>>         // and their proto chains so that getStyle() works.
>>         // If this object already has some children,
>> @@ -8378,6 +8431,8 @@ public class UIComponent extends UIBase
>>                                }
>>                                case 3:
>>                                {
>> +                                       COMPILE::LATER
>> +                                       {
>>                                        propertyName =
>> bindingData[index++];
>>                                        value = bindingData[index++];
>>                                        if (value is Array)
>> @@ -8389,6 +8444,7 @@ public class UIComponent extends UIBase
>> 
>> theBindings.push(bindings[bindingIndex]);
>>                                        w = new XMLWatcher(propertyName,
>> theBindings);
>>                                        break;
>> +                                       }
>>                                }
>>                        }
>>                        watchers.push(w);
>> @@ -8795,6 +8851,7 @@ public class UIComponent extends UIBase
>>     public function callLater(method:Function,
>>                               args:Array /* of Object */ = null):void
>>     {
>> +
>>         // trace(">>calllater " + this)
>>         // Push the method and the arguments onto the method queue.
>>         methodQueue.push(new MethodQueueElement(method, args));
>> @@ -8815,9 +8872,12 @@ public class UIComponent extends UIBase
>>                 listeningForRender = true;
>>             }
>> 
>> +                       COMPILE::AS3
>> +                       {
>>             // Force a "render" event to happen soon
>>             if (sm.topOfDisplayList)
>>                 sm.topOfDisplayList.invalidate();
>> +                       }
>>         }
>> 
>>         // trace("<<calllater " + this)
>> @@ -8903,6 +8963,8 @@ public class UIComponent extends UIBase
>>     {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>>         {
>> +                       COMPILE::LATER
>> +                       {
>>             if (_scaleX != oldScaleX)
>>             {
>>                 var scalingFactorX:Number = Math.abs(_scaleX / oldScaleX);
>> @@ -8932,6 +8994,7 @@ public class UIComponent extends UIBase
>> 
>>                 super.scaleY = oldScaleY = _scaleY;
>>             }
>> +                       }
>>         }
>>         else
>>         {
>> @@ -8943,8 +9006,11 @@ public class UIComponent extends UIBase
>>                 currentState = newState;
>>             }
>> 
>> +                       COMPILE::LATER
>> +                       {
>>             oldScaleX = scaleX;
>>             oldScaleY = scaleY;
>> +                       }
>>         }
>> 
>>         // Typically state changes occur immediately, but during
>> @@ -9139,6 +9205,8 @@ public class UIComponent extends UIBase
>>         }
>>         else
>>         {
>> +                       COMPILE::LATER
>> +                       {
>>             var xScale:Number = Math.abs(scaleX);
>>             var yScale:Number = Math.abs(scaleY);
>> 
>> @@ -9156,7 +9224,7 @@ public class UIComponent extends UIBase
>>                     _measuredHeight /= yScale;
>>                 }
>>             }
>> -
>> +                       }
>>             measure();
>> 
>>             invalidateSizeFlag = false;
>> @@ -9173,6 +9241,8 @@ public class UIComponent extends UIBase
>>             if (!isNaN(explicitMaxHeight) && measuredHeight >
>> explicitMaxHeight)
>>                 measuredHeight = explicitMaxHeight;
>> 
>> +                       COMPILE::LATER
>> +                       {
>>             if (FlexVersion.compatibilityVersion <
>> FlexVersion.VERSION_4_0)
>>             {
>>                 if (xScale != 1.0)
>> @@ -9187,9 +9257,13 @@ public class UIComponent extends UIBase
>>                     _measuredHeight *= yScale;
>>                 }
>>             }
>> +                       }
>>         }
>> 
>> +               COMPILE::LATER
>> +               {
>>         adjustSizesForScaleChanges();
>> +               }
>> 
>>         if (isNaN(oldMinWidth))
>>         {
>> @@ -9326,6 +9400,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::LATER
>>     mx_internal function adjustSizesForScaleChanges():void
>>     {
>>         var xScale:Number = scaleX;
>> @@ -9422,10 +9497,14 @@ public class UIComponent extends UIBase
>>      */
>>     protected function get unscaledWidth():Number
>>     {
>> +               COMPILE::LATER
>> +               {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>>             return width / Math.abs(scaleX);
>>         else
>>             return width;
>> +               }
>> +               return width;
>>     }
>> 
>>     /**
>> @@ -9482,10 +9561,14 @@ public class UIComponent extends UIBase
>>      */
>>     protected function get unscaledHeight():Number
>>     {
>> +               COMPILE::LATER
>> +               {
>>         if (FlexVersion.compatibilityVersion < FlexVersion.VERSION_4_0)
>>             return height / Math.abs(scaleY);
>>         else
>>             return height;
>> +               }
>> +               return height;
>>     }
>> 
>>     /**
>> @@ -9642,6 +9725,8 @@ public class UIComponent extends UIBase
>> 
>>             var unscaledWidth:Number = width;
>>             var unscaledHeight:Number = height;
>> +                       COMPILE::LATER
>> +                       {
>>             if (FlexVersion.compatibilityVersion <
>> FlexVersion.VERSION_4_0)
>>             {
>>                 unscaledWidth = scaleX == 0 ? 0 : width / scaleX;
>> @@ -9655,6 +9740,7 @@ public class UIComponent extends UIBase
>>                 if (Math.abs(unscaledHeight - lastUnscaledHeight) <
>> .00001)
>>                     unscaledHeight = lastUnscaledHeight;
>>             }
>> +                       }
>>             updateDisplayList(unscaledWidth,unscaledHeight);
>>             lastUnscaledWidth = unscaledWidth;
>>             lastUnscaledHeight = unscaledHeight;
>> @@ -10725,8 +10811,13 @@ public class UIComponent extends UIBase
>>         var height:Number;
>>         if (obj is UIComponent)
>>         {
>> +                       COMPILE::LATER
>> +                       {
>>             width = UIComponent(obj).unscaledWidth * Math.abs(obj.scaleX);
>>             height = UIComponent(obj).unscaledHeight *
>> Math.abs(obj.scaleY);
>> +                       }
>> +                       width = UIComponent(obj).unscaledWidth;
>> +                       height = UIComponent(obj).unscaledHeight;
>>         }
>>         else
>>         {
>> @@ -10768,6 +10859,8 @@ public class UIComponent extends UIBase
>> 
>>             var pt:Point;
>> 
>> +                       COMPILE::LATER
>> +                       {
>>             if (rotation)
>>             {
>>                 var rotRad:Number = rotation * Math.PI / 180;
>> @@ -10780,7 +10873,8 @@ public class UIComponent extends UIBase
>>                 pt = new Point(obj.x - thickness, obj.y - thickness);
>>                 DisplayObject(focusObj).rotation = 0;
>>             }
>> -
>> +                       }
>> +
>>             if (obj.parent == this)
>>             {
>>                 // This adjustment only works if obj is a direct child of
>> this.
>> @@ -11273,7 +11367,14 @@ public class UIComponent extends UIBase
>>         {
>>             var message:String = resourceManager.getString(
>>                 "core", "stateUndefined", [ stateName ]);
>> -            throw new ArgumentError(message);
>> +                       COMPILE::AS3
>> +                       {
>> +                               throw new ArgumentError(message);
>> +                       }
>> +                       COMPILE::JS
>> +                       {
>> +                               throw new Error(message);
>> +                       }
>>         }
>>         return null;
>>     }
>> @@ -11935,7 +12036,14 @@ public class UIComponent extends UIBase
>>         {
>>             var message:String = resourceManager.getString(
>>                 "core", "badParameter", [ styleClient ]);
>> -            throw new ArgumentError(message);
>> +                       COMPILE::AS3
>> +                       {
>> +                   throw new ArgumentError(message);
>> +                       }
>> +                       COMPILE::JS
>> +                       {
>> +                               throw new Error(message);
>> +                       }
>>         }
>>     }
>> 
>> @@ -12363,7 +12471,7 @@ public class UIComponent extends UIBase
>>         g.clear();
>>         g.beginFill(color);
>> 
>> -        g.drawRoundRect(targetArea.x, targetArea.y,
>> +        g.drawRoundRect(targetArea.left, targetArea.top,
>>                         targetArea.width, targetArea.height,
>>                         targetArea.cornerRadius * 2,
>>                         targetArea.cornerRadius * 2);
>> @@ -12592,6 +12700,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     public function createReferenceOnParentDocument(
>>                         parentDocument:IFlexDisplayObject):void
>>     {
>> @@ -12645,6 +12754,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     public function deleteReferenceOnParentDocument(
>>                                 parentDocument:IFlexDisplayObject):void
>>     {
>> @@ -13043,8 +13153,16 @@ public class UIComponent extends UIBase
>>     {
>>         //reset systemManager in case we've been reparented to a new
>> Window.
>>         //systemManager will be set on get systemManager()
>> -        if (event.eventPhase != EventPhase.AT_TARGET)
>> -            return;
>> +               COMPILE::AS3
>> +               {
>> +               if (event.eventPhase != EventPhase.AT_TARGET)
>> +                   return;
>> +               }
>> +               COMPILE::JS
>> +               {
>> +                       if (event.target != event.currentTarget)
>> +                               return;
>> +               }
>> 
>>         try
>>         {
>> @@ -13054,10 +13172,15 @@ public class UIComponent extends UIBase
>>                 return;
>>             }
>>         }
>> -        catch (error:SecurityError)
>> -        {
>> -
>> -        }
>> +               catch (e:Error)
>> +               {
>> +                       // trace("UIComponent.get parent(): " + e);
>> +                       COMPILE::AS3
>> +                       {
>> +                               if (!(e is SecurityError))
>> +                                       throw e;
>> +                       }
>> +               }
>>     }
>> 
>>     /**
>> @@ -13066,8 +13189,16 @@ public class UIComponent extends UIBase
>>      */
>>     private function removedHandler(event:flex.events.Event):void
>>     {
>> -        if (event.eventPhase != EventPhase.AT_TARGET)
>> -            return;
>> +               COMPILE::AS3
>> +               {
>> +               if (event.eventPhase != EventPhase.AT_TARGET)
>> +                   return;
>> +               }
>> +               COMPILE::JS
>> +               {
>> +                       if (event.target != event.currentTarget)
>> +                               return;
>> +               }
>> 
>>         try
>>         {
>> @@ -13077,10 +13208,15 @@ public class UIComponent extends UIBase
>>                 return;
>>             }
>>         }
>> -        catch (error:SecurityError)
>> -        {
>> -
>> -        }
>> +               catch (e:Error)
>> +               {
>> +                       // trace("UIComponent.get parent(): " + e);
>> +                       COMPILE::AS3
>> +                       {
>> +                               if (!(e is SecurityError))
>> +                                       throw e;
>> +                       }
>> +               }
>>     }
>> 
>>     /**
>> @@ -13350,11 +13486,17 @@ public class UIComponent extends UIBase
>>                     child = child.parent;
>>             }
>>         }
>> -        catch (e:SecurityError)
>> -        {
>> -            // You can't own what you don't have access to.
>> -            return false;
>> -        }
>> +               catch (e:Error)
>> +               {
>> +                       // trace("UIComponent.get parent(): " + e);
>> +                       COMPILE::AS3
>> +                       {
>> +                               if (!(e is SecurityError))
>> +                                       throw e;
>> +                       }
>> +                       // You can't own what you don't have access to.
>> +                       return false;
>> +               }
>> 
>>         return child == this;
>>     }
>> @@ -13784,6 +13926,8 @@ public class UIComponent extends UIBase
>>             else
>>                 current = current.parent;
>> 
>> +                       COMPILE::AS3
>> +                       {
>>             if (current && current.scrollRect)
>>             {
>>                 // clip the bounds by the scroll rect
>> @@ -13793,6 +13937,7 @@ public class UIComponent extends UIBase
>>                 currentRect.y = pt.y;
>>                 bounds =
>> Rectangle.convert(bounds.intersection(currentRect));
>>             }
>> +                       }
>>         } while (current && current != targetParent);
>> 
>>         return bounds;
>> @@ -13851,6 +13996,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>     override public function get mouseX():Number
>>     {
>>         if (!root || root is TopOfDisplayList || root[fakeMouseX] ===
>> undefined)
>> @@ -13861,6 +14007,7 @@ public class UIComponent extends UIBase
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>     override public function get mouseY():Number
>>     {
>>         if (!root || root is TopOfDisplayList || root[fakeMouseY] ===
>> undefined)
>> @@ -14414,6 +14561,7 @@ public class UIComponent extends UIBase
>>      *  @playerversion AIR 1.5
>>      *  @productversion Flex 4
>>      */
>> +       COMPILE::LATER
>>     protected function applyComputedMatrix():void
>>     {
>>         _layoutFeatures.updatePending = false;
>> @@ -14759,6 +14907,38 @@ public class UIComponent extends UIBase
>>             return super.transform.matrix;
>>         }
>>     }
>> +
>> +
>> //--------------------------------------------------------------------------
>> +       //
>> +       //  Overridden methods
>> +       //
>> +
>> //--------------------------------------------------------------------------
>> +
>> +       /**
>> +        *  Returns a string indicating the location of this object
>> +        *  within the hierarchy of DisplayObjects in the Application.
>> +        *  This string, such as <code>"MyApp0.HBox5.Button17"</code>,
>> +        *  is built by the <code>displayObjectToString()</code> method
>> +        *  of the mx.utils.NameUtils class from the <code>name</code>
>> +        *  property of the object and its ancestors.
>> +        *
>> +        *  @return A String indicating the location of this object
>> +        *  within the DisplayObject hierarchy.
>> +        *
>> +        *  @see flash.display.DisplayObject#name
>> +        *  @see mx.utils.NameUtil#displayObjectToString()
>> +        *
>> +        *  @langversion 3.0
>> +        *  @playerversion Flash 9
>> +        *  @playerversion AIR 1.1
>> +        *  @productversion Flex 3
>> +        */
>> +       COMPILE::JS
>> +       public function toString():String
>> +       {
>> +               return NameUtil.displayObjectToString(this);
>> +       }
>> +
>> }
>> 
>> }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/UITextField.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/core/UITextField.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/UITextField.as
>> index 28d61ae..6f4242b 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/core/UITextField.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/core/UITextField.as
>> @@ -429,8 +429,11 @@ public class UITextField extends TextField
>>     {
>>         _x = value;
>>         super.x = value;
>> +               COMPILE::LATER
>> +               {
>>         if (mirror)
>>             validateTransformMatrix();
>> +               }
>>     }
>> 
>>     /**
>> @@ -455,8 +458,11 @@ public class UITextField extends TextField
>>         var changed:Boolean = super.width != value;
>> 
>>         super.width = value;
>> +               COMPILE::LATER
>> +               {
>>         if (mirror)
>>             validateTransformMatrix();
>> +               }
>> 
>>         // Since changing the width may reflow the text which can
>>         // change the textWidth and/or textHeight dispatch an event so
>> @@ -783,6 +789,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::LATER
>>     public function get className():String
>>     {
>>         return NameUtil.getUnqualifiedClassName(this);
>> @@ -888,6 +895,7 @@ public class UITextField extends TextField
>>      *  @private
>>      *  Storage for the explicitHeight property.
>>      */
>> +       COMPILE::AS3
>>     private var _explicitHeight:Number;
>> 
>>     /**
>> @@ -898,6 +906,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>>     public function get explicitHeight():Number
>>     {
>>         return _explicitHeight;
>> @@ -906,6 +915,7 @@ public class UITextField extends TextField
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>     public function set explicitHeight(value:Number):void
>>     {
>>         _explicitHeight = value;
>> @@ -1003,6 +1013,7 @@ public class UITextField extends TextField
>>      *  @private
>>      *  Storage for the explicitWidth property.
>>      */
>> +       COMPILE::AS3
>>     private var _explicitWidth:Number;
>> 
>>     /**
>> @@ -1013,6 +1024,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>>     public function get explicitWidth():Number
>>     {
>>         return _explicitWidth;
>> @@ -1021,6 +1033,7 @@ public class UITextField extends TextField
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>     public function set explicitWidth(value:Number):void
>>     {
>>         _explicitWidth = value;
>> @@ -1583,6 +1596,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>>     public function get percentHeight():Number
>>     {
>>         return NaN;
>> @@ -1591,6 +1605,7 @@ public class UITextField extends TextField
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>      public function set percentHeight(value:Number):void
>>      {
>>      }
>> @@ -1607,6 +1622,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +        COMPILE::AS3
>>     public function get percentWidth():Number
>>     {
>>         return NaN;
>> @@ -1615,6 +1631,7 @@ public class UITextField extends TextField
>>     /**
>>      *  @private
>>      */
>> +       COMPILE::AS3
>>      public function set percentWidth(value:Number):void
>>      {
>>      }
>> @@ -1717,6 +1734,10 @@ public class UITextField extends TextField
>>             styleChanged("styleName");
>>         }
>> 
>> +               COMPILE::JS
>> +               {
>> +                       element.className = styleName.toString();
>> +               }
>>         // If we don't have a parent pointer yet, then we'll wait
>>         // and initialize the proto chain when the parentChanged()
>>         // method is called.
>> @@ -1922,7 +1943,9 @@ public class UITextField extends TextField
>> 
>>     /**
>>      *  @private
>> +        *  TODO (aharui): I'm not seeing this in the doc
>>      */
>> +       COMPILE::LATER
>>     override public function insertXMLText(beginIndex:int, endIndex:int,
>>                                            richText:String,
>>                                            pasting:Boolean = false):void
>> @@ -2016,6 +2039,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>>     public function setFocus():void
>>     {
>>         systemManager.topOfDisplayList.focus = this;
>> @@ -2215,8 +2239,11 @@ public class UITextField extends TextField
>>         {
>>             const oldMirror:Boolean = mirror;
>>             mirror = getStyle("layoutDirection") == LayoutDirection.RTL;
>> +                       COMPILE::LATER
>> +                       {
>>             if (mirror || oldMirror)
>>                 validateTransformMatrix();
>> +                       }
>>         }
>> 
>>         // Set the text format.
>> @@ -2265,6 +2292,7 @@ public class UITextField extends TextField
>>      *  Update the transform.matrix based on the mirror flag.  This
>> method must be
>>      *  called when x, width, or layoutDirection changes.
>>      */
>> +       COMPILE::LATER
>>     private function validateTransformMatrix():void
>>     {
>>         if (mirror)
>> @@ -2375,6 +2403,7 @@ public class UITextField extends TextField
>>      *  @playerversion AIR 1.1
>>      *  @productversion Flex 3
>>      */
>> +       COMPILE::AS3
>>     public function setColor(color:uint):void
>>     {
>>         explicitColor = color;
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/core/UITextFormat.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/core/UITextFormat.as
>> b/frameworks/projects/MX/src/main/flex/mx/core/UITextFormat.as
>> index 08ba3aa..bcc7c48 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/core/UITextFormat.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/core/UITextFormat.as
>> @@ -20,8 +20,16 @@
>> package mx.core
>> {
>> 
>> -import flash.text.TextFormat;
>> -import flex.text.TextLineMetrics;
>> +COMPILE::AS3
>> +{
>> +       import flash.text.TextFormat;
>> +       import flash.text.TextLineMetrics;
>> +}
>> +COMPILE::JS
>> +{
>> +       import flex.text.TextFormat;
>> +       import flex.text.TextLineMetrics;
>> +}
>> 
>> import mx.managers.ISystemManager;
>> 
>> @@ -639,7 +647,10 @@ public class UITextFormat extends TextFormat
>>         letterSpacing = source.letterSpacing;
>>         blockIndent = source.blockIndent;
>>         bullet = source.bullet;
>> +               COMPILE::LATER
>> +               {
>>         display = source.display;
>> +               }
>>         indent = source.indent;
>>         kerning = source.kerning;
>>         tabStops = source.tabStops;
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
>> b/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
>> index e675265..f54f656 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
>> @@ -470,20 +470,36 @@ public class EffectManager extends EventDispatcher
>>                 if (info.vectorEffectsCount == 0 &&
>>                     target is IDeferredInstantiationUIComponent)
>>                 {
>> -
>> IDeferredInstantiationUIComponent(target).cacheHeuristic = true;
>> +                                       COMPILE::LATER
>> +                                       {
>> +
>> IDeferredInstantiationUIComponent(target).cacheHeuristic = true;
>> +                                       }
>>                 }
>>             }
>>             else
>>             {
>> -                // If a vector effect started playing, forcibly uncache
>> -                // the target regardless of anything else.
>> -                if (info.vectorEffectsCount++ == 0 &&
>> -                    target is IDeferredInstantiationUIComponent &&
>> -                    IDeferredInstantiationUIComponent(target).cachePolicy
>> == UIComponentCachePolicy.AUTO)
>> -                {
>> -                    target.cacheAsBitmap = false;
>> -                }
>> -            }
>> +                               COMPILE::LATER
>> +                               {
>> +                       // If a vector effect started playing, forcibly
>> uncache
>> +                       // the target regardless of anything else.
>> +                       if (info.vectorEffectsCount++ == 0 &&
>> +                           target is IDeferredInstantiationUIComponent &&
>> +
>> IDeferredInstantiationUIComponent(target).cachePolicy ==
>> UIComponentCachePolicy.AUTO)
>> +                       {
>> +                           target.cacheAsBitmap = false;
>> +                       }
>> +                   }
>> +                               // If a vector effect started playing,
>> forcibly uncache
>> +                               // the target regardless of anything else.
>> +                               if (info.vectorEffectsCount++ == 0 &&
>> +                                       target is
>> IDeferredInstantiationUIComponent)
>> +                               {
>> +                                       COMPILE::LATER
>> +                                       {
>> +                                       target.cacheAsBitmap = false;
>> +                                       }
>> +                               }
>> +                       }
>>         }
>>         else // effect end
>>         {
>> @@ -492,8 +508,11 @@ public class EffectManager extends EventDispatcher
>>                 if (info.bitmapEffectsCount != 0)
>>                     info.bitmapEffectsCount--;
>> 
>> +                               COMPILE::LATER
>> +                               {
>>                 if (target is IDeferredInstantiationUIComponent)
>> 
>> IDeferredInstantiationUIComponent(target).cacheHeuristic = false;
>> +                               }
>>             }
>>             else
>>             {
>> @@ -506,11 +525,14 @@ public class EffectManager extends EventDispatcher
>>                     {
>>                         // Crank up the counter.
>>                         n = info.bitmapEffectsCount;
>> +                                               COMPILE::LATER
>> +                                               {
>>                         for (i = 0; i < n; i++)
>>                         {
>>                             if (target is
>> IDeferredInstantiationUIComponent)
>> 
>> IDeferredInstantiationUIComponent(target).cacheHeuristic = true;
>>                         }
>> +                                               }
>>                     }
>>                 }
>>             }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/managers/SystemManager.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/managers/SystemManager.as
>> b/frameworks/projects/MX/src/main/flex/mx/managers/SystemManager.as
>> index c8a250d..6f31e27 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/managers/SystemManager.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/managers/SystemManager.as
>> @@ -54,6 +54,7 @@ COMPILE::JS
>>        import flex.display.MovieClip;
>>        import flex.display.Sprite;
>>        import flex.events.Event;
>> +       import org.apache.flex.events.MouseEvent;
>>        import flex.events.EventPhase;
>>        import flex.ui.Keyboard;
>> 
>> @@ -301,6 +302,7 @@ public class SystemManager extends MovieClip
>>                COMPILE::JS
>>                {
>>                        initHandler(null);
>> +                       super.addEventListener(MouseEvent.MOUSE_MOVE,
>> js_mouseMoveHandler);
>>                }
>> 
>>     }
>> @@ -841,18 +843,9 @@ public class SystemManager extends MovieClip
>> 
>>         if (!_cursorChildren)
>>         {
>> -                       COMPILE::AS3
>> -                       {
>>             _cursorChildren = new SystemChildrenList(this,
>>                 new QName(mx_internal, "toolTipIndex"),
>>                 new QName(mx_internal, "cursorIndex"));
>> -                       }
>> -                       COMPILE::JS
>> -                       {
>> -                               _cursorChildren = new
>> SystemChildrenList(this,
>> -                                       "toolTipIndex",
>> -                                       "cursorIndex");
>> -                       }
>>         }
>> 
>>         return _cursorChildren;
>> @@ -1409,18 +1402,9 @@ public class SystemManager extends MovieClip
>> 
>>         if (!_popUpChildren)
>>         {
>> -                       COMPILE::AS3
>> -                       {
>>             _popUpChildren = new SystemChildrenList(this,
>>                 new QName(mx_internal, "noTopMostIndex"),
>>                 new QName(mx_internal, "topMostIndex"));
>> -                       }
>> -                       COMPILE::JS
>> -                       {
>> -                               _popUpChildren = new
>> SystemChildrenList(this,
>> -                                       "noTopMostIndex",
>> -                                       "topMostIndex");
>> -                       }
>>         }
>> 
>>         return _popUpChildren;
>> @@ -1513,18 +1497,9 @@ public class SystemManager extends MovieClip
>> 
>>         if (!_toolTipChildren)
>>         {
>> -                       COMPILE::AS3
>> -                       {
>>             _toolTipChildren = new SystemChildrenList(this,
>>                 new QName(mx_internal, "topMostIndex"),
>>                 new QName(mx_internal, "toolTipIndex"));
>> -                       }
>> -                       COMPILE::JS
>> -                       {
>> -                               _toolTipChildren = new
>> SystemChildrenList(this,
>> -                                       "topMostIndex",
>> -                                       "toolTipIndex");
>> -                       }
>>         }
>> 
>>         return _toolTipChildren;
>> @@ -2206,16 +2181,8 @@ public class SystemManager extends MovieClip
>>         // we redirect public API to parent systemmanager
>>         if (!_popUpChildren)
>>         {
>> -                       COMPILE::AS3
>> -                       {
>>                                _popUpChildren = new SystemChildrenList(
>>                                        this, new QName(mx_internal,
>> "noTopMostIndex"), new QName(mx_internal, "topMostIndex"));
>> -                       }
>> -                       COMPILE::JS
>> -                       {
>> -                               _popUpChildren = new SystemChildrenList(
>> -                                       this, "noTopMostIndex",
>> "topMostIndex");
>> -                       }
>>         }
>>         _popUpChildren.addChild(preloader);
>> 
>> @@ -3971,6 +3938,16 @@ public class SystemManager extends MovieClip
>>                return _topOfDisplayList;
>>        }
>> 
>> +       /**
>> +        *  @private
>> +        *  Track mouse moves in order to determine idle
>> +        */
>> +       COMPILE::JS
>> +       private function js_mouseMoveHandler(event:MouseEvent):void
>> +       {
>> +               SystemManagerGlobals.lastMouseEvent = event;
>> +       }
>> +
>> 
>> }
>> 
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/managers/SystemManagerGlobals.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/managers/SystemManagerGlobals.as
>> b/frameworks/projects/MX/src/main/flex/mx/managers/SystemManagerGlobals.as
>> index 4b19eeb..c360df8 100644
>> ---
>> a/frameworks/projects/MX/src/main/flex/mx/managers/SystemManagerGlobals.as
>> +++
>> b/frameworks/projects/MX/src/main/flex/mx/managers/SystemManagerGlobals.as
>> @@ -19,6 +19,10 @@
>> 
>> package mx.managers
>> {
>> +COMPILE::JS
>> +{
>> +       import org.apache.flex.events.MouseEvent;
>> +}
>> 
>> [ExcludeClass]
>> 
>> @@ -50,6 +54,11 @@ public class SystemManagerGlobals
>>         *  in the application..
>>      */
>>        public static var parameters:Object;
>> +
>> +       COMPILE::JS
>> +       {
>> +               public static var lastMouseEvent:MouseEvent;
>> +       }
>> }
>> 
>> }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/managers/ToolTipManagerImpl.as
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/flex/mx/managers/ToolTipManagerImpl.as
>> b/frameworks/projects/MX/src/main/flex/mx/managers/ToolTipManagerImpl.as
>> index a882de4..a1c6f2f 100644
>> ---
>> a/frameworks/projects/MX/src/main/flex/mx/managers/ToolTipManagerImpl.as
>> +++
>> b/frameworks/projects/MX/src/main/flex/mx/managers/ToolTipManagerImpl.as
>> @@ -1251,7 +1251,10 @@ public class ToolTipManagerImpl extends
>> EventDispatcher
>> 
>>             var pos:Point = new Point(x, y);
>>             pos = PointUtils.localToGlobal(pos, sm);
>> -            pos = PointUtils.globalToLocal(pos, sm.getSandboxRoot());
>> +                       COMPILE::LATER
>> +                       {
>> +                   pos = PointUtils.globalToLocal(pos,
>> sm.getSandboxRoot());
>> +                       }
>>             x = pos.x;
>>             y = pos.y;
>>         }
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/utils/ObjectProxy.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/utils/ObjectProxy.as
>> b/frameworks/projects/MX/src/main/flex/mx/utils/ObjectProxy.as
>> index b1f31f2..a6f1591 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/utils/ObjectProxy.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/utils/ObjectProxy.as
>> @@ -33,6 +33,7 @@ import flash.utils.flash_proxy;
>> COMPILE::JS
>> {
>>        import org.apache.flex.events.Event;
>> +       import flex.utils.IExternalizable;
>> }
>> import org.apache.flex.utils.Proxy;
>> import mx.core.IPropertyChangeNotifier;
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/flex/mx/utils/Platform.as
>> ----------------------------------------------------------------------
>> diff --git a/frameworks/projects/MX/src/main/flex/mx/utils/Platform.as
>> b/frameworks/projects/MX/src/main/flex/mx/utils/Platform.as
>> index 6a19b2e..b9de66c 100644
>> --- a/frameworks/projects/MX/src/main/flex/mx/utils/Platform.as
>> +++ b/frameworks/projects/MX/src/main/flex/mx/utils/Platform.as
>> @@ -21,7 +21,7 @@ package mx.utils
>> {
>> 
>> import flash.system.Capabilities;
>> -import flash.utils.getDefinitionByName;
>> +import org.apache.flex.reflection.getDefinitionByName;
>> 
>> /**
>>  *  The Platform utility class contains several static methods to check
>> what
>> 
>> 
>> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a23bd593/frameworks/projects/MX/src/main/resources/compile-asjs-config.xml
>> ----------------------------------------------------------------------
>> diff --git
>> a/frameworks/projects/MX/src/main/resources/compile-asjs-config.xml
>> b/frameworks/projects/MX/src/main/resources/compile-asjs-config.xml
>> index 57a36d3..63e54ff 100644
>> --- a/frameworks/projects/MX/src/main/resources/compile-asjs-config.xml
>> +++ b/frameworks/projects/MX/src/main/resources/compile-asjs-config.xml
>> @@ -30,7 +30,7 @@
>> 
>> <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event>
>> 
>> <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind>
>> 
>> <binding-value-change-event-type>valueChange</binding-value-change-event-type>
>> -
>> +        <allow-subclass-overrides>true</allow-subclass-overrides>
>>         <keep-as3-metadata>
>>           <name>Bindable</name>
>>           <name>Managed</name>
>> @@ -49,6 +49,8 @@
>>             <path-element>../../../../../externs/Core.swc</path-element>
>> 
>> <path-element>../../../../../externs/Graphics.swc</path-element>
>> 
>> <path-element>../../../../../externs/Collections.swc</path-element>
>> +
>> <path-element>../../../../../externs/Reflection.swc</path-element>
>> +            <path-element>../../../../../externs/HTML.swc</path-element>
>>         </library-path>
>> 
>>         <namespaces>
>> 
>> 

Reply via email to