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/03/28 19:52:21 UTC

[1/3] git commit: [flex-asjs] [refs/heads/spark] - test app

Repository: flex-asjs
Updated Branches:
  refs/heads/spark b173bdce0 -> ad95c1e80


test app


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

Branch: refs/heads/spark
Commit: 463fae8bc74690f2010aa7587e40133e2bbfa2ae
Parents: b173bdc
Author: Alex Harui <ah...@apache.org>
Authored: Mon Mar 28 10:35:54 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Mar 28 10:35:54 2016 -0700

----------------------------------------------------------------------
 frameworks/projects/MX/src/test/flex/build.xml  | 229 +++++++++++++++++++
 .../MX/src/test/flex/src/TestCompile.mxml       |  44 ++++
 2 files changed, 273 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/463fae8b/frameworks/projects/MX/src/test/flex/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/test/flex/build.xml b/frameworks/projects/MX/src/test/flex/build.xml
new file mode 100644
index 0000000..7395390
--- /dev/null
+++ b/frameworks/projects/MX/src/test/flex/build.xml
@@ -0,0 +1,229 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+
+
+<project name="MX.test" default="main" basedir=".">
+    <property name="FLEXJS_HOME" location="../../../../../.."/>
+    
+    <property file="${FLEXJS_HOME}/env.properties"/>
+    <property environment="env"/>
+    <property file="${FLEXJS_HOME}/build.properties"/>
+    <property name="FLEX_HOME" value="${env.FLEX_HOME}"/>
+    <property name="FALCON_HOME" value="${env.FALCON_HOME}"/>
+    <property name="target.name" value="MX-${release.version}.swc" />
+    
+	<condition property="browser" value="C:/Program Files/Internet Explorer/iexplore.exe">
+		<os family="windows"/>
+    </condition>
+    <condition property="browser" value="/Applications/Safari.app/Contents/MacOS/Safari">
+        <os family="mac"/>
+    </condition>
+	
+    <property name="report.dir" value="${basedir}/out" />
+    
+    <available file="${FLEXJS_HOME}/../flex-flexunit"
+        type="dir"
+        property="FLEXUNIT_HOME"
+        value="${FLEXJS_HOME}/../flex-flexunit" />
+    
+    <available file="${FLEXJS_HOME}/../flexunit"
+        type="dir"
+        property="FLEXUNIT_HOME"
+        value="${FLEXJS_HOME}/../flexunit" />
+	
+    <available file="${env.FLEXUNIT_HOME}"
+        type="dir"
+        property="FLEXUNIT_HOME"
+        value="${env.FLEXUNIT_HOME}"/>
+    
+    <available file="${FLEXUNIT_HOME}/FlexUnit4/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH1"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4/target/flexunit-4.3.0-20140410-as3_4.12.0.swc" />
+    <property name="FLEXUNIT_LIBPATH1" value="-library-path+=${FLEXUNIT_HOME}/flexunit" />
+        
+    <available file="${FLEXUNIT_HOME}/FlexUnit4CIListener/target"
+        type="dir"
+        property="FLEXUNIT_LIBPATH2"
+        value="-library-path+=${FLEXUNIT_HOME}/FlexUnit4CIListener/target" />
+    <property name="FLEXUNIT_LIBPATH2" value="-define=CONFIG::dummy,false" />
+        
+    <available file="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target"
+        type="dir"
+        property="FLEXUNIT_CLASSPATH"
+        value="${FLEXUNIT_HOME}/FlexUnit4AntTasks/target" />
+    <property name="FLEXUNIT_CLASSPATH" value="${FLEXUNIT_HOME}/flexunit" />
+
+    <condition property="GOOG_HOME" value="${env.GOOG_HOME}">
+        <and>
+            <not>
+                <isset property="GOOG_HOME" />
+            </not>
+            <available file="${env.GOOG_HOME}/closure/goog/base.js" type="file" />
+        </and>
+    </condition>
+
+    <condition property="GOOG_HOME" value="${FLEXJS_HOME}/js/lib/google/closure-library">
+        <and>
+            <not>
+                <isset property="GOOG_HOME" />
+            </not>
+            <available file="${FLEXJS_HOME}/js/lib/google/closure-library/closure/goog/base.js" type="file" />
+        </and>
+    </condition>
+
+
+    <target name="main" depends="clean,compile,test" description="Clean test of ${target.name}">
+    </target>
+
+    <target name="clean">
+        <delete failonerror="false">
+            <fileset dir="${basedir}">
+                <include name="FlexUnitFlexJSApplication.swf"/>
+            </fileset>
+        </delete>
+        <delete failonerror="false">
+            <fileset dir="${basedir}/bin">
+                <include name="**/**"/>
+            </fileset>
+        </delete>
+    </target>
+    
+    <path id="lib.path">
+      <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/>
+    </path>
+
+    <target name="compile" description="Compiles TestCompile.swf">
+        <echo message="Compiling TestCompile.swf"/>
+        <echo message="FLEXJS_HOME: ${FLEXJS_HOME}"/>
+        <echo message="FALCON_HOME: ${FALCON_HOME}"/>
+        <echo message="FLEXUNIT_HOME: ${FLEXUNIT_HOME}"/>
+
+        <!-- Load the <compc> task. We can't do this at the <project> level -->
+        <!-- because targets that run before flexTasks.jar gets built would fail. -->
+        <taskdef resource="flexTasks.tasks" classpathref="lib.path"/>
+        <!--
+            Link in the classes (and their dependencies) for the MXML tags
+            listed in this project's manifest.xml.
+            Also link the additional classes (and their dependencies)
+            listed in FlexJSUIClasses.as,
+            because these aren't referenced by the manifest classes.
+            Keep the standard metadata when compiling.
+            Include the appropriate CSS files and assets in the SWC.
+            Don't include any resources in the SWC.
+            Write a bundle list of referenced resource bundles
+            into the file bundles.properties in this directory.
+        -->
+        <mxmlc fork="true"
+            file="${basedir}/src/TestCompile.mxml"
+            output="${basedir}/src/TestCompile.swf">
+            <jvmarg line="${mxmlc.jvm.args}"/>
+            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="-debug" />
+            <arg value="-define=COMPILE::AS3,true" />
+            <arg value="-define=COMPILE::JS,false" />
+            <arg value="-define=COMPILE::LATER,false" />
+            <arg value="-define=CONFIG::performanceInstrumentation,false" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="-source-path+=${FLEXJS_HOME}/frameworks/projects/MX/src/main/flex" />
+            <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
+            <!-- need to figure out better way to find these -->
+            <arg value="-library-path+=${FLEXJS_HOME}/../flex-sdk/frameworks/locale/en_US" />
+            <arg value="${FLEXUNIT_LIBPATH1}" />
+            <arg value="${FLEXUNIT_LIBPATH2}" />
+        </mxmlc>
+    </target>
+
+    <target name="test">
+        <echo message="Compiling TestCompile.js"/>
+        <echo message="FLEXJS_HOME: ${FLEXJS_HOME}"/>
+        <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/>
+        <echo message="GOOG_HOME: ${GOOG_HOME}"/>
+        <property name="theme_arg" value="-define=CONFIG::theme,false" />
+        <property name="extlib_arg" value="-define=CONFIG::extlib,false" />
+        <property name="opt1_arg" value="-define=CONFIG::opt1,false" />
+        <property name="opt2_arg" value="-define=CONFIG::opt2,false" />
+        
+        <java jar="${FALCONJX_HOME}/lib/mxmlc.jar" resultProperty="errorCode"
+            fork="true">
+            <jvmarg line="${mxmlc.jvm.args}"/>
+            <jvmarg line="-Dflexlib=${FLEXJS_HOME}/frameworks}"/>
+            <arg value="+flexlib=${FLEXJS_HOME}/frameworks" />
+            <arg value="-debug" />
+            <arg value="${theme_arg}" />
+            <arg value="-compiler.mxml.children-as-data" />
+            <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" />
+            <arg value="+playerglobal.version=${playerglobal.version}" />
+            <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" />
+            <arg value="${extlib_arg}" />
+            <arg value="${opt1_arg}" />
+            <arg value="${opt2_arg}" />
+            <arg value="-library-path+=${FLEXJS_HOME}/frameworks/libs" />
+            <!-- need to figure out better way to find these -->
+            <arg value="-external-library-path+=${FLEXJS_HOME}/../flex-sdk/frameworks/locale/en_US" />
+            <arg value="-closure-lib=${GOOG_HOME}" />
+            <arg value="-js-output-type=FLEXJS" />
+            <arg value="-sdk-js-lib=${FLEXJS_HOME}/frameworks/js/FlexJS/libs" />
+            <arg value="${basedir}/src/TestCompile.mxml" />
+        </java>
+        <fail>
+            <condition>
+                <not>
+                    <or>
+                        <equals arg1="${errorCode}" arg2="0" />
+                        <equals arg1="${errorCode}" arg2="2" />
+                    </or>
+                </not>
+            </condition>
+        </fail>
+        <!--
+        <taskdef resource="flexUnitTasks.tasks">
+            <classpath>
+                <fileset dir="${FLEXUNIT_CLASSPATH}">
+                    <include name="flexUnitTasks*.jar" />
+                </fileset>
+            </classpath>
+        </taskdef>
+		<mkdir dir="${report.dir}" />
+		<flexunit
+            swf="${basedir}/FlexUnitFlexJSApplication.swf"
+		    workingDir="${basedir}"
+		    toDir="${report.dir}"
+			haltonfailure="false"
+			verbose="true"
+			localTrusted="true"
+			timeout="90000">
+            <source dir="${FLEXJS_HOME}/frameworks/projects/Core/src/main/flex" />
+            <library dir="${FLEXJS_HOME}/frameworks/libs" />
+        </flexunit>
+        -->
+		<!-- Generate readable JUnit-style reports
+		<junitreport todir="${report.dir}">
+			<fileset dir="${report.dir}">
+				<include name="TEST-*.xml" />
+			</fileset>
+			<report format="frames" todir="${report.dir}/html" />
+		</junitreport>
+         -->
+    </target>
+</project>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/463fae8b/frameworks/projects/MX/src/test/flex/src/TestCompile.mxml
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/test/flex/src/TestCompile.mxml b/frameworks/projects/MX/src/test/flex/src/TestCompile.mxml
new file mode 100644
index 0000000..6601e6c
--- /dev/null
+++ b/frameworks/projects/MX/src/test/flex/src/TestCompile.mxml
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:mx="library://ns.apache.org/flexjs/mx"
+				xmlns:js="library://ns.apache.org/flexjs/basic" 
+                   applicationComplete="runTests()"
+                   >
+    <fx:Script>
+        <![CDATA[
+			import org.apache.flex.core.IUIBase;
+            public function runTests() : void
+            {
+				var foo:Object = this as IUIBase;
+            }
+            
+        ]]>
+    </fx:Script>
+    <js:valuesImpl>
+        <js:SimpleValuesImpl />
+    </js:valuesImpl>
+	<js:initialView>
+		<js:ViewBase>
+			<mx:UIComponent />
+		</js:ViewBase>
+	</js:initialView>
+</js:Application>


[3/3] git commit: [flex-asjs] [refs/heads/spark] - integrate MX into build

Posted by ah...@apache.org.
integrate MX into 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/ad95c1e8
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/ad95c1e8
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/ad95c1e8

Branch: refs/heads/spark
Commit: ad95c1e809dc51a9b5be4c2902b93fd324405881
Parents: 3b3b837
Author: Alex Harui <ah...@apache.org>
Authored: Mon Mar 28 10:52:11 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Mar 28 10:52:11 2016 -0700

----------------------------------------------------------------------
 frameworks/build.xml                | 6 ++++++
 frameworks/flex-config-template.xml | 6 ++++++
 frameworks/flex-config.xml          | 6 ++++++
 3 files changed, 18 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad95c1e8/frameworks/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/build.xml b/frameworks/build.xml
index 8ba8f75..6afcd29 100644
--- a/frameworks/build.xml
+++ b/frameworks/build.xml
@@ -94,6 +94,7 @@
         <antcall target="Network"/>
         <antcall target="Reflection"/>
         <antcall target="Storage"/>
+        <antcall target="MX"/>
     </target>
     
     <target name="fonts">
@@ -135,6 +136,7 @@
         <ant dir="${basedir}/projects/HTML5" target="clean"/>
         <ant dir="${basedir}/projects/JQuery" target="clean"/>
         <ant dir="${basedir}/projects/Mobile" target="clean"/>
+        <ant dir="${basedir}/projects/MX" target="clean"/>
         <ant dir="${basedir}/projects/Network" target="clean"/>
         <ant dir="${basedir}/projects/Reflection" target="clean"/>
         <ant dir="${basedir}/projects/Storage" target="clean"/>
@@ -218,6 +220,10 @@
         <ant dir="${basedir}/projects/Mobile"/>
     </target>
 
+    <target name="MX" description="Clean build of MX">
+        <ant dir="${basedir}/projects/MX"/>
+    </target>
+
     <target name="Network" description="Clean build of Network.swc">
         <ant dir="${basedir}/projects/Network"/>
     </target>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad95c1e8/frameworks/flex-config-template.xml
----------------------------------------------------------------------
diff --git a/frameworks/flex-config-template.xml b/frameworks/flex-config-template.xml
index 8b8b0ba..4087162 100644
--- a/frameworks/flex-config-template.xml
+++ b/frameworks/flex-config-template.xml
@@ -208,6 +208,12 @@
           <manifest>projects/CreateJS/src/main/resources/createjs-manifest.xml</manifest>
           
       </namespace>
+      <namespace>
+          <uri>library://ns.apache.org/flexjs/mx</uri>
+          
+          <manifest>projects/MX/src/main/resources/mx-manifest.xml</manifest>
+          
+      </namespace>
       </namespaces>
 
       <!-- Enable post-link SWF optimization. -->

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/ad95c1e8/frameworks/flex-config.xml
----------------------------------------------------------------------
diff --git a/frameworks/flex-config.xml b/frameworks/flex-config.xml
index 97cddd8..8a810d1 100644
--- a/frameworks/flex-config.xml
+++ b/frameworks/flex-config.xml
@@ -208,6 +208,12 @@
           <manifest>projects/CreateJS/src/main/resources/createjs-manifest.xml</manifest>
           
       </namespace>
+      <namespace>
+          <uri>library://ns.apache.org/flexjs/mx</uri>
+          
+          <manifest>projects/MX/src/main/resources/mx-manifest.xml</manifest>
+          
+      </namespace>
       </namespaces>
 
       <!-- Enable post-link SWF optimization. -->


[2/3] git commit: [flex-asjs] [refs/heads/spark] - 0 errors in GCC (some warnings though)

Posted by ah...@apache.org.
0 errors in GCC (some warnings though)


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

Branch: refs/heads/spark
Commit: 3b3b8374ef9a1356a3f9ba738f957b3e9c3ac8ed
Parents: 463fae8
Author: Alex Harui <ah...@apache.org>
Authored: Mon Mar 28 10:37:03 2016 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Mar 28 10:37:03 2016 -0700

----------------------------------------------------------------------
 frameworks/projects/MX/build.xml                |  2 -
 .../src/main/flex/mx/core/UIComponentGlobals.as | 74 ++++++++++++++++++++
 .../src/main/flex/mx/effects/EffectManager.as   | 30 ++++----
 .../main/flex/mx/styles/CSSStyleDeclaration.as  |  2 +-
 .../src/main/flex/mx/styles/StyleProtoChain.as  |  5 +-
 .../flex/mx/utils/DescribeTypeCacheRecord.as    |  1 +
 .../MX/src/main/flex/mx/utils/ObjectUtil.as     |  8 ++-
 .../MX/src/main/resources/mx-manifest.xml       |  1 +
 8 files changed, 106 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/build.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/build.xml b/frameworks/projects/MX/build.xml
index 04521f7..003b7ee 100644
--- a/frameworks/projects/MX/build.xml
+++ b/frameworks/projects/MX/build.xml
@@ -37,9 +37,7 @@
     </target>
     
     <target name="test" unless="is.jenkins">
-        <!-- no tests yet
          <ant dir="src/test/flex"/>
-         -->
     </target>
     
     <target name="test-js" unless="is.jenkins">

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/flex/mx/core/UIComponentGlobals.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/flex/mx/core/UIComponentGlobals.as b/frameworks/projects/MX/src/main/flex/mx/core/UIComponentGlobals.as
index 45d62ed..5acc825 100644
--- a/frameworks/projects/MX/src/main/flex/mx/core/UIComponentGlobals.as
+++ b/frameworks/projects/MX/src/main/flex/mx/core/UIComponentGlobals.as
@@ -33,6 +33,8 @@ COMPILE::LATER
 	import flash.geom.Matrix;		
 }
 import mx.managers.ILayoutManager;
+import mx.managers.SystemManagerGlobals;
+import mx.managers.ISystemManager;
 
 use namespace mx_internal;
 
@@ -155,6 +157,78 @@ public class UIComponentGlobals
     {
         _catchCallLaterExceptions = value;
     }
+	
+	/**
+	 *  Blocks the background processing of methods
+	 *  queued by <code>callLater()</code>,
+	 *  until <code>resumeBackgroundProcessing()</code> is called.
+	 *
+	 *  <p>These methods can be useful when you have time-critical code
+	 *  which needs to execute without interruption.
+	 *  For example, when you set the <code>suspendBackgroundProcessing</code>
+	 *  property of an Effect to <code>true</code>,
+	 *  <code>suspendBackgroundProcessing()</code> is automatically called
+	 *  when it starts playing, and <code>resumeBackgroundProcessing</code>
+	 *  is called when it stops, in order to ensure that the animation
+	 *  is smooth.</p>
+	 *
+	 *  <p>Since the LayoutManager uses <code>callLater()</code>,
+	 *  this means that <code>commitProperties()</code>,
+	 *  <code>measure()</code>, and <code>updateDisplayList()</code>
+	 *  is not called in between calls to
+	 *  <code>suspendBackgroundProcessing()</code> and
+	 *  <code>resumeBackgroundProcessing()</code>.</p>
+	 *
+	 *  <p>It is safe for both an outer method and an inner method
+	 *  (i.e., one that the outer methods calls) to call
+	 *  <code>suspendBackgroundProcessing()</code>
+	 *  and <code>resumeBackgroundProcessing()</code>, because these
+	 *  methods actually increment and decrement a counter
+	 *  which determines whether background processing occurs.</p>
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function suspendBackgroundProcessing():void
+	{
+		UIComponentGlobals.callLaterSuspendCount++;
+	}
+	
+	/**
+	 *  Resumes the background processing of methods
+	 *  queued by <code>callLater()</code>, after a call to
+	 *  <code>suspendBackgroundProcessing()</code>.
+	 *
+	 *  <p>Refer to the description of
+	 *  <code>suspendBackgroundProcessing()</code> for more information.</p>
+	 *  
+	 *  @langversion 3.0
+	 *  @playerversion Flash 9
+	 *  @playerversion AIR 1.1
+	 *  @productversion Flex 3
+	 */
+	public static function resumeBackgroundProcessing():void
+	{
+		if (UIComponentGlobals.callLaterSuspendCount > 0)
+		{
+			UIComponentGlobals.callLaterSuspendCount--;
+			
+			// Once the suspend count gets back to 0, we need to
+			// force a render event to happen
+			if (UIComponentGlobals.callLaterSuspendCount == 0)
+			{
+				var sm:ISystemManager = SystemManagerGlobals.topLevelSystemManagers[0];
+				COMPILE::AS3
+				{
+					if (sm && sm.topOfDisplayList)
+						sm.topOfDisplayList.invalidate();
+				}
+			}
+		}
+	}
+
 }
 
 }

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/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 0cf1b66..8add486 100644
--- a/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
+++ b/frameworks/projects/MX/src/main/flex/mx/effects/EffectManager.as
@@ -47,6 +47,7 @@ import mx.core.IDeferredInstantiationUIComponent;
 import mx.core.IFlexDisplayObject;
 import mx.core.IUIComponent;
 import mx.core.UIComponent;
+import mx.core.UIComponentGlobals;
 import mx.core.mx_internal;
 import mx.events.EffectEvent;
 import mx.events.FlexEvent;
@@ -72,6 +73,7 @@ use namespace mx_internal;
  *  @playerversion Flash 9
  *  @playerversion AIR 1.1
  *  @productversion Flex 3
+ *  @flexjsignoreimport mx.core.UIComponent
  */
 public class EffectManager extends EventDispatcher
 {
@@ -314,7 +316,7 @@ public class EffectManager extends EventDispatcher
         }
         
         var effectClass:Class;      
-        if (target is UIComponent && target.moduleFactory)
+        if (target is IUIComponent && target.moduleFactory)
         {
 			COMPILE::LATER
 			{
@@ -604,6 +606,7 @@ public class EffectManager extends EventDispatcher
 
     /**
      *  @private
+	 *  @flexjsignorecoercion mx.core.UIComponent
      */
     mx_internal static function eventHandler(eventObj:Event):void
     {   
@@ -635,18 +638,19 @@ public class EffectManager extends EventDispatcher
             
         if (eventObj.type == UIBase.CHILD_REMOVED)
         {
-            if (eventObj.target is UIComponent)
+			var uic:UIComponent = eventObj.target as UIComponent;
+            if (uic)
             {
-                if (UIComponent(eventObj.target).initialized == false)
+                if (uic.initialized == false)
                 {
                     return;
                 }
-                else if (UIComponent(eventObj.target).isEffectStarted)
+                else if (uic.isEffectStarted)
                 {
-                    for (var i:int = 0; i < UIComponent(eventObj.target)._effectsStarted.length; i++)
+                    for (var i:int = 0; i < uic._effectsStarted.length; i++)
                     {
                         // Don't allow removedEffect to trigger more than one effect at a time
-                        if (UIComponent(eventObj.target)._effectsStarted[i].triggerEvent.type == UIBase.CHILD_REMOVED)
+                        if (uic._effectsStarted[i].triggerEvent.type == UIBase.CHILD_REMOVED)
                             return;
                     }
                 }
@@ -663,12 +667,12 @@ public class EffectManager extends EventDispatcher
                     var index:int = parent.getChildIndex(targ);
                     if (index >= 0)
                     {
-                        if (targ is UIComponent)    
+                        if (uic)    
                         {
                             // Since we get the "removed" event before the child is actually removed, 
                             // we need to delay adding back the child. We must exit the current 
                             // script block must exit before the child can be removed.
-                            UIComponent(targ).callLater(removedEffectHandler, [targ, parent, index, eventObj]);
+                            uic.callLater(removedEffectHandler, [targ, parent, index, eventObj]);
                         }
                     }
                 }
@@ -682,6 +686,7 @@ public class EffectManager extends EventDispatcher
     
     /**
      *  @private
+	 *  @flexjsignorecoercion mx.core.UIComponent
      */ 
     private static function createAndPlayEffect(eventObj:Event, target:Object):void
     {
@@ -757,8 +762,9 @@ public class EffectManager extends EventDispatcher
         // previously animating the same properties of my target object,
         // then finish the other effect before starting this new one.
         //
-        if (effectInst.target is UIComponent &&
-            UIComponent(effectInst.target).isEffectStarted)
+		var uic:UIComponent = effectInst.target as UIComponent;
+        if (uic &&
+            uic.isEffectStarted)
         {
             var affectedProps:Array = effectInst.getAffectedProperties();
             for (i = 0; i < affectedProps.length; i++)
@@ -834,7 +840,7 @@ public class EffectManager extends EventDispatcher
         // Block all layout, responses from web services, and other background
         // processing until the effect finishes executing.
         if (effectInst.suspendBackgroundProcessing)
-            UIComponent.suspendBackgroundProcessing();
+            UIComponentGlobals.suspendBackgroundProcessing();
     }
 
     /**
@@ -908,7 +914,7 @@ public class EffectManager extends EventDispatcher
 
         // Resume the background processing that was suspended earlier
         if (effectInst.suspendBackgroundProcessing)
-            UIComponent.resumeBackgroundProcessing();       
+            UIComponentGlobals.resumeBackgroundProcessing();       
     }
 
     //--------------------------------------------------------------------------

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/flex/mx/styles/CSSStyleDeclaration.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/flex/mx/styles/CSSStyleDeclaration.as b/frameworks/projects/MX/src/main/flex/mx/styles/CSSStyleDeclaration.as
index ada63a8..62e360c 100644
--- a/frameworks/projects/MX/src/main/flex/mx/styles/CSSStyleDeclaration.as
+++ b/frameworks/projects/MX/src/main/flex/mx/styles/CSSStyleDeclaration.as
@@ -829,7 +829,7 @@ public class CSSStyleDeclaration extends EventDispatcher
      */
     public function clearStyle(styleProp:String):void
     {
-        public::setStyle(styleProp, undefined);
+        setStyle(styleProp, undefined);
     }
 
     /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/flex/mx/styles/StyleProtoChain.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/flex/mx/styles/StyleProtoChain.as b/frameworks/projects/MX/src/main/flex/mx/styles/StyleProtoChain.as
index ed7db75..342e7ca 100644
--- a/frameworks/projects/MX/src/main/flex/mx/styles/StyleProtoChain.as
+++ b/frameworks/projects/MX/src/main/flex/mx/styles/StyleProtoChain.as
@@ -49,6 +49,7 @@ import mx.core.IFontContextComponent;
 import mx.core.IInvalidating;
 import mx.core.IUITextField;
 import mx.core.IVisualElement;
+import mx.core.IUIComponent;
 import mx.core.UIComponent;
 import mx.core.mx_internal;
 import mx.utils.NameUtil;
@@ -64,6 +65,7 @@ use namespace object_proxy;
  *  @private
  *  This is an all-static class with methods for building the protochains
  *  that Flex uses to look up CSS style properties.
+ *  @flexjsignoreimport mx.core.UIComponent
  */
 public class StyleProtoChain
 {
@@ -162,6 +164,7 @@ public class StyleProtoChain
      *  @private
      *  Implements the initProtoChain() logic for UIComponent and TextBase.
      *  The 'object' parameter will be one or the other.
+	 *  @flexjsignorecoercion mx.core.UIComponent
      */
     public static function initProtoChain(object:IStyleClient, inheritPopUpStylesFromOwner:Boolean=true):void
     {
@@ -778,7 +781,7 @@ public class StyleProtoChain
             styleProp == "styleName" ||
             styleProp == "themeColor")
         {
-        	if (object is UIComponent)
+        	if (object is IUIComponent)
                 object["initThemeColor"]();
         }
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/flex/mx/utils/DescribeTypeCacheRecord.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/flex/mx/utils/DescribeTypeCacheRecord.as b/frameworks/projects/MX/src/main/flex/mx/utils/DescribeTypeCacheRecord.as
index dc8f00f..5572500 100644
--- a/frameworks/projects/MX/src/main/flex/mx/utils/DescribeTypeCacheRecord.as
+++ b/frameworks/projects/MX/src/main/flex/mx/utils/DescribeTypeCacheRecord.as
@@ -35,6 +35,7 @@ use namespace flash_proxy;
  *  This class represents a single cache entry, this gets created
  *  as part of the <code>describeType</code> method call on the 
  *  <code>DescribeTypeCache</code>  class.
+ *  @flexjsignoreimport mx.utils.DescribeTypeCache
  */
 
 public dynamic class DescribeTypeCacheRecord extends Proxy

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/flex/mx/utils/ObjectUtil.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/flex/mx/utils/ObjectUtil.as b/frameworks/projects/MX/src/main/flex/mx/utils/ObjectUtil.as
index d210ab0..b38d635 100644
--- a/frameworks/projects/MX/src/main/flex/mx/utils/ObjectUtil.as
+++ b/frameworks/projects/MX/src/main/flex/mx/utils/ObjectUtil.as
@@ -793,11 +793,14 @@ public class ObjectUtil
         if (b == null)
             return -1;
            
+		COMPILE::LATER
+		{
         if (a is ObjectProxy)
             a = ObjectProxy(a).object_proxy::object;
             
         if (b is ObjectProxy)
             b = ObjectProxy(b).object_proxy::object;
+		}
             
         var typeOfA:String = typeof(a);
         var typeOfB:String = typeof(b);
@@ -1003,9 +1006,12 @@ public class ObjectUtil
         var n:int;
         var i:int;
 
+		COMPILE::LATER
+		{
         if (obj is ObjectProxy)
             obj = ObjectProxy(obj).object_proxy::object;
-
+		}
+		
         if (options == null)
             options = { includeReadOnly: true, uris: null, includeTransient: true };
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/3b3b8374/frameworks/projects/MX/src/main/resources/mx-manifest.xml
----------------------------------------------------------------------
diff --git a/frameworks/projects/MX/src/main/resources/mx-manifest.xml b/frameworks/projects/MX/src/main/resources/mx-manifest.xml
index a1c9fd5..21e0e8b 100644
--- a/frameworks/projects/MX/src/main/resources/mx-manifest.xml
+++ b/frameworks/projects/MX/src/main/resources/mx-manifest.xml
@@ -22,5 +22,6 @@
 <componentPackage>
 
     <!--<component id="Button" class="org.apache.flex.html.Button"/>-->
+    <component id="UIComponent" class="mx.core.UIComponent"/>
     
 </componentPackage>