Flex4 flash builder保留MXML转换的AS代码
项目->属性->Flex编译器 | 附加的编译参数 加上 -keep
生成的Test005-interface.as文件:
package { import flash.accessibility.*; import flash.debugger.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import mx.binding.*; import mx.core.ClassFactory; import mx.core.DeferredInstanceFromClass; import mx.core.DeferredInstanceFromFunction; import mx.core.IDeferredInstance; import mx.core.IFactory; import mx.core.IFlexModuleFactory; import mx.core.IPropertyChangeNotifier; import mx.core.mx_internal; import mx.filters.*; import mx.styles.*; import spark.components.Application; import spark.components.Label; import spark.components.Application; import mx.controls.DateField; import mx.controls.Tree; import mx.collections.ArrayList; import spark.components.gridClasses.GridColumn; import Object; import spark.components.DataGrid; import spark.components.Button; public class Test005 extends spark.components.Application { public function Test005() {} mx_internal var _bindings : Array; mx_internal var _watchers : Array; mx_internal var _bindingsByDestination : Object; mx_internal var _bindingsBeginWithWord : Object; }}
生成的Test005-generated.as文件:
/** * Generated by mxmlc 4.0 * * Package: * Class: Test005 * Source: D:\Thinkpad\adobeTraining\f4dria\_ws\TestFlex4\src\Test005.mxml * Template: flex2/compiler/mxml/gen/ClassDef.vm * Time: 2015.11.26 09:32:15 CST */ package { import flash.accessibility.*; import flash.debugger.*; import flash.display.*; import flash.errors.*; import flash.events.*; import flash.external.*; import flash.geom.*; import flash.media.*; import flash.net.*; import flash.printing.*; import flash.profiler.*; import flash.system.*; import flash.text.*; import flash.ui.*; import flash.utils.*; import flash.xml.*; import mx.binding.*; import mx.collections.ArrayList; import mx.controls.DateField; import mx.controls.Tree; import mx.core.ClassFactory; import mx.core.DeferredInstanceFromClass; import mx.core.DeferredInstanceFromFunction; import mx.core.IDeferredInstance; import mx.core.IFactory; import mx.core.IFlexModuleFactory; import mx.core.IPropertyChangeNotifier; import mx.core.mx_internal; import mx.filters.*; import mx.styles.*; import spark.components.Application; import spark.components.Button; import spark.components.DataGrid; import spark.components.Label; import spark.components.gridClasses.GridColumn; [Frame(extraClass="_Test005_FlexInit")] [Frame(factoryClass="_Test005_mx_managers_SystemManager")] // begin class def public class Test005 extends spark.components.Application { // instance variables // type-import dummies // constructor (Flex display object) /** * @private **/ public function Test005() { super(); mx_internal::_document = this; // layer initializers // properties this.mxmlContentFactory = new mx.core.DeferredInstanceFromFunction(_Test005_Array1_c); // events } /** * @private **/ private var __moduleFactoryInitialized:Boolean = false; /** * @private * Override the module factory so we can defer setting style declarations * until a module factory is set. Without the correct module factory set * the style declaration will end up in the wrong style manager. **/ override public function set moduleFactory(factory:IFlexModuleFactory):void { super.moduleFactory = factory; if (__moduleFactoryInitialized) return; __moduleFactoryInitialized = true; // our style settings // ambient styles mx_internal::_Test005_StylesInit(); } // initialize() /** * @private **/ override public function initialize():void { super.initialize(); } // scripts // end scripts // supporting function definitions for properties, events, styles, effects private function _Test005_Array1_c() : Array { var temp : Array = [_Test005_Button1_c(), _Test005_Label1_c(), _Test005_DataGrid1_c(), _Test005_DateField1_c(), _Test005_Tree1_c()]; return temp; } private function _Test005_Button1_c() : spark.components.Button { var temp : spark.components.Button = new spark.components.Button(); temp.x = 122; temp.y = 94; temp.label = "按钮"; if (!temp.document) temp.document = this; return temp; } private function _Test005_Label1_c() : spark.components.Label { var temp : spark.components.Label = new spark.components.Label(); temp.x = 122; temp.y = 149; temp.text = "标签"; if (!temp.document) temp.document = this; return temp; } private function _Test005_DataGrid1_c() : spark.components.DataGrid { var temp : spark.components.DataGrid = new spark.components.DataGrid(); temp.x = 245; temp.y = 94; temp.requestedRowCount = 4; temp.columns = _Test005_ArrayList1_c(); temp.typicalItem = {dataField1: "示例数据", dataField2: "示例数据", dataField3: "示例数据"}; temp.dataProvider = _Test005_ArrayList2_c(); if (!temp.document) temp.document = this; return temp; } private function _Test005_ArrayList1_c() : mx.collections.ArrayList { var temp : mx.collections.ArrayList = new mx.collections.ArrayList(); temp.source = [_Test005_GridColumn1_c(), _Test005_GridColumn2_c(), _Test005_GridColumn3_c()]; return temp; } private function _Test005_GridColumn1_c() : spark.components.gridClasses.GridColumn { var temp : spark.components.gridClasses.GridColumn = new spark.components.gridClasses.GridColumn(); temp.dataField = "dataField1"; temp.headerText = "列 1"; return temp; } private function _Test005_GridColumn2_c() : spark.components.gridClasses.GridColumn { var temp : spark.components.gridClasses.GridColumn = new spark.components.gridClasses.GridColumn(); temp.dataField = "dataField2"; temp.headerText = "列 2"; return temp; } private function _Test005_GridColumn3_c() : spark.components.gridClasses.GridColumn { var temp : spark.components.gridClasses.GridColumn = new spark.components.gridClasses.GridColumn(); temp.dataField = "dataField3"; temp.headerText = "列 3"; return temp; } private function _Test005_ArrayList2_c() : mx.collections.ArrayList { var temp : mx.collections.ArrayList = new mx.collections.ArrayList(); temp.source = [{dataField1: "数据1", dataField2: "数据1", dataField3: "数据1"}, {dataField1: "数据2", dataField2: "数据2", dataField3: "数据2"}, {dataField1: "数据3", dataField2: "数据3", dataField3: "数据3"}, {dataField1: "数据4", dataField2: "数据4", dataField3: "数据4"}]; return temp; } private function _Test005_DateField1_c() : mx.controls.DateField { var temp : mx.controls.DateField = new mx.controls.DateField(); temp.x = 245; temp.y = 231; if (!temp.document) temp.document = this; return temp; } private function _Test005_Tree1_c() : mx.controls.Tree { var temp : mx.controls.Tree = new mx.controls.Tree(); temp.x = 490; temp.y = 94; if (!temp.document) temp.document = this; return temp; } // initialize style defs for Test005 mx_internal var _Test005_StylesInit_done:Boolean = false; mx_internal function _Test005_StylesInit():void { // only add our style defs to the style manager once if (mx_internal::_Test005_StylesInit_done) return; else mx_internal::_Test005_StylesInit_done = true; var style:CSSStyleDeclaration; var effects:Array; var conditions:Array; var condition:CSSCondition; var selector:CSSSelector; styleManager.initProtoChainRoots(); } // embed carrier vars // end embed carrier vars // end class def } // end package def }