You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2016/12/05 18:16:33 UTC

[1/3] git commit: [flex-asjs] [refs/heads/develop] - add Basic to Maven build

Repository: flex-asjs
Updated Branches:
  refs/heads/develop 3bdf7d725 -> 0e4da5642


add Basic to Maven build


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/0e4da564
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/0e4da564
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/0e4da564

Branch: refs/heads/develop
Commit: 0e4da56420c123770e90fca2de99bdb68b877a78
Parents: a4edb4e
Author: Alex Harui <ah...@apache.org>
Authored: Mon Dec 5 10:15:40 2016 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Dec 5 10:16:23 2016 -0800

----------------------------------------------------------------------
 frameworks/projects/Basic/pom.xml | 1 +
 frameworks/projects/Core/pom.xml  | 1 +
 frameworks/projects/pom.xml       | 1 +
 3 files changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/0e4da564/frameworks/projects/Basic/pom.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/pom.xml b/frameworks/projects/Basic/pom.xml
index 0263e38..403e2d8 100644
--- a/frameworks/projects/Basic/pom.xml
+++ b/frameworks/projects/Basic/pom.xml
@@ -65,6 +65,7 @@
               <path>../src/main/resources/defaults.css</path>
             </include-file>
           </includeFiles>
+          <allowSubclassOverrides>true</allowSubclassOverrides>
         </configuration>
       </plugin>
     </plugins>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/0e4da564/frameworks/projects/Core/pom.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/pom.xml b/frameworks/projects/Core/pom.xml
index 16797fc..bce8743 100644
--- a/frameworks/projects/Core/pom.xml
+++ b/frameworks/projects/Core/pom.xml
@@ -51,6 +51,7 @@
             <includeClass>CoreClasses</includeClass>
           </includeClasses>
           <skipExtern>false</skipExtern>
+          <allowSubclassOverrides>true</allowSubclassOverrides>
         </configuration>
       </plugin>
     </plugins>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/0e4da564/frameworks/projects/pom.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/pom.xml b/frameworks/projects/pom.xml
index 653e34a..af086cb 100644
--- a/frameworks/projects/pom.xml
+++ b/frameworks/projects/pom.xml
@@ -44,6 +44,7 @@
     <module>Formatters</module>
     <module>GoogleMaps</module>
     <module>Graphics</module>
+    <module>Basic</module>
     <module>HTML</module>
     <module>HTML5</module>
     <module>JQuery</module>


[2/3] git commit: [flex-asjs] [refs/heads/develop] - revert override of clone because HTML that would force everyone to turn on swfoverride which we may do some day, but not now. But it did seem to work

Posted by ah...@apache.org.
revert override of clone because HTML that would force everyone to turn on swfoverride which we may do some day, but not now.  But it did seem to work


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a4edb4e3
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a4edb4e3
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a4edb4e3

Branch: refs/heads/develop
Commit: a4edb4e32ef4926847c82e657d635a73a5ef243d
Parents: aa7d375
Author: Alex Harui <ah...@apache.org>
Authored: Mon Dec 5 09:10:59 2016 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Dec 5 10:16:23 2016 -0800

----------------------------------------------------------------------
 .../flex/org/apache/flex/events/ItemAddedEvent.as |  2 +-
 .../org/apache/flex/events/ItemClickedEvent.as    |  2 +-
 .../org/apache/flex/events/ItemRemovedEvent.as    |  2 +-
 .../org/apache/flex/events/ItemRendererEvent.as   |  2 +-
 .../flex/org/apache/flex/core/ElementWrapper.as   |  2 +-
 .../src/main/flex/org/apache/flex/events/Event.as | 18 +++++++++++++++---
 .../flex/org/apache/flex/events/IFlexJSEvent.as   |  3 +--
 .../flex/org/apache/flex/events/MouseEvent.as     | 18 +++++++++++++++---
 8 files changed, 36 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
index 794deb1..b91e5c0 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
@@ -78,7 +78,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function clone():IFlexJSEvent
+		override public function cloneEvent():IFlexJSEvent
 		{
 			var newEvent:ItemAddedEvent = new ItemAddedEvent(type);
 			newEvent.item = item;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
index 4e4d7db..f81a215 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
@@ -103,7 +103,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function clone():IFlexJSEvent
+		override public function cloneEvent():IFlexJSEvent
 		{
 			var newEvent:ItemClickedEvent = new ItemClickedEvent(type);
 			newEvent.index = index;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
index 9c109c8..30499de 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
@@ -78,7 +78,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function clone():IFlexJSEvent
+		override public function cloneEvent():IFlexJSEvent
 		{
 			var newEvent:ItemRemovedEvent = new ItemRemovedEvent(type);
 			newEvent.item = item;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
index aa5faf8..f1e35b4 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
@@ -80,7 +80,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function clone():IFlexJSEvent
+		override public function cloneEvent():IFlexJSEvent
 		{
 			var newEvent:ItemRendererEvent = new ItemRendererEvent(type);
 			newEvent.itemRenderer = itemRenderer;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
index 52abc8b..dea4088 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
@@ -161,7 +161,7 @@ package org.apache.flex.core
         private function forwarder(event:flash.events.Event):void
         {
             if (event is IFlexJSEvent)
-                event = IFlexJSEvent(event).clone() as flash.events.Event;
+                event = IFlexJSEvent(event).cloneEvent() as flash.events.Event;
             dispatchEvent(event);
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
index 77525d0..00f01e4 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
@@ -83,8 +83,20 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-        [SWFOverride(returns="flash.events.Event")]
-		public override function clone():IFlexJSEvent
+		public override function clone():flash.events.Event
+		{
+			return cloneEvent() as flash.events.Event;
+		}
+
+		/**
+		 * Create a copy/clone of the Event object.
+		 *
+		 * @langversion 3.0
+		 * @playerversion Flash 10.2
+		 * @playerversion AIR 2.6
+		 * @productversion FlexJS 0.0
+		 */
+		public function cloneEvent():IFlexJSEvent
 		{
 			return new org.apache.flex.events.Event(type, bubbles, cancelable);
 		}
@@ -149,7 +161,7 @@ package org.apache.flex.events
 			throw new Error("stopImmediatePropagation");
 		}
 		
-		public function clone():IFlexJSEvent
+		public function cloneEvent():IFlexJSEvent
 		{
 			return new org.apache.flex.events.Event(type, bubbles, cancelable);
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
index adf6ed3..f230477 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
@@ -43,7 +43,6 @@ package org.apache.flex.events
 		 * @playerversion AIR 2.6
 		 * @productversion FlexJS 0.0
 		 */
-        [SWFOverride(returns="flash.events.Event")]
-		function clone():IFlexJSEvent;
+		function cloneEvent():IFlexJSEvent;
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a4edb4e3/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
index 70b4968..c135eb0 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
@@ -143,8 +143,20 @@ package org.apache.flex.events
         /**
          * @private
          */
-        [SWFOverride(returns="flash.events.Event")]
-        public override function clone():IFlexJSEvent
+        public override function clone():flash.events.Event
+        {
+            return cloneEvent() as flash.events.Event;
+        }
+        
+        /**
+         * Create a copy/clone of the Event object.
+         *
+         * @langversion 3.0
+         * @playerversion Flash 10.2
+         * @playerversion AIR 2.6
+         * @productversion FlexJS 0.0
+         */
+        public function cloneEvent():IFlexJSEvent
         {
             var e:org.apache.flex.events.MouseEvent = new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
                 localX, localY, relatedObject, ctrlKey, altKey, shiftKey,
@@ -418,7 +430,7 @@ package org.apache.flex.events
          * @playerversion AIR 2.6
          * @productversion FlexJS 0.0
          */
-        override public function clone():IFlexJSEvent
+        override public function cloneEvent():IFlexJSEvent
         {
             return new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
                 localX, localY, relatedObject, ctrlKey, altKey, shiftKey,


[3/3] git commit: [flex-asjs] [refs/heads/develop] - leverage SWFOverride and get Basic to build

Posted by ah...@apache.org.
leverage SWFOverride and get Basic to build


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/aa7d3757
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/aa7d3757
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/aa7d3757

Branch: refs/heads/develop
Commit: aa7d3757a480561c3c45ffa7aa2efcd3caec0268
Parents: 3bdf7d7
Author: Alex Harui <ah...@apache.org>
Authored: Sun Dec 4 23:29:15 2016 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Dec 5 10:16:23 2016 -0800

----------------------------------------------------------------------
 frameworks/build.xml                            |  1 +
 frameworks/projects/Basic/build.xml             |  2 +-
 .../Basic/src/main/config/compile-as-config.xml |  3 +++
 .../flex/org/apache/flex/core/Application.as    | 19 ++++++++++++++++---
 .../main/flex/org/apache/flex/core/UIBase.as    | 20 +++++++++++++++++++-
 .../flex/org/apache/flex/core/UIButtonBase.as   |  7 ++++++-
 .../org/apache/flex/events/ItemAddedEvent.as    |  2 +-
 .../org/apache/flex/events/ItemClickedEvent.as  |  2 +-
 .../org/apache/flex/events/ItemRemovedEvent.as  |  2 +-
 .../org/apache/flex/events/ItemRendererEvent.as |  2 +-
 .../apache/flex/html/beads/ImageButtonView.as   |  5 +++--
 .../supportClasses/TextFieldItemRenderer.as     | 19 ++++++++++++-------
 .../projects/Basic/src/test/flex/build.xml      |  1 +
 .../Core/src/main/config/compile-as-config.xml  |  3 +++
 .../flex/org/apache/flex/core/ElementWrapper.as |  2 +-
 .../main/flex/org/apache/flex/core/IChild.as    |  1 +
 .../main/flex/org/apache/flex/events/Event.as   | 18 +++---------------
 .../flex/org/apache/flex/events/IFlexJSEvent.as |  3 ++-
 .../flex/org/apache/flex/events/MouseEvent.as   | 18 +++---------------
 .../flex/utils/ViewSourceContextMenuOption.as   |  4 ++--
 20 files changed, 81 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index ec91826..4d346ff 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -82,6 +82,7 @@
         <antcall target="Binding"/>
         <antcall target="Collections"/>
         <antcall target="Effects"/>
+        <antcall target="Basic"/>
         <antcall target="HTML"/>
         <antcall target="Flat"/>
         <antcall target="Charts"/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/build.xml b/frameworks/projects/Basic/build.xml
index f7e42a5..7b7fc3c 100644
--- a/frameworks/projects/Basic/build.xml
+++ b/frameworks/projects/Basic/build.xml
@@ -84,7 +84,7 @@
             <arg value="-define=COMPILE::SWF,true" />
             <arg value="-define=COMPILE::JS,false" />
         </compc>
-        <copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />
+        <!--<copy file="${basedir}/target/${target.name}" tofile="${FLEXJS_HOME}/frameworks/libs/${target.name}" />-->
     </target>
     
     <target name="check-compiler" depends="check-falcon-home">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/config/compile-as-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/config/compile-as-config.xml b/frameworks/projects/Basic/src/main/config/compile-as-config.xml
index d24005b..1f92c15 100644
--- a/frameworks/projects/Basic/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Basic/src/main/config/compile-as-config.xml
@@ -30,6 +30,8 @@
             <path-element>../../../../../libs/Effects.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+        
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -43,6 +45,7 @@
           <name>ChangeEvent</name>
           <name>NonCommittingChangeEvent</name>
           <name>Transient</name>
+          <name>SWFOverride</name>
         </keep-as3-metadata>
 	  
         <locale/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
index 81c2855..2c74a9e 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/Application.as
@@ -103,7 +103,7 @@ package org.apache.flex.core
      *  @playerversion AIR 2.6
      *  @productversion FlexJS 0.0
      */
-    public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher
+    public class Application extends ApplicationBase implements IStrand, IParent, IEventDispatcher, IInitialViewApplication
     {
         /**
          *  Constructor.
@@ -227,6 +227,7 @@ package org.apache.flex.core
             ValuesManager.valuesImpl.init(this);
         }
 
+        private var _initialView:IApplicationView;
         /**
          *  The initial view.
          *
@@ -237,8 +238,14 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        [Bindable("__NoChangeEvent__")]
-        public var initialView:IApplicationView;
+        public function get initialView():IApplicationView
+        {
+            return _initialView;
+        }
+        public function set initialView(value:IApplicationView):void
+        {
+            _initialView = value;
+        }
 
         /**
          *  The data model (for the initial view).
@@ -643,5 +650,11 @@ package org.apache.flex.core
 			}
 			dispatchEvent(new org.apache.flex.events.Event("applicationComplete"));
 		}
+        
+        COMPILE::SWF
+        public function get $displayObject():DisplayObject
+        {
+            return this;
+        }
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
index 5cab77d..842ec95 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIBase.as
@@ -1492,7 +1492,6 @@ package org.apache.flex.core
         };
 
         /**
-         * @param value The event containing new style properties.
          * @flexjsignorecoercion org.apache.flex.core.WrappedHTMLElement
          * @flexjsignorecoercion org.apache.flex.core.IParent
          */
@@ -1504,6 +1503,15 @@ package org.apache.flex.core
             return wrapper;
         }
         
+        COMPILE::SWF
+        {
+        [SWFOverride(returns="flash.display.DisplayObjectContainer")]
+        override public function get parent():IParent
+        {
+            return super.parent as IParent;
+        }
+        }
+        
 		COMPILE::SWF
 		public function get transformElement():IFlexJSElement
 		{
@@ -1515,5 +1523,15 @@ package org.apache.flex.core
 		{
 			return element;
 		}
+        
+        COMPILE::SWF
+        {
+        [SWFOverride(params="flash.events.Event")]
+        override public function dispatchEvent(event:org.apache.flex.events.Event):Boolean
+        {
+            return super.dispatchEvent(event);
+        }
+        }
+
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
index d9615f1..de37c99 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/core/UIButtonBase.as
@@ -76,7 +76,12 @@ package org.apache.flex.core
             MouseEventConverter.setupInstanceConverters(this);
 		}
 
-        COMPILE::SWF
+        [SWFOverride(returns="flash.display.DisplayObjectContainer")]
+        override public function get parent():IParent
+        {
+            return super.parent as IParent;
+        }
+        
         public function get $displayObject():DisplayObject
         {
             return this;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
index a6ae756..794deb1 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemAddedEvent.as
@@ -78,7 +78,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function cloneEvent():org.apache.flex.events.Event
+		override public function clone():IFlexJSEvent
 		{
 			var newEvent:ItemAddedEvent = new ItemAddedEvent(type);
 			newEvent.item = item;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
index febc798..4e4d7db 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemClickedEvent.as
@@ -103,7 +103,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function cloneEvent():org.apache.flex.events.Event
+		override public function clone():IFlexJSEvent
 		{
 			var newEvent:ItemClickedEvent = new ItemClickedEvent(type);
 			newEvent.index = index;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
index 313f3f9..9c109c8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRemovedEvent.as
@@ -78,7 +78,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function cloneEvent():org.apache.flex.events.Event
+		override public function clone():IFlexJSEvent
 		{
 			var newEvent:ItemRemovedEvent = new ItemRemovedEvent(type);
 			newEvent.item = item;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
index f4044a4..aa5faf8 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/events/ItemRendererEvent.as
@@ -80,7 +80,7 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		override public function cloneEvent():org.apache.flex.events.Event
+		override public function clone():IFlexJSEvent
 		{
 			var newEvent:ItemRendererEvent = new ItemRendererEvent(type);
 			newEvent.itemRenderer = itemRenderer;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
index 21f34ca..9e1ebdf 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/beads/ImageButtonView.as
@@ -36,6 +36,7 @@ COMPILE::SWF {
 	import org.apache.flex.core.IStrand;
     import org.apache.flex.core.ValuesManager;
     import org.apache.flex.events.Event;
+    import org.apache.flex.events.IEventDispatcher;
 
 	/**
 	 *  The ImageButtonView class provides an image-only view
@@ -125,7 +126,7 @@ COMPILE::SWF {
                     {
                         host.setWidth(loader.content.width);
                         if (host.parent)
-                            host.parent.dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                            (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
                     }
                     else
                         loader.content.width = host.width;
@@ -134,7 +135,7 @@ COMPILE::SWF {
                     {
                         host.setHeight(loader.content.height);
                         if (host.parent)
-                            host.parent.dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
+                            (host.parent as IEventDispatcher).dispatchEvent(new org.apache.flex.events.Event("layoutNeeded"));
                     }
                     else
                         loader.content.height = host.height;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
index f370476..bcada9c 100644
--- a/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
+++ b/frameworks/projects/Basic/src/main/flex/org/apache/flex/html/supportClasses/TextFieldItemRenderer.as
@@ -25,6 +25,7 @@ package org.apache.flex.html.supportClasses
     import org.apache.flex.core.IBead;
     import org.apache.flex.core.IBeadController;
     import org.apache.flex.core.IFlexJSElement;
+    import org.apache.flex.core.IParent;
     import org.apache.flex.core.IStrand;
     import org.apache.flex.core.IUIBase;
     import org.apache.flex.core.UIBase;
@@ -35,7 +36,7 @@ package org.apache.flex.html.supportClasses
     import org.apache.flex.events.utils.MouseEventConverter;
     import org.apache.flex.geom.Rectangle;
     import org.apache.flex.html.beads.ITextItemRenderer;
-	import org.apache.flex.utils.CSSContainerUtils;
+    import org.apache.flex.utils.CSSContainerUtils;
 	
 	/**
 	 *  The TextFieldItemRenderer class provides a org.apache.flex.html.TextField as an itemRenderer.
@@ -70,12 +71,6 @@ package org.apache.flex.html.supportClasses
 		
 		private var _explicitWidth:Number;
 		
-        COMPILE::SWF
-        public function get $displayObject():DisplayObject
-        {
-            return this;
-        }
-        
         public function get flexjs_wrapper():Object
         {
             return this;
@@ -571,6 +566,16 @@ package org.apache.flex.html.supportClasses
                 return null;
             return IUIBase(parent).topMostEventDispatcher;
         }
+        
+        
+        COMPILE::SWF
+        {
+        [SWFOverride(returns="flash.display.DisplayObjectContainer")]
+        override public function get parent():IParent
+        {
+            return super.parent as IParent;
+        }
+        }
 
     }
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Basic/src/test/flex/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Basic/src/test/flex/build.xml b/frameworks/projects/Basic/src/test/flex/build.xml
index 97f973e..ecb6f36 100644
--- a/frameworks/projects/Basic/src/test/flex/build.xml
+++ b/frameworks/projects/Basic/src/test/flex/build.xml
@@ -120,6 +120,7 @@
             <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
             <arg value="-debug" />
             <arg value="-compiler.mxml.children-as-data" />
+            <arg value="-compiler.allow-subclass-overrides" />
             <arg value="-compiler.binding-value-change-event=org.apache.flex.events.ValueChangeEvent" />
             <arg value="-compiler.binding-value-change-event-kind=org.apache.flex.events.ValueChangeEvent" />
             <arg value="-compiler.binding-value-change-event-type=valueChange" />

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/config/compile-as-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/config/compile-as-config.xml b/frameworks/projects/Core/src/main/config/compile-as-config.xml
index dec155b..d3070d7 100644
--- a/frameworks/projects/Core/src/main/config/compile-as-config.xml
+++ b/frameworks/projects/Core/src/main/config/compile-as-config.xml
@@ -25,6 +25,8 @@
             <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element>
         </external-library-path>
         
+        <allow-subclass-overrides>true</allow-subclass-overrides>
+        
 		<mxml>
 			<children-as-data>true</children-as-data>
 		</mxml>
@@ -38,6 +40,7 @@
           <name>ChangeEvent</name>
           <name>NonCommittingChangeEvent</name>
           <name>Transient</name>
+          <name>SWFOverride</name>
         </keep-as3-metadata>
 	  
         <locale/>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
index dea4088..52abc8b 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/core/ElementWrapper.as
@@ -161,7 +161,7 @@ package org.apache.flex.core
         private function forwarder(event:flash.events.Event):void
         {
             if (event is IFlexJSEvent)
-                event = IFlexJSEvent(event).cloneEvent() as flash.events.Event;
+                event = IFlexJSEvent(event).clone() as flash.events.Event;
             dispatchEvent(event);
         }
     }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/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 a391a6e..366f28c 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
@@ -38,6 +38,7 @@ package org.apache.flex.core
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
+        [SWFOverride(returns="flash.display.DisplayObjectContainer")]
         function get parent():IParent;
         
         COMPILE::JS

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
index 00f01e4..77525d0 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/Event.as
@@ -83,20 +83,8 @@ package org.apache.flex.events
 		/**
 		 * @private
 		 */
-		public override function clone():flash.events.Event
-		{
-			return cloneEvent() as flash.events.Event;
-		}
-
-		/**
-		 * Create a copy/clone of the Event object.
-		 *
-		 * @langversion 3.0
-		 * @playerversion Flash 10.2
-		 * @playerversion AIR 2.6
-		 * @productversion FlexJS 0.0
-		 */
-		public function cloneEvent():IFlexJSEvent
+        [SWFOverride(returns="flash.events.Event")]
+		public override function clone():IFlexJSEvent
 		{
 			return new org.apache.flex.events.Event(type, bubbles, cancelable);
 		}
@@ -161,7 +149,7 @@ package org.apache.flex.events
 			throw new Error("stopImmediatePropagation");
 		}
 		
-		public function cloneEvent():IFlexJSEvent
+		public function clone():IFlexJSEvent
 		{
 			return new org.apache.flex.events.Event(type, bubbles, cancelable);
 		}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
index f230477..adf6ed3 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/IFlexJSEvent.as
@@ -43,6 +43,7 @@ package org.apache.flex.events
 		 * @playerversion AIR 2.6
 		 * @productversion FlexJS 0.0
 		 */
-		function cloneEvent():IFlexJSEvent;
+        [SWFOverride(returns="flash.events.Event")]
+		function clone():IFlexJSEvent;
 	}
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
index c135eb0..70b4968 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
@@ -143,20 +143,8 @@ package org.apache.flex.events
         /**
          * @private
          */
-        public override function clone():flash.events.Event
-        {
-            return cloneEvent() as flash.events.Event;
-        }
-        
-        /**
-         * Create a copy/clone of the Event object.
-         *
-         * @langversion 3.0
-         * @playerversion Flash 10.2
-         * @playerversion AIR 2.6
-         * @productversion FlexJS 0.0
-         */
-        public function cloneEvent():IFlexJSEvent
+        [SWFOverride(returns="flash.events.Event")]
+        public override function clone():IFlexJSEvent
         {
             var e:org.apache.flex.events.MouseEvent = new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
                 localX, localY, relatedObject, ctrlKey, altKey, shiftKey,
@@ -430,7 +418,7 @@ package org.apache.flex.events
          * @playerversion AIR 2.6
          * @productversion FlexJS 0.0
          */
-        override public function cloneEvent():IFlexJSEvent
+        override public function clone():IFlexJSEvent
         {
             return new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
                 localX, localY, relatedObject, ctrlKey, altKey, shiftKey,

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/aa7d3757/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as
index 5f4382d..0712b04 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/utils/ViewSourceContextMenuOption.as
@@ -29,7 +29,7 @@ COMPILE::SWF
     import flash.ui.ContextMenuItem;
 }
 
-import org.apache.flex.core.UIHTMLElementWrapper;
+import org.apache.flex.core.IInitialViewApplication;
 import org.apache.flex.core.IBead;
 import org.apache.flex.core.IStrand;
 
@@ -74,7 +74,7 @@ public class ViewSourceContextMenuOption implements IBead
 		
         COMPILE::SWF
         {
-    		var menuHost:InteractiveObject = InteractiveObject(UIHTMLElementWrapper(value).$displayObject);
+    		var menuHost:InteractiveObject = InteractiveObject(IInitialViewApplication(value).$displayObject);
     		var cm:ContextMenu = ContextMenu(menuHost.contextMenu);
     		if (!cm)
     		{