Yes, that's the one that I wrestled with the past couple of days. The
fix was to change a path to the latest flex-asjs... Peter renamed one
of the examples and the test uses a hard coded path to it.

EdB



On Tue, Nov 12, 2013 at 8:52 PM, Alex Harui <aha...@adobe.com> wrote:
> It's not picking up the goog.require("StockDataJSONItemConverter").
>
> I'm cleaning and rebuilding. Hopefully it will just go away.
>
> -Alex
>
> On 11/12/13 11:40 AM, "Erik de Bruin" <e...@ixsoftware.nl> wrote:
>
>>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.TestFlexJSMXMLAppli
>>>ca
>>> 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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>jx.tests/test-files/flexjs/files/controllers/MyController_result.js
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_res
>>>>ul
>>>>t.js
>>>>b/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_res
>>>>ul
>>>>t.js
>>>>index c80f220..36d2f14 100644
>>>>---
>>>>a/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_res
>>>>ul
>>>>t.js
>>>>+++
>>>>b/compiler.jx.tests/test-files/flexjs/files/controllers/MyController_res
>>>>ul
>>>>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.fi
>>>>na
>>>>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=js
>>>>on
>>>>";
>>>>
>>>>+
>>>> /**
>>>>  * @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_collecti
>>>>on
>>>>().getItemAt(0), String));
>>>>+  this.app.model/** Cast to models.MyModel
>>>>*/.set_labelText(org.apache.flex.utils.Language.as(this.app.get_collecti
>>>>on
>>>>().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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>jx.tests/test-files/flexjs/projects/interfaces/classes/A_result.js
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_resu
>>>>lt
>>>>.js
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_resu
>>>>lt
>>>>.js
>>>>index 48c2497..1df9f5d 100644
>>>>---
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_resu
>>>>lt
>>>>.js
>>>>+++
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/A_resu
>>>>lt
>>>>.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/compile
>>>>r.
>>>>jx.tests/test-files/flexjs/projects/interfaces/classes/B_result.js
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_resu
>>>>lt
>>>>.js
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_resu
>>>>lt
>>>>.js
>>>>index d1fe335..3dd8adb 100644
>>>>---
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_resu
>>>>lt
>>>>.js
>>>>+++
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/B_resu
>>>>lt
>>>>.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/compile
>>>>r.
>>>>jx.tests/test-files/flexjs/projects/interfaces/classes/C_result.js
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_resu
>>>>lt
>>>>.js
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_resu
>>>>lt
>>>>.js
>>>>index 7aa37e6..9c7bb13 100644
>>>>---
>>>>a/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_resu
>>>>lt
>>>>.js
>>>>+++
>>>>b/compiler.jx.tests/test-files/flexjs/projects/interfaces/classes/C_resu
>>>>lt
>>>>.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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>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/compile
>>>>r.
>>>>jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitt
>>>>er
>>>>.java
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitter.java
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitter.java
>>>>index 5edb70b..e8a2e62 100644
>>>>---
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitter.java
>>>>+++
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>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.FunctionClassif
>>>>ic
>>>>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/compile
>>>>r.
>>>>jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JSFlexJSEmitt
>>>>er
>>>>Tokens.java
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitterTokens.java
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitterTokens.java
>>>>index 10ff880..53110c1 100644
>>>>---
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>exJSEmitterTokens.java
>>>>+++
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/flexjs/JS
>>>>Fl
>>>>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/compile
>>>>r.
>>>>jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGoogEmitter.j
>>>>av
>>>>a
>>>>----------------------------------------------------------------------
>>>>diff --git
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGo
>>>>og
>>>>Emitter.java
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGo
>>>>og
>>>>Emitter.java
>>>>index 30e70bb..dc039a9 100644
>>>>---
>>>>a/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGo
>>>>og
>>>>Emitter.java
>>>>+++
>>>>b/compiler.jx/src/org/apache/flex/compiler/internal/codegen/js/goog/JSGo
>>>>og
>>>>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/compile
>>>>r.
>>>>jx/src/org/apache/flex/compiler/internal/codegen/mxml/flexjs/MXMLFlexJSE
>>>>mi
>>>>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
>



-- 
Ix Multimedia Software

Jan Luykenstraat 27
3521 VB Utrecht

T. 06-51952295
I. www.ixsoftware.nl

Reply via email to