It's passing for me, both in Eclipse and from the terminal (OSX 10.9). What is the test complaining about?
EdB On Tue, Nov 12, 2013 at 8:07 PM, Alex Harui <aha...@adobe.com> wrote: > 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) >> > -- Ix Multimedia Software Jan Luykenstraat 27 3521 VB Utrecht T. 06-51952295 I. www.ixsoftware.nl