flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aha...@apache.org
Subject [37/37] git commit: [flex-asjs] [refs/heads/spark] - under 100 errors
Date Thu, 24 Mar 2016 19:59:58 GMT
under 100 errors


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 <aharui@apache.org>
Authored: Thu Mar 24 12:59:08 2016 -0700
Committer: Alex Harui <aharui@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>


Mime
View raw message