diff --git a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/mxml/royale/TestRoyaleMXMLApplication.java b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/mxml/royale/TestRoyaleMXMLApplication.java
index 6524960..25c46d3 100644
--- a/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/mxml/royale/TestRoyaleMXMLApplication.java
+++ b/compiler-jx/src/test/java/org/apache/royale/compiler/internal/codegen/mxml/royale/TestRoyaleMXMLApplication.java
@@ -160,7 +160,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.accessories.TextPromptBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -183,7 +183,7 @@
         		"      2,\n" +
         		"      '_id',\n" +
         		"      true,\n" +
-        		"      '$ID0',\n" +
+        		"      '$ID_8_0',\n" +
         		"      'prompt',\n" +
         		"      true,\n" +
         		"      '0-9\\\\',\n" +
@@ -273,7 +273,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.accessories.TextPromptBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -296,7 +296,7 @@
         		"      2,\n" +
         		"      '_id',\n" +
         		"      true,\n" +
-        		"      '$ID0',\n" +
+        		"      '$ID_8_0',\n" +
         		"      'prompt',\n" +
         		"      true,\n" +
         		"      '0-9\\\\',\n" +
@@ -569,13 +569,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.Label}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -598,7 +598,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -606,7 +606,7 @@
 				"        1,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" + 
+				"        '$ID_8_0',\n" + 
 				"        0,\n" +
 				"        0,\n" +
 				"        null\n" +
@@ -629,7 +629,7 @@
         		"1,\n" +
         		"[\"org.apache.royale.net.HTTPConstants\", \"GET\"],\n" +
         		"null,\n" +
-        		"[\"$ID0\", \"text\"]\n" +
+        		"[\"$ID_8_0\", \"text\"]\n" +
         		"];\n" +
         		"/**\n" +
         		" * Metadata\n" +
@@ -707,13 +707,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.Label}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -736,7 +736,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" + 
+				"      '$ID_8_1',\n" + 
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -744,7 +744,7 @@
 				"        1,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        0,\n" +
 				"        0,\n" +
 				"        null\n" +
@@ -767,7 +767,7 @@
         		"1,\n" +
         		"[\"org.apache.royale.net.HTTPConstants\", \"GET\"],\n" +
         		"null,\n" +
-        		"[\"$ID0\", \"text\"]\n" +
+        		"[\"$ID_8_0\", \"text\"]\n" +
         		"];\n" +
         		"/**\n" +
         		" * Metadata\n" +
@@ -846,13 +846,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.Label}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -875,7 +875,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -883,7 +883,7 @@
 				"        1,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        0,\n" +
 				"        0,\n" +
 				"        null\n" +
@@ -913,7 +913,7 @@
         		"1,\n" +
         		"[\"firstOne\", \"subObject\", \"labelText\"],\n" +
         		"null,\n" +
-        		"[\"$ID0\", \"text\"],\n" +
+        		"[\"$ID_8_0\", \"text\"],\n" +
         		"0,\n" +
         		"2,\n" +
         		"\"firstOne\",\n" +
@@ -1020,13 +1020,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.Label}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1049,7 +1049,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -1057,7 +1057,7 @@
 				"        2,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        'text',\n" +
 				"        true,\n" +
 				"        'Hello World',\n" +
@@ -1162,13 +1162,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.DropDownList}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1191,7 +1191,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -1199,7 +1199,7 @@
 				"        2,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        'dataProvider',\n" +
 				"        true,\n" +
 				"        ['Hello','World'],\n" +
@@ -1302,13 +1302,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID3_;\n" +
+        		"  this.$ID_8_3;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.DropDownList}\n" +
         		"   */\n" +
-        		"  this.$ID2_;\n" +
+        		"  this.$ID_8_2;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1331,7 +1331,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID3',\n" +
+				"      '$ID_8_3',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -1339,7 +1339,7 @@
 				"        2,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID2',\n" +
+				"        '$ID_8_2',\n" +
 				"        'dataProvider',\n" +
 				"        true,\n" +
 				"        ['Hello','World'],\n" +
@@ -1444,13 +1444,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.DropDownList}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1473,7 +1473,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -1481,7 +1481,7 @@
 				"        2,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        'dataProvider',\n" +
 				"        true,\n" +
 				"        ['Hello','World'],\n" +
@@ -1585,13 +1585,13 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.core.View}\n" +
         		"   */\n" +
-        		"  this.$ID1_;\n" +
+        		"  this.$ID_8_1;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
         		"   * @type {org.apache.royale.html.DropDownList}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1614,7 +1614,7 @@
 				"      1,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID1',\n" +
+				"      '$ID_8_1',\n" +
 				"      0,\n" +
 				"      0,\n" +
 				"      [\n" +
@@ -1622,7 +1622,7 @@
 				"        2,\n" +
 				"        '_id',\n" +
 				"        true,\n" +
-				"        '$ID0',\n" +
+				"        '$ID_8_0',\n" +
 				"        'dataProvider',\n" +
 				"        true,\n" +
 				"        ['Hello','World'],\n" +
@@ -1763,7 +1763,7 @@
         		"    0,\n" +
         		"    1,\n" +
         		"    'change',\n" +
-        		"this.$EH0\n" +
+        		"this.$EH_9_0\n" +
         		"  ]);\n" +
         		"  \n" +
         		"};\n" +
@@ -1806,7 +1806,7 @@
         		" * @export\n" +
         		" * @param {org.apache.royale.events.Event} event\n" +
         		" */\n" +
-        		"AppName.AppName_component0.prototype.$EH0 = function(event)\n" +
+        		"AppName.AppName_component0.prototype.$EH_9_0 = function(event)\n" +
 				"{\n" +
 				"  org.apache.royale.utils.Language.trace('bar');\n" +
 				"};\n" +
@@ -1885,7 +1885,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.charts.beads.DataTipBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -1908,7 +1908,7 @@
 				"      2,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID0',\n" +
+				"      '$ID_8_0',\n" +
 				"      'labelFunction',\n" +
 				"      true,\n" +
 				"      org.apache.royale.utils.Language.closure(this.fn_test, this, 'fn_test'),\n" +
@@ -2008,7 +2008,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.charts.beads.DataTipBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -2031,7 +2031,7 @@
 				"      2,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID0',\n" +
+				"      '$ID_8_0',\n" +
 				"      'labelFunction',\n" +
 				"      true,\n" +
 				"      org.apache.royale.utils.Language.closure(this.initialView.addedToParent, this.initialView, 'addedToParent'),\n" +
@@ -2121,7 +2121,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.charts.beads.DataTipBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -2144,7 +2144,7 @@
 				"      2,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID0',\n" +
+				"      '$ID_8_0',\n" +
 				"      'labelFunction',\n" +
 				"      true,\n" +
 				"      AppName.fn_test,\n" +
@@ -2162,7 +2162,8 @@
         		"\n" +
         		"\n" +
 				"\n" +
-        		"/**\n" +
+				"/**\n" +
+				" * @nocollapse\n" + 
         		" * @param {string} foo\n" +
         		" */\n" +
         		"AppName.fn_test = function(foo) {\n" +
@@ -2251,7 +2252,7 @@
         		"   * @private\n" +
         		"   * @type {org.apache.royale.charts.beads.DataTipBead}\n" +
         		"   */\n" +
-        		"  this.$ID0_;\n" +
+        		"  this.$ID_8_0;\n" +
         		"  \n" +
         		"  /**\n" +
         		"   * @private\n" +
@@ -2274,7 +2275,7 @@
 				"      2,\n" +
 				"      '_id',\n" +
 				"      true,\n" +
-				"      '$ID0',\n" +
+				"      '$ID_8_0',\n" +
 				"      'labelFunction',\n" +
 				"      true,\n" +
 				"      org.apache.royale.utils.Language.closure(this.AppName_fn_test, this, 'AppName_fn_test'),\n" +
diff --git a/compiler-jx/src/test/resources/royale/files/MyInitialView_result.js b/compiler-jx/src/test/resources/royale/files/MyInitialView_result.js
index 3bc10fb..11a752d 100644
--- a/compiler-jx/src/test/resources/royale/files/MyInitialView_result.js
+++ b/compiler-jx/src/test/resources/royale/files/MyInitialView_result.js
@@ -57,19 +57,19 @@
    * @private
    * @type {org.apache.royale.binding.SimpleBinding}
    */
-  this.$ID0_;
+  this.$ID_11_0;
   
   /**
    * @private
    * @type {org.apache.royale.html.TextButton}
    */
-  this.$ID1_;
+  this.$ID_11_1;
   
   /**
    * @private
    * @type {org.apache.royale.html.TextButton}
    */
-  this.$ID2_;
+  this.$ID_11_2;
   
   /**
    * @private
@@ -87,19 +87,19 @@
    * @private
    * @type {org.apache.royale.binding.ConstantBinding}
    */
-  this.$ID3_;
+  this.$ID_11_3;
   
   /**
    * @private
    * @type {org.apache.royale.html.TextArea}
    */
-  this.$ID5_;
+  this.$ID_11_5;
   
   /**
    * @private
    * @type {org.apache.royale.binding.SimpleBinding}
    */
-  this.$ID4_;
+  this.$ID_11_4;
   
   /**
    * @private
@@ -111,7 +111,7 @@
    * @private
    * @type {org.apache.royale.html.TextButton}
    */
-  this.$ID6_;
+  this.$ID_11_6;
   
   /**
    * @private
@@ -123,37 +123,37 @@
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID7_;
+  this.$ID_11_7;
   
   /**
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID8_;
+  this.$ID_11_8;
   
   /**
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID9_;
+  this.$ID_11_9;
   
   /**
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID10_;
+  this.$ID_11_10;
   
   /**
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID11_;
+  this.$ID_11_11;
   
   /**
    * @private
    * @type {org.apache.royale.html.RadioButton}
    */
-  this.$ID12_;
+  this.$ID_11_12;
   
   /**
    * @private
@@ -165,13 +165,13 @@
    * @private
    * @type {org.apache.royale.binding.ConstantBinding}
    */
-  this.$ID13_;
+  this.$ID_11_13;
   
   /**
    * @private
    * @type {org.apache.royale.html.TextButton}
    */
-  this.$ID14_;
+  this.$ID_11_14;
   
   /**
    * @private
@@ -183,7 +183,7 @@
    * @private
    * @type {org.apache.royale.binding.ConstantBinding}
    */
-  this.$ID15_;
+  this.$ID_11_15;
   
   /**
    * @private
@@ -288,7 +288,7 @@
  * @export
  * @param {org.apache.royale.events.MouseEvent} event
  */
-MyInitialView.prototype.$EH0 = function(event)
+MyInitialView.prototype.$EH_11_0 = function(event)
 {
   this.startTimer();
 };
@@ -298,7 +298,7 @@
  * @export
  * @param {org.apache.royale.events.MouseEvent} event
  */
-MyInitialView.prototype.$EH1 = function(event)
+MyInitialView.prototype.$EH_11_1 = function(event)
 {
   this.timer.removeEventListener('timer', org.apache.royale.utils.Language.closure(this.timerHandler, this, 'timerHandler'));
   this.timer.stop();
@@ -309,7 +309,7 @@
  * @export
  * @param {org.apache.royale.events.Event} event
  */
-MyInitialView.prototype.$EH2 = function(event)
+MyInitialView.prototype.$EH_11_2 = function(event)
 {
   this.dispatchEvent(new org.apache.royale.events.CustomEvent('cityListChanged'));
 };
@@ -319,7 +319,7 @@
  * @export
  * @param {org.apache.royale.events.MouseEvent} event
  */
-MyInitialView.prototype.$EH3 = function(event)
+MyInitialView.prototype.$EH_11_3 = function(event)
 {
   this.dispatchEvent(new org.apache.royale.events.CustomEvent('transferClicked'));
 };
@@ -329,7 +329,7 @@
  * @export
  * @param {org.apache.royale.events.Event} event
  */
-MyInitialView.prototype.$EH4 = function(event)
+MyInitialView.prototype.$EH_11_4 = function(event)
 {
   this.dispatchEvent(new org.apache.royale.events.CustomEvent('listChanged'));
 };
@@ -339,7 +339,7 @@
  * @export
  * @param {org.apache.royale.events.MouseEvent} event
  */
-MyInitialView.prototype.$EH5 = function(event)
+MyInitialView.prototype.$EH_11_5 = function(event)
 {
   this.dispatchEvent(new org.apache.royale.events.CustomEvent('buttonClicked'));
 };
@@ -349,7 +349,7 @@
  * @export
  * @param {org.apache.royale.events.Event} event
  */
-MyInitialView.prototype.$EH6 = function(event)
+MyInitialView.prototype.$EH_11_6 = function(event)
 {
   this.dispatchEvent(new org.apache.royale.events.CustomEvent('comboBoxChanged'));
 };
@@ -481,7 +481,7 @@
             5,
             '_id',
             true,
-            '$ID0',
+            '$ID_11_0',
             'eventName',
             true,
             'labelTextChanged',
@@ -505,7 +505,7 @@
           4,
           '_id',
           true,
-          '$ID1',
+          '$ID_11_1',
           'text',
           true,
           'Let\'s Start Timer',
@@ -518,13 +518,13 @@
           0,
           1,
           'click',
-this.$EH0,
+this.$EH_11_0,
           null,
           org.apache.royale.html.TextButton,
           4,
           '_id',
           true,
-          '$ID2',
+          '$ID_11_2',
           'text',
           true,
           'Stop Timer',
@@ -537,7 +537,7 @@
           0,
           1,
           'click',
-this.$EH1,
+this.$EH_11_1,
           null,
           org.apache.royale.html.Label,
           3,
@@ -577,7 +577,7 @@
             4,
             '_id',
             true,
-            '$ID3',
+            '$ID_11_3',
             'sourceID',
             true,
             'applicationModel',
@@ -594,13 +594,13 @@
           0,
           1,
           'change',
-this.$EH2,
+this.$EH_11_2,
           null,
           org.apache.royale.html.TextArea,
           6,
           '_id',
           true,
-          '$ID5',
+          '$ID_11_5',
           'x',
           true,
           320,
@@ -620,7 +620,7 @@
             5,
             '_id',
             true,
-            '$ID4',
+            '$ID_11_4',
             'eventName',
             true,
             'labelTextChanged',
@@ -658,7 +658,7 @@
           4,
           '_id',
           true,
-          '$ID6',
+          '$ID_11_6',
           'text',
           true,
           'Transfer',
@@ -671,7 +671,7 @@
           0,
           1,
           'click',
-this.$EH3,
+this.$EH_11_3,
           null,
           org.apache.royale.html.CheckBox,
           4,
@@ -694,7 +694,7 @@
           6,
           '_id',
           true,
-          '$ID7',
+          '$ID_11_7',
           'groupName',
           true,
           'group1',
@@ -717,7 +717,7 @@
           7,
           '_id',
           true,
-          '$ID8',
+          '$ID_11_8',
           'groupName',
           true,
           'group1',
@@ -743,7 +743,7 @@
           6,
           '_id',
           true,
-          '$ID9',
+          '$ID_11_9',
           'groupName',
           true,
           'group1',
@@ -766,7 +766,7 @@
           7,
           '_id',
           true,
-          '$ID10',
+          '$ID_11_10',
           'groupName',
           true,
           'group2',
@@ -792,7 +792,7 @@
           6,
           '_id',
           true,
-          '$ID11',
+          '$ID_11_11',
           'groupName',
           true,
           'group2',
@@ -815,7 +815,7 @@
           6,
           '_id',
           true,
-          '$ID12',
+          '$ID_11_12',
           'groupName',
           true,
           'group2',
@@ -858,7 +858,7 @@
             4,
             '_id',
             true,
-            '$ID13',
+            '$ID_11_13',
             'sourceID',
             true,
             'applicationModel',
@@ -875,13 +875,13 @@
           0,
           1,
           'change',
-this.$EH4,
+this.$EH_11_4,
           null,
           org.apache.royale.html.TextButton,
           4,
           '_id',
           true,
-          '$ID14',
+          '$ID_11_14',
           'text',
           true,
           'OK',
@@ -894,7 +894,7 @@
           0,
           1,
           'click',
-this.$EH5,
+this.$EH_11_5,
           null,
           org.apache.royale.html.ComboBox,
           5,
@@ -917,7 +917,7 @@
             4,
             '_id',
             true,
-            '$ID15',
+            '$ID_11_15',
             'sourceID',
             true,
             'applicationModel',
@@ -934,7 +934,7 @@
           0,
           1,
           'change',
-this.$EH6,
+this.$EH_11_6,
           null
         ];
         if (arr)
diff --git a/compiler-jx/src/test/resources/royale/files/RoyaleTest_again_result.js b/compiler-jx/src/test/resources/royale/files/RoyaleTest_again_result.js
index dc301ee..1cf38b9 100644
--- a/compiler-jx/src/test/resources/royale/files/RoyaleTest_again_result.js
+++ b/compiler-jx/src/test/resources/royale/files/RoyaleTest_again_result.js
@@ -45,25 +45,25 @@
    * @private
    * @type {org.apache.royale.core.SimpleCSSValuesImpl}
    */
-  this.$ID0_;
+  this.$ID_8_0;
   
   /**
    * @private
    * @type {MyInitialView}
    */
-  this.$ID1_;
+  this.$ID_8_1;
   
   /**
    * @private
    * @type {models.MyModel}
    */
-  this.$ID2_;
+  this.$ID_8_2;
   
   /**
    * @private
    * @type {controllers.MyController}
    */
-  this.$ID3_;
+  this.$ID_8_3;
   
   /**
    * @private
@@ -81,13 +81,13 @@
    * @private
    * @type {org.apache.royale.collections.parsers.JSONInputParser}
    */
-  this.$ID4_;
+  this.$ID_8_4;
   
   /**
    * @private
    * @type {StockDataJSONItemConverter}
    */
-  this.$ID5_;
+  this.$ID_8_5;
   
   /**
    * @private
@@ -110,7 +110,7 @@
       1,
       '_id',
       true,
-      '$ID2',
+      '$ID_8_2',
       0,
       0,
       null
@@ -122,7 +122,7 @@
       1,
       '_id',
       true,
-      '$ID0',
+      '$ID_8_0',
       0,
       0,
       null
@@ -134,7 +134,7 @@
       1,
       '_id',
       true,
-      '$ID1',
+      '$ID_8_1',
       0,
       0,
       null
@@ -146,7 +146,7 @@
       1,
       '_id',
       true,
-      '$ID3',
+      '$ID_8_3',
       0,
       0,
       null
@@ -174,7 +174,7 @@
           1,
           '_id',
           true,
-          '$ID4',
+          '$ID_8_4',
           0,
           0,
           null
@@ -186,7 +186,7 @@
           1,
           '_id',
           true,
-          '$ID5',
+          '$ID_8_5',
           0,
           0,
           null
@@ -202,7 +202,7 @@
     0,
     1,
     'initialize',
-this.$EH0
+this.$EH_8_0
   ]);
   
 };
@@ -215,7 +215,7 @@
  * @export
  * @param {org.apache.royale.events.Event} event
  */
-RoyaleTest_again.prototype.$EH0 = function(event)
+RoyaleTest_again.prototype.$EH_8_0 = function(event)
 {
   org.apache.royale.utils.Language.as(this.model, models.MyModel, true).labelText = 'Hello World';
 };
