I'm getting one failure in compiler.jx.tests in org.apache.flex.compiler.internal.codegen.mxml.flexjs.TestFlexJSMXMLApplica tion
Is it passing for others? -Alex On 11/12/13 3:05 AM, "erikdebr...@apache.org" <erikdebr...@apache.org> wrote: >Updated Branches: > refs/heads/develop 026a53c72 -> dc0c5fe49 > > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/files/MyInitialView_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/files/MyInitialView_result.js >b/compiler.jx.tests/test-files/flexjs/files/MyInitialView_result.js >index 2bebadd..5ef10ba 100644 >--- a/compiler.jx.tests/test-files/flexjs/files/MyInitialView_result.js >+++ b/compiler.jx.tests/test-files/flexjs/files/MyInitialView_result.js >@@ -21,157 +21,157 @@ goog.require('org.apache.flex.utils.Timer'); > * @extends {org.apache.flex.core.ViewBase} > */ > MyInitialView = function() { >- goog.base(this); >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.Label} >- */ >- this.lbl; >- >- /** >- * @private >- * @type {org.apache.flex.binding.SimpleBinding} >- */ >- this.$ID0; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextButton} >- */ >- this.$ID1; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextButton} >- */ >- this.$ID2; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.Label} >- */ >- this.timerLabel; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.List} >- */ >- this.cityList; >- >- /** >- * @private >- * @type {org.apache.flex.binding.ConstantBinding} >- */ >- this.$ID3; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextArea} >- */ >- this.$ID5; >- >- /** >- * @private >- * @type {org.apache.flex.binding.SimpleBinding} >- */ >- this.$ID4; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextInput} >- */ >- this.input; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextButton} >- */ >- this.$ID6; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.CheckBox} >- */ >- this.checkbox; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID7; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID8; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID9; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID10; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID11; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.RadioButton} >- */ >- this.$ID12; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.DropDownList} >- */ >- this.list; >- >- /** >- * @private >- * @type {org.apache.flex.binding.ConstantBinding} >- */ >- this.$ID13; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.TextButton} >- */ >- this.$ID14; >- >- /** >- * @private >- * @type {org.apache.flex.html.staticControls.ComboBox} >- */ >- this.comboBox; >- >- /** >- * @private >- * @type {org.apache.flex.binding.ConstantBinding} >- */ >- this.$ID15; >- >- /** >- * @private >- * @type {Array} >- */ >- this.mxmldd; >- >- /** >- * @private >- * @type {Array} >- */ >- this.mxmldp; >+ goog.base(this); >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.Label} >+ */ >+ this.lbl; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.binding.SimpleBinding} >+ */ >+ this.$ID0; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextButton} >+ */ >+ this.$ID1; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextButton} >+ */ >+ this.$ID2; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.Label} >+ */ >+ this.timerLabel; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.List} >+ */ >+ this.cityList; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.binding.ConstantBinding} >+ */ >+ this.$ID3; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextArea} >+ */ >+ this.$ID5; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.binding.SimpleBinding} >+ */ >+ this.$ID4; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextInput} >+ */ >+ this.input; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextButton} >+ */ >+ this.$ID6; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.CheckBox} >+ */ >+ this.checkbox; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID7; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID8; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID9; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID10; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID11; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.RadioButton} >+ */ >+ this.$ID12; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.DropDownList} >+ */ >+ this.list; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.binding.ConstantBinding} >+ */ >+ this.$ID13; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.TextButton} >+ */ >+ this.$ID14; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.html.staticControls.ComboBox} >+ */ >+ this.comboBox; >+ >+ /** >+ * @private >+ * @type {org.apache.flex.binding.ConstantBinding} >+ */ >+ this.$ID15; >+ >+ /** >+ * @private >+ * @type {Array} >+ */ >+ this.mxmldd; >+ >+ /** >+ * @private >+ * @type {Array} >+ */ >+ this.mxmldp; > }; > goog.inherits(MyInitialView, org.apache.flex.core.ViewBase); > >@@ -186,7 +186,7 @@ MyInitialView.prototype.timer; > * @return {string} > */ > MyInitialView.prototype.get_symbol = function() { >- return >org.apache.flex.utils.Language.as(this.get_list().get_selectedItem(), >String); >+ return >org.apache.flex.utils.Language.as(this.get_list().get_selectedItem(), >String); > }; > > /** >@@ -194,7 +194,7 @@ MyInitialView.prototype.get_symbol = function() { > * @return {string} > */ > MyInitialView.prototype.get_city = function() { >- return >org.apache.flex.utils.Language.as(this.get_cityList().get_selectedItem(), >String); >+ return >org.apache.flex.utils.Language.as(this.get_cityList().get_selectedItem(), >String); > }; > > /** >@@ -202,7 +202,7 @@ MyInitialView.prototype.get_city = function() { > * @return {string} > */ > MyInitialView.prototype.get_inputText = function() { >- return this.get_input().get_text(); >+ return this.get_input().get_text(); > }; > > /** >@@ -210,7 +210,7 @@ MyInitialView.prototype.get_inputText = function() { > * @return {string} > */ > MyInitialView.prototype.get_comboBoxValue = function() { >- return String(this.get_comboBox().get_selectedItem()); >+ return String(this.get_comboBox().get_selectedItem()); > }; > > /** >@@ -218,9 +218,9 @@ MyInitialView.prototype.get_comboBoxValue = >function() { > * @param {org.apache.flex.events.org.apache.flex.events.Event} event > */ > MyInitialView.prototype.startTimer = function(event) { >- this.timer = new org.apache.flex.utils.Timer(1000); >- this.timer.addEventListener('timer', goog.bind(this.timerHandler, >this)); >- this.timer.start(); >+ this.timer = new org.apache.flex.utils.Timer(1000); >+ this.timer.addEventListener('timer', goog.bind(this.timerHandler, >this)); >+ this.timer.start(); > }; > > /** >@@ -228,7 +228,7 @@ MyInitialView.prototype.startTimer = function(event) { > * @param {org.apache.flex.events.org.apache.flex.events.Event} event > */ > MyInitialView.prototype.timerHandler = function(event) { >- this.get_timerLabel().set_text(this.timer.get_currentCount().toString()) >; >+ >this.get_timerLabel().set_text(this.timer.get_currentCount().toString()); > }; > > /** >@@ -238,7 +238,7 @@ MyInitialView.prototype.timerHandler = >function(event) { > */ > MyInitialView.prototype.$EH0 = function(event) > { >- this.startTimer(event); >+ this.startTimer(event); > }; > > /** >@@ -248,8 +248,8 @@ MyInitialView.prototype.$EH0 = function(event) > */ > MyInitialView.prototype.$EH1 = function(event) > { >- this.timer.removeEventListener('timer', goog.bind(this.timerHandler, >this)); >- this.timer.stop(); >+ this.timer.removeEventListener('timer', goog.bind(this.timerHandler, >this)); >+ this.timer.stop(); > }; > > /** >@@ -259,7 +259,7 @@ MyInitialView.prototype.$EH1 = function(event) > */ > MyInitialView.prototype.$EH2 = function(event) > { >- this.dispatchEvent(new >org.apache.flex.events.CustomEvent('cityListChanged')); >+ this.dispatchEvent(new >org.apache.flex.events.CustomEvent('cityListChanged')); > }; > > /** >@@ -269,7 +269,7 @@ MyInitialView.prototype.$EH2 = function(event) > */ > MyInitialView.prototype.$EH3 = function(event) > { >- this.dispatchEvent(new >org.apache.flex.events.CustomEvent('transferClicked')); >+ this.dispatchEvent(new >org.apache.flex.events.CustomEvent('transferClicked')); > }; > > /** >@@ -279,7 +279,7 @@ MyInitialView.prototype.$EH3 = function(event) > */ > MyInitialView.prototype.$EH4 = function(event) > { >- this.dispatchEvent(new >org.apache.flex.events.CustomEvent('listChanged')); >+ this.dispatchEvent(new >org.apache.flex.events.CustomEvent('listChanged')); > }; > > /** >@@ -289,7 +289,7 @@ MyInitialView.prototype.$EH4 = function(event) > */ > MyInitialView.prototype.$EH5 = function(event) > { >- this.dispatchEvent(new >org.apache.flex.events.CustomEvent('buttonClicked')); >+ this.dispatchEvent(new >org.apache.flex.events.CustomEvent('buttonClicked')); > }; > > /** >@@ -299,7 +299,7 @@ MyInitialView.prototype.$EH5 = function(event) > */ > MyInitialView.prototype.$EH6 = function(event) > { >- this.dispatchEvent(new >org.apache.flex.events.CustomEvent('comboBoxChanged')); >+ this.dispatchEvent(new >org.apache.flex.events.CustomEvent('comboBoxChanged')); > }; > > /** >@@ -309,7 +309,7 @@ MyInitialView.prototype.$EH6 = function(event) > */ > MyInitialView.prototype.get_lbl = function() > { >- return this.lbl; >+ return this.lbl; > }; > > /** >@@ -319,8 +319,8 @@ MyInitialView.prototype.get_lbl = function() > */ > MyInitialView.prototype.set_lbl = function(value) > { >- if (value != this.lbl) >- this.lbl = value; >+ if (value != this.lbl) >+ this.lbl = value; > }; > > /** >@@ -330,7 +330,7 @@ MyInitialView.prototype.set_lbl = function(value) > */ > MyInitialView.prototype.get_timerLabel = function() > { >- return this.timerLabel; >+ return this.timerLabel; > }; > > /** >@@ -340,8 +340,8 @@ MyInitialView.prototype.get_timerLabel = function() > */ > MyInitialView.prototype.set_timerLabel = function(value) > { >- if (value != this.timerLabel) >- this.timerLabel = value; >+ if (value != this.timerLabel) >+ this.timerLabel = value; > }; > > /** >@@ -351,7 +351,7 @@ MyInitialView.prototype.set_timerLabel = >function(value) > */ > MyInitialView.prototype.get_cityList = function() > { >- return this.cityList; >+ return this.cityList; > }; > > /** >@@ -361,8 +361,8 @@ MyInitialView.prototype.get_cityList = function() > */ > MyInitialView.prototype.set_cityList = function(value) > { >- if (value != this.cityList) >- this.cityList = value; >+ if (value != this.cityList) >+ this.cityList = value; > }; > > /** >@@ -372,7 +372,7 @@ MyInitialView.prototype.set_cityList = function(value) > */ > MyInitialView.prototype.get_input = function() > { >- return this.input; >+ return this.input; > }; > > /** >@@ -382,8 +382,8 @@ MyInitialView.prototype.get_input = function() > */ > MyInitialView.prototype.set_input = function(value) > { >- if (value != this.input) >- this.input = value; >+ if (value != this.input) >+ this.input = value; > }; > > /** >@@ -393,7 +393,7 @@ MyInitialView.prototype.set_input = function(value) > */ > MyInitialView.prototype.get_checkbox = function() > { >- return this.checkbox; >+ return this.checkbox; > }; > > /** >@@ -403,8 +403,8 @@ MyInitialView.prototype.get_checkbox = function() > */ > MyInitialView.prototype.set_checkbox = function(value) > { >- if (value != this.checkbox) >- this.checkbox = value; >+ if (value != this.checkbox) >+ this.checkbox = value; > }; > > /** >@@ -414,7 +414,7 @@ MyInitialView.prototype.set_checkbox = function(value) > */ > MyInitialView.prototype.get_list = function() > { >- return this.list; >+ return this.list; > }; > > /** >@@ -424,8 +424,8 @@ MyInitialView.prototype.get_list = function() > */ > MyInitialView.prototype.set_list = function(value) > { >- if (value != this.list) >- this.list = value; >+ if (value != this.list) >+ this.list = value; > }; > > /** >@@ -435,7 +435,7 @@ MyInitialView.prototype.set_list = function(value) > */ > MyInitialView.prototype.get_comboBox = function() > { >- return this.comboBox; >+ return this.comboBox; > }; > > /** >@@ -445,8 +445,8 @@ MyInitialView.prototype.get_comboBox = function() > */ > MyInitialView.prototype.set_comboBox = function(value) > { >- if (value != this.comboBox) >- this.comboBox = value; >+ if (value != this.comboBox) >+ this.comboBox = value; > }; > > /** >@@ -456,12 +456,12 @@ MyInitialView.prototype.set_comboBox = >function(value) > */ > MyInitialView.prototype.get_MXMLDescriptor = function() > { >- if (this.mxmldd == undefined) >- { >- /** @type {Array} */ >- var arr = goog.base(this, 'get_MXMLDescriptor'); >- /** @type {Array} */ >- var data = [ >+ if (this.mxmldd == undefined) >+ { >+ /** @type {Array} */ >+ var arr = goog.base(this, 'get_MXMLDescriptor'); >+ /** @type {Array} */ >+ var data = [ > org.apache.flex.html.staticControls.Label, > 4, > 'id', >@@ -835,13 +835,13 @@ null, [org.apache.flex.binding.ConstantBinding, 4, >'_id', true, '$ID15', 'source > this.$EH6, > null > ]; >- >- if (arr) >- this.mxmldd = arr.concat(data); >- else >- this.mxmldd = data; >- } >- return this.mxmldd; >+ >+ if (arr) >+ this.mxmldd = arr.concat(data); >+ else >+ this.mxmldd = data; >+ } >+ return this.mxmldd; > }; > > > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/files/controllers/MyController_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_resul >t.js >b/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_resul >t.js >index c80f220..36d2f14 100644 >--- >a/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_resul >t.js >+++ >b/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_resul >t.js >@@ -1,110 +1,124 @@ > goog.provide('controllers.MyController'); > >+ >+ > /** > * @constructor > * @implements {org.apache.flex.core.IDocument} > * @param {org.apache.flex.core.Application=} app > */ > controllers.MyController = function(app) { >- app = typeof app !== 'undefined' ? app : null; >- if (app) { >- this.app = org.apache.flex.utils.Language.as(app, >FlexJSTest_again); >- app.addEventListener("viewChanged", >goog.bind(this.viewChangeHandler, >this)); >- } >+ app = typeof app !== 'undefined' ? app : null; >+ if (app) { >+ this.app = org.apache.flex.utils.Language.as(app, FlexJSTest_again); >+ app.addEventListener("viewChanged", >goog.bind(this.viewChangeHandler, this)); >+ } > }; > >+ > /** > * @private > * @type {string} > */ > controllers.MyController.prototype.queryBegin = >"http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.fina >nce.quotes%20where%20symbol%20in%20(%22"; > >+ > /** > * @private > * @type {string} > */ > controllers.MyController.prototype.queryEnd = >"%22)%0A%09%09&env=http%3A%2F%2Fdatatables.org%2Falltables.env&format=json >"; > >+ > /** > * @private > * @type {FlexJSTest_again} > */ > controllers.MyController.prototype.app; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.viewChangeHandler = function(event) { >- this.app.initialView.addEventListener("buttonClicked", >goog.bind(this.buttonClickHandler, this)); >- this.app.initialView.addEventListener("listChanged", >goog.bind(this.listChangedHandler, this)); >- this.app.initialView.addEventListener("cityListChanged", >goog.bind(this.cityListChangeHandler, this)); >- this.app.initialView.addEventListener("transferClicked", >goog.bind(this.transferClickHandler, this)); >- this.app.initialView.addEventListener("comboBoxChanged", >goog.bind(this.comboBoxChangeHandler, this)); >+ this.app.initialView.addEventListener("buttonClicked", >goog.bind(this.buttonClickHandler, this)); >+ this.app.initialView.addEventListener("listChanged", >goog.bind(this.listChangedHandler, this)); >+ this.app.initialView.addEventListener("cityListChanged", >goog.bind(this.cityListChangeHandler, this)); >+ this.app.initialView.addEventListener("transferClicked", >goog.bind(this.transferClickHandler, this)); >+ this.app.initialView.addEventListener("comboBoxChanged", >goog.bind(this.comboBoxChangeHandler, this)); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.buttonClickHandler = function(event) { >- var /** @type {string} */ sym = this.app.initialView/** Cast to >MyInitialView */.get_symbol(); >- this.app.get_service().set_url(this.queryBegin + sym + this.queryEnd); >- this.app.get_service().send(); >- this.app.get_service().addEventListener("complete", >goog.bind(this.completeHandler, this)); >+ var /** @type {string} */ sym = this.app.initialView/** Cast to >MyInitialView */.get_symbol(); >+ this.app.get_service().set_url(this.queryBegin + sym + this.queryEnd); >+ this.app.get_service().send(); >+ this.app.get_service().addEventListener("complete", >goog.bind(this.completeHandler, this)); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.completeHandler = function(event) { >- this.app.model/** Cast to models.MyModel >*/.set_labelText(org.apache.flex.utils.Language.as(this.app.get_collection >().getItemAt(0), String)); >+ this.app.model/** Cast to models.MyModel >*/.set_labelText(org.apache.flex.utils.Language.as(this.app.get_collection >().getItemAt(0), String)); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.listChangedHandler = function(event) { >- this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_symbol()); >+ this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_symbol()); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.cityListChangeHandler = >function(event) { >- this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_city()); >+ this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_city()); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.transferClickHandler = >function(event) { >- this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_inputText()); >+ this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_inputText()); > }; > >+ > /** > * @private > * @param {org.apache.flex.events.Event} event > */ > controllers.MyController.prototype.comboBoxChangeHandler = >function(event) { >- this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_comboBoxValue()); >+ this.app.model/** Cast to models.MyModel >*/.set_labelText(this.app.initialView/** Cast to MyInitialView >*/.get_comboBoxValue()); > }; > >+ > /** > * @expose > * @param {Object} document > * @param {string=} id > */ > controllers.MyController.prototype.setDocument = function(document, id) { >- id = typeof id !== 'undefined' ? id : null; >- this.app = org.apache.flex.utils.Language.as(document, >FlexJSTest_again); >- this.app.addEventListener("viewChanged", >goog.bind(this.viewChangeHandler, this)); >+ id = typeof id !== 'undefined' ? id : null; >+ this.app = org.apache.flex.utils.Language.as(document, >FlexJSTest_again); >+ this.app.addEventListener("viewChanged", >goog.bind(this.viewChangeHandler, this)); > }; > >+ > /** > * @const > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/files/models/MyModel_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/files/models/MyModel_result.js >b/compiler.jx.tests/test-files/flexjs/files/models/MyModel_result.js >index 38422d6..eb9c7a2 100644 >--- a/compiler.jx.tests/test-files/flexjs/files/models/MyModel_result.js >+++ b/compiler.jx.tests/test-files/flexjs/files/models/MyModel_result.js >@@ -1,63 +1,72 @@ > goog.provide('models.MyModel'); > >+ >+ > /** > * @constructor > * @extends {org.apache.flex.events.EventDispatcher} > */ > models.MyModel = function() { >- goog.base(this); >+ goog.base(this); > } > goog.inherits(models.MyModel, org.apache.flex.events.EventDispatcher); > >+ > /** > * @private > * @type {string} > */ > models.MyModel.prototype._labelText; > >+ > /** > * @expose > * @return {string} > */ > models.MyModel.prototype.get_labelText = function() { >- return this._labelText; >+ return this._labelText; > }; > >+ > /** > * @expose > * @param {string} value > */ > models.MyModel.prototype.set_labelText = function(value) { >- if (value != this._labelText) { >- this._labelText = value; >- this.dispatchEvent(new >org.apache.flex.events.Event("labelTextChanged")); >- } >+ if (value != this._labelText) { >+ this._labelText = value; >+ this.dispatchEvent(new >org.apache.flex.events.Event("labelTextChanged")); >+ } > }; > >+ > /** > * @private > * @type {Array} > */ > models.MyModel.prototype._strings = ["AAPL", "ADBE", "GOOG", "MSFT", >"YHOO"]; > >+ > /** > * @expose > * @return {Array} > */ > models.MyModel.prototype.get_strings = function() { >- return this._strings; >+ return this._strings; > }; > >+ > /** > * @private > * @type {Array} > */ > models.MyModel.prototype._cities = ["London", "Miami", "Paris", >"Sydney", "Tokyo"]; > >+ > /** > * @expose > * @return {Array} > */ > models.MyModel.prototype.get_cities = function() { >- return this._cities; >-}; >\ No newline at end of file >+ return this._cities; >+}; > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/files/wildcard_import_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/files/wildcard_import_result.js >b/compiler.jx.tests/test-files/flexjs/files/wildcard_import_result.js >index 6923f67..3edfc62 100644 >--- a/compiler.jx.tests/test-files/flexjs/files/wildcard_import_result.js >+++ b/compiler.jx.tests/test-files/flexjs/files/wildcard_import_result.js >@@ -3,33 +3,34 @@ goog.provide('wildcard_import'); > goog.require('org.apache.flex.core.Application'); > goog.require('org.apache.flex.html.staticControls.Button'); > >+ >+ > /** > * @constructor > * @extends {org.apache.flex.core.Application} > */ > wildcard_import = function() { >- goog.base(this); >- >- /** >- * @private >- * @type {Array} >- */ >- this.mxmldd; >- >- /** >- * @private >- * @type {Array} >- */ >- this.mxmldp; >+ goog.base(this); >+ >+ /** >+ * @private >+ * @type {Array} >+ */ >+ this.mxmldd; >+ >+ /** >+ * @private >+ * @type {Array} >+ */ >+ this.mxmldp; > }; > goog.inherits(wildcard_import, org.apache.flex.core.Application); > >+ > /** > * @private > */ > wildcard_import.prototype.tmp = function() { >- var /** @type {Button} */ myButton; >- myButton = new org.apache.flex.html.staticControls.Button(); >+ var /** @type {Button} */ myButton; >+ myButton = new org.apache.flex.html.staticControls.Button(); > }; >- >- > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/Test_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js >index 3168e0c..ace15bb 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/Test_result.js >@@ -1,12 +1,12 @@ > goog.provide('Test'); > > goog.require('classes.A'); >- > goog.require('interfaces.IA'); > goog.require('interfaces.IE'); >- > goog.require('org.apache.flex.utils.Language'); > >+ >+ > /** > * @constructor > * @extends {classes.A} >@@ -14,10 +14,11 @@ goog.require('org.apache.flex.utils.Language'); > * @implements {interfaces.IE} > */ > Test = function() { >- goog.base(this); >-} >+ goog.base(this); >+}; > goog.inherits(Test, classes.A); > >+ > /** > * @const > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result >.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result >.js >index 48c2497..1df9f5d 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result >.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_result >.js >@@ -2,11 +2,13 @@ goog.provide('classes.A'); > > goog.require('classes.C'); > >+ >+ > /** > * @constructor > * @extends {classes.C} > */ > classes.A = function() { >- goog.base(this); >-} >-goog.inherits(classes.A, classes.C); >\ No newline at end of file >+ goog.base(this); >+}; >+goog.inherits(classes.A, classes.C); > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result >.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result >.js >index d1fe335..3dd8adb 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result >.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_result >.js >@@ -1,8 +1,9 @@ > goog.provide('classes.B'); > > >+ > /** > * @constructor > */ > classes.B = function() { >-}; >\ No newline at end of file >+}; > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result >.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result >.js >index 7aa37e6..9c7bb13 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result >.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_result >.js >@@ -1,8 +1,9 @@ > goog.provide('classes.C'); > > >+ > /** > * @constructor > */ > classes.C = function() { >-}; >\ No newline at end of file >+}; > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_re >sult.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_re >sult.js >index 97b7e18..360c807 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_re >sult.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IA_re >sult.js >@@ -2,6 +2,8 @@ goog.provide('interfaces.IA'); > > goog.require('interfaces.IC'); > >+ >+ > /** > * @interface > * @extends {interfaces.IC} >@@ -9,6 +11,7 @@ goog.require('interfaces.IC'); > interfaces.IA = function() { > }; > >+ > /** > * @const > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_re >sult.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_re >sult.js >index e50057d..611cfb6 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_re >sult.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IB_re >sult.js >@@ -1,5 +1,7 @@ > goog.provide('interfaces.IB'); > >+ >+ > /** > * @interface > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_re >sult.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_re >sult.js >index db01166..35f794d 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_re >sult.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IC_re >sult.js >@@ -2,6 +2,8 @@ goog.provide('interfaces.IC'); > > goog.require('interfaces.ID'); > >+ >+ > /** > * @interface > * @extends {interfaces.ID} >@@ -9,6 +11,7 @@ goog.require('interfaces.ID'); > interfaces.IC = function() { > }; > >+ > /** > * @const > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_re >sult.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_re >sult.js >index d25c4a4..dfa6505 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_re >sult.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/ID_re >sult.js >@@ -1,6 +1,7 @@ > goog.provide('interfaces.ID'); > > >+ > /** > * @interface > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_result.js >---------------------------------------------------------------------- >diff --git >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_re >sult.js >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_re >sult.js >index bb526de..c91f544 100644 >--- >a/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_re >sult.js >+++ >b/compiler.jx.tests/test-files/flexjs/projects/interfaces/interfaces/IE_re >sult.js >@@ -1,6 +1,7 @@ > goog.provide('interfaces.IE'); > > >+ > /** > * @interface > */ > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter >.java >---------------------------------------------------------------------- >diff --git >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitter.java >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitter.java >index 5edb70b..e8a2e62 100644 >--- >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitter.java >+++ >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitter.java >@@ -24,6 +24,8 @@ import java.util.ArrayList; > import java.util.Collection; > import java.util.HashSet; > import java.util.Iterator; >+import java.util.List; >+import java.util.Map; > import java.util.Set; > > import org.apache.flex.compiler.codegen.IASGlobalFunctionConstants; >@@ -31,6 +33,7 @@ import org.apache.flex.compiler.codegen.IDocEmitter; > import org.apache.flex.compiler.codegen.js.flexjs.IJSFlexJSEmitter; > import org.apache.flex.compiler.common.ASModifier; > import org.apache.flex.compiler.common.ModifiersSet; >+import org.apache.flex.compiler.definitions.IClassDefinition; > import org.apache.flex.compiler.definitions.IDefinition; > import org.apache.flex.compiler.definitions.IFunctionDefinition; > import >org.apache.flex.compiler.definitions.IFunctionDefinition.FunctionClassific >ation; >@@ -75,6 +78,7 @@ import org.apache.flex.compiler.tree.as.IInterfaceNode; > import org.apache.flex.compiler.tree.as.ILanguageIdentifierNode; > import org.apache.flex.compiler.tree.as.ILiteralNode; > import org.apache.flex.compiler.tree.as.IMemberAccessExpressionNode; >+import org.apache.flex.compiler.tree.as.IParameterNode; > import org.apache.flex.compiler.tree.as.ISetterNode; > import org.apache.flex.compiler.tree.as.ITypeNode; > import org.apache.flex.compiler.tree.as.ITypedExpressionNode; >@@ -103,6 +107,15 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > private ICompilerProject project; > > @Override >+ protected String getIndent(int numIndent) >+ { >+ final StringBuilder sb = new StringBuilder(); >+ for (int i = 0; i < numIndent; i++) >+ sb.append(JSFlexJSEmitterTokens.INDENT.getToken()); >+ return sb.toString(); >+ } >+ >+ @Override > protected void emitMemberName(IDefinitionNode node) > { > write(node.getName()); >@@ -115,7 +128,72 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > > project = getWalker().getProject(); > >- super.emitClass(node); >+ IClassDefinition definition = node.getDefinition(); >+ >+ IFunctionDefinition ctorDefinition = definition.getConstructor(); >+ >+ // Static-only (Singleton) classes may not have a constructor >+ if (ctorDefinition != null) >+ { >+ IFunctionNode ctorNode = (IFunctionNode) >ctorDefinition.getNode(); >+ if (ctorNode != null) >+ { >+ // constructor >+ emitMethod(ctorNode); >+ write(ASEmitterTokens.SEMICOLON); >+ } >+ else >+ { >+ String qname = definition.getQualifiedName(); >+ if (qname != null && !qname.equals("")) >+ { >+ write(qname); >+ write(ASEmitterTokens.SPACE); >+ writeToken(ASEmitterTokens.EQUAL); >+ write(ASEmitterTokens.FUNCTION); >+ write(ASEmitterTokens.PAREN_OPEN); >+ write(ASEmitterTokens.PAREN_CLOSE); >+ write(ASEmitterTokens.SPACE); >+ write(ASEmitterTokens.BLOCK_OPEN); >+ writeNewline(); >+ write(ASEmitterTokens.BLOCK_CLOSE); >+ write(ASEmitterTokens.SEMICOLON); >+ } >+ } >+ } >+ >+ IDefinitionNode[] dnodes = node.getAllMemberNodes(); >+ for (IDefinitionNode dnode : dnodes) >+ { >+ if (dnode.getNodeID() == ASTNodeID.VariableID) >+ { >+ writeNewline(); >+ writeNewline(); >+ writeNewline(); >+ emitField((IVariableNode) dnode); >+ write(ASEmitterTokens.SEMICOLON); >+ } >+ else if (dnode.getNodeID() == ASTNodeID.FunctionID) >+ { >+ if (!((IFunctionNode) dnode).isConstructor()) >+ { >+ writeNewline(); >+ writeNewline(); >+ writeNewline(); >+ emitMethod((IFunctionNode) dnode); >+ write(ASEmitterTokens.SEMICOLON); >+ } >+ } >+ else if (dnode.getNodeID() == ASTNodeID.GetterID >+ || dnode.getNodeID() == ASTNodeID.SetterID) >+ { >+ writeNewline(); >+ writeNewline(); >+ writeNewline(); >+ emitAccessors((IAccessorNode) dnode); >+ write(ASEmitterTokens.SEMICOLON); >+ } >+ } > } > > @Override >@@ -681,6 +759,71 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > } > > @Override >+ protected void emitDefaultParameterCodeBlock(IFunctionNode node) >+ { >+ IParameterNode[] pnodes = node.getParameterNodes(); >+ if (pnodes.length == 0) >+ return; >+ >+ Map<Integer, IParameterNode> defaults = getDefaults(pnodes); >+ >+ if (defaults != null) >+ { >+ final StringBuilder code = new StringBuilder(); >+ >+ if (!hasBody(node)) >+ { >+ indentPush(); >+ write(JSFlexJSEmitterTokens.INDENT); >+ } >+ >+ List<IParameterNode> parameters = new >ArrayList<IParameterNode>( >+ defaults.values()); >+ >+ for (int i = 0, n = parameters.size(); i < n; i++) >+ { >+ IParameterNode pnode = parameters.get(i); >+ >+ if (pnode != null) >+ { >+ code.setLength(0); >+ >+ /* x = typeof y !== 'undefined' ? y : z;\n */ >+ code.append(pnode.getName()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(ASEmitterTokens.EQUAL.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(ASEmitterTokens.TYPEOF.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(pnode.getName()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ >code.append(ASEmitterTokens.STRICT_NOT_EQUAL.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(ASEmitterTokens.SINGLE_QUOTE.getToken()); >+ code.append(ASEmitterTokens.UNDEFINED.getToken()); >+ code.append(ASEmitterTokens.SINGLE_QUOTE.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(ASEmitterTokens.TERNARY.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(pnode.getName()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(ASEmitterTokens.COLON.getToken()); >+ code.append(ASEmitterTokens.SPACE.getToken()); >+ code.append(pnode.getDefaultValue()); >+ code.append(ASEmitterTokens.SEMICOLON.getToken()); >+ >+ write(code.toString()); >+ >+ if (i == n - 1 && !hasBody(node)) >+ indentPop(); >+ >+ writeNewline(); >+ } >+ } >+ } >+ } >+ >+ @Override > public void emitBinaryOperator(IBinaryOperatorNode node) > { > ASTNodeID id = node.getNodeID(); >@@ -889,6 +1032,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > ArrayList<String> writtenInstances = new ArrayList<String>(); > writtenInstances.add(cname); // make sure we don't add ourselves > >+ boolean emitsRequires = false; > if (requiresList != null) > { > for (String imp : requiresList) >@@ -913,18 +1057,15 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > write(ASEmitterTokens.SINGLE_QUOTE); > write(ASEmitterTokens.PAREN_CLOSE); > writeNewline(ASEmitterTokens.SEMICOLON); >+ > writtenInstances.add(imp); >+ >+ emitsRequires = true; > } > } >- >- if (requiresList.size() > 1 >- || (requiresList.size() == 1 && >requiresList.get(0).indexOf( >- JSGoogEmitterTokens.AS3.getToken()) == -1)) >- { >- writeNewline(); >- } > } > >+ boolean emitsInterfaces = false; > if (interfacesList != null) > { > for (String imp : interfacesList) >@@ -936,11 +1077,8 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > write(ASEmitterTokens.SINGLE_QUOTE); > write(ASEmitterTokens.PAREN_CLOSE); > writeNewline(ASEmitterTokens.SEMICOLON); >- } >- >- if (interfacesList.size() > 0) >- { >- writeNewline(); >+ >+ emitsInterfaces = true; > } > } > >@@ -948,8 +1086,9 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > // 'as' operators. We don't need to worry about >requiring > // this in every project: ADVANCED_OPTIMISATIONS >will NOT > // include any of the code if it is not used in the >project. >- if (flexProject.mainCU != null && >- cu.getName().equals(flexProject.mainCU.getName())) >+ boolean isMainCU = flexProject.mainCU != null && >+ cu.getName().equals(flexProject.mainCU.getName()); >+ if (isMainCU) > { > write(JSGoogEmitterTokens.GOOG_REQUIRE); > write(ASEmitterTokens.PAREN_OPEN); >@@ -958,8 +1097,15 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > write(ASEmitterTokens.SINGLE_QUOTE); > write(ASEmitterTokens.PAREN_CLOSE); > writeNewline(ASEmitterTokens.SEMICOLON); >+ } >+ >+ if (emitsRequires || emitsInterfaces || isMainCU) >+ { > writeNewline(); > } >+ >+ writeNewline(); >+ writeNewline(); > } > > @Override >@@ -983,6 +1129,7 @@ public class JSFlexJSEmitter extends JSGoogEmitter >implements IJSFlexJSEmitter > { > writeNewline(); > writeNewline(); >+ writeNewline(); > getDoc().begin(); > getDoc().emitConst(null); > getDoc().end(); > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitter >Tokens.java >---------------------------------------------------------------------- >diff --git >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitterTokens.java >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitterTokens.java >index 10ff880..53110c1 100644 >--- >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitterTokens.java >+++ >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFl >exJSEmitterTokens.java >@@ -27,6 +27,7 @@ import org.apache.flex.compiler.codegen.IEmitterTokens; > public enum JSFlexJSEmitterTokens implements IEmitterTokens > { > FLEXJS_CLASS_INFO("FLEXJS_CLASS_INFO"), >+ INDENT(" "), > INTERFACES("interfaces"), > LANGUAGE_QNAME("org.apache.flex.utils.Language"), > UNDERSCORE("_"), > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.jav >a >---------------------------------------------------------------------- >diff --git >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoog >Emitter.java >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoog >Emitter.java >index 30e70bb..dc039a9 100644 >--- >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoog >Emitter.java >+++ >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoog >Emitter.java >@@ -704,7 +704,7 @@ public class JSGoogEmitter extends JSEmitter >implements IJSGoogEmitter > } > } > >- private void emitDefaultParameterCodeBlock(IFunctionNode node) >+ protected void emitDefaultParameterCodeBlock(IFunctionNode node) > { > IParameterNode[] pnodes = node.getParameterNodes(); > if (pnodes.length == 0) >@@ -869,7 +869,7 @@ public class JSGoogEmitter extends JSEmitter >implements IJSGoogEmitter > super(out); > } > >- private Map<Integer, IParameterNode> getDefaults(IParameterNode[] >nodes) >+ protected Map<Integer, IParameterNode> getDefaults(IParameterNode[] >nodes) > { > Map<Integer, IParameterNode> result = new HashMap<Integer, >IParameterNode>(); > int i = 0; >@@ -953,7 +953,7 @@ public class JSGoogEmitter extends JSEmitter >implements IJSGoogEmitter > return false; > } > >- private static boolean hasBody(IFunctionNode node) >+ protected static boolean hasBody(IFunctionNode node) > { > IScopedNode scope = node.getScopedNode(); > return scope.getChildCount() > 0; > >http://git-wip-us.apache.org/repos/asf/flex-falcon/blob/c4bdbf59/compiler. >jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSEmi >tter.java >---------------------------------------------------------------------- >diff --git >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MX >MLFlexJSEmitter.java >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MX >MLFlexJSEmitter.java >index 444b26a..cd7aad7 100644 >--- >a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MX >MLFlexJSEmitter.java >+++ >b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MX >MLFlexJSEmitter.java >@@ -103,6 +103,15 @@ public class MXMLFlexJSEmitter extends MXMLEmitter >implements > super(out); > } > >+ @Override >+ protected String getIndent(int numIndent) >+ { >+ final StringBuilder sb = new StringBuilder(); >+ for (int i = 0; i < numIndent; i++) >+ sb.append(JSFlexJSEmitterTokens.INDENT.getToken()); >+ return sb.toString(); >+ } >+ > >//------------------------------------------------------------------------ >-- > > @Override >@@ -1386,15 +1395,11 @@ public class MXMLFlexJSEmitter extends >MXMLEmitter implements > if (project.mainCU != null && > cu.getName().equals(project.mainCU.getName())) > { >- write(JSGoogEmitterTokens.GOOG_REQUIRE); >- write(ASEmitterTokens.PAREN_OPEN); >- write(ASEmitterTokens.SINGLE_QUOTE); >- write(JSFlexJSEmitterTokens.LANGUAGE_QNAME); >- write(ASEmitterTokens.SINGLE_QUOTE); >- write(ASEmitterTokens.PAREN_CLOSE); >- writeNewline(ASEmitterTokens.SEMICOLON); >- writeNewline(); >+ >emitHeaderLine(JSFlexJSEmitterTokens.LANGUAGE_QNAME.getToken()); > } >+ >+ writeNewline(); >+ writeNewline(); > } > > private void emitHeaderLine(String qname) >