You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/04/09 01:05:27 UTC

[08/47] git commit: [flex-asjs] [refs/heads/develop] - manual conversion to Object.defineProperties. Needs major cleanup before it will work

manual conversion to Object.defineProperties.  Needs major cleanup before it will work


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/5344e8ba
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/5344e8ba
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/5344e8ba

Branch: refs/heads/develop
Commit: 5344e8badb0a187cc628fc416746fa67ce555f2f
Parents: f2e09a4
Author: Alex Harui <ah...@apache.org>
Authored: Thu Mar 12 21:28:03 2015 -0700
Committer: Alex Harui <ah...@apache.org>
Committed: Thu Mar 12 21:28:03 2015 -0700

----------------------------------------------------------------------
 .../src/org/apache/flex/binding/BindingBase.js  |  41 +-
 .../src/org/apache/flex/binding/ChainBinding.js |  18 +-
 .../org/apache/flex/binding/ConstantBinding.js  |  36 +-
 .../org/apache/flex/binding/SimpleBinding.js    |  35 +-
 .../org/apache/flex/charts/core/ChartBase.js    |  28 +-
 .../org/apache/flex/charts/core/IAxisBead.js    |  52 +-
 .../src/org/apache/flex/charts/core/IChart.js   |  16 +-
 .../flex/charts/core/IChartItemRenderer.js      |  84 +--
 .../org/apache/flex/charts/core/IChartSeries.js |  65 +-
 .../flex/charts/core/IHorizontalAxisBead.js     |  34 +-
 .../flex/charts/core/IVerticalAxisBead.js       |  35 +-
 .../src/org/apache/flex/core/ContainerBase.js   | 122 ++--
 .../src/org/apache/flex/core/FilledRectangle.js |  26 +-
 .../src/org/apache/flex/core/FormatBase.js      | 109 ++--
 .../org/apache/flex/core/HTMLElementWrapper.js  | 171 ++---
 .../FlexJS/src/org/apache/flex/core/IChild.js   |   9 +-
 .../src/org/apache/flex/core/IContentView.js    |  65 +-
 .../src/org/apache/flex/core/IFormatBead.js     |  41 +-
 .../src/org/apache/flex/core/ILayoutParent.js   |  48 +-
 .../apache/flex/core/IListPresentationModel.js  |  19 +-
 .../apache/flex/core/ISelectableItemRenderer.js |  91 +--
 .../src/org/apache/flex/core/ISelectionModel.js |  55 +-
 .../src/org/apache/flex/core/ITextModel.js      |  18 +-
 .../flex/core/ItemRendererClassFactory.js       |  51 +-
 .../FlexJS/src/org/apache/flex/core/UIBase.js   | 618 +++++++------------
 .../src/org/apache/flex/core/ValuesManager.js   |  28 +-
 .../FlexJS/src/org/apache/flex/core/ViewBase.js | 141 ++---
 .../src/org/apache/flex/core/graphics/Circle.js |  25 +-
 .../apache/flex/core/graphics/GradientBase.js   | 131 ++--
 .../apache/flex/core/graphics/GradientEntry.js  |  91 +--
 .../apache/flex/core/graphics/GraphicShape.js   |  57 +-
 .../flex/core/graphics/GraphicsContainer.js     |  90 ++-
 .../apache/flex/core/graphics/LinearGradient.js |  27 +-
 .../src/org/apache/flex/core/graphics/Path.js   |  26 +-
 .../org/apache/flex/core/graphics/SolidColor.js |  50 +-
 .../flex/core/graphics/SolidColorStroke.js      |  75 +--
 .../src/org/apache/flex/createjs/Label.js       |  29 +-
 .../src/org/apache/flex/createjs/core/UIBase.js | 134 ++--
 .../FlexJS/src/org/apache/flex/events/Event.js  |  42 +-
 .../js/FlexJS/src/org/apache/flex/html/Alert.js |  68 +-
 .../FlexJS/src/org/apache/flex/html/CheckBox.js |  55 +-
 .../FlexJS/src/org/apache/flex/html/ComboBox.js |  27 +-
 .../org/apache/flex/html/ImageAndTextButton.js  |  58 +-
 .../js/FlexJS/src/org/apache/flex/html/Label.js |  52 +-
 .../src/org/apache/flex/html/MultilineLabel.js  |  52 +-
 .../js/FlexJS/src/org/apache/flex/html/Panel.js |  92 +--
 .../src/org/apache/flex/html/RadioButton.js     | 199 +++---
 .../FlexJS/src/org/apache/flex/html/Spinner.js  | 135 ++--
 .../FlexJS/src/org/apache/flex/html/TextArea.js |  27 +-
 .../src/org/apache/flex/html/TextButton.js      |  27 +-
 .../src/org/apache/flex/html/TextInput.js       |  28 +-
 .../org/apache/flex/html/ToggleTextButton.js    |  80 +--
 .../accessories/NumericOnlyTextInputBead.js     |  17 +-
 .../flex/html/accessories/PasswordInputBead.js  |  21 +-
 .../DataItemRendererFactoryForArrayData.js      |  99 ++-
 .../src/org/apache/flex/html/beads/ListView.js  |  66 +-
 .../TextItemRendererFactoryForArrayData.js      |  31 +-
 .../controllers/ItemRendererMouseController.js  |  30 +-
 .../ListSingleSelectionMouseController.js       |  29 +-
 .../beads/controllers/SliderMouseController.js  |  28 +-
 .../beads/controllers/SpinnerMouseController.js |  34 +-
 .../html/beads/layouts/NonVirtualBasicLayout.js |  51 +-
 .../layouts/NonVirtualBasicScrollingLayout.js   |  27 +-
 .../beads/layouts/NonVirtualVerticalLayout.js   |  47 +-
 .../NonVirtualVerticalScrollingLayout.js        |  18 +-
 .../ButtonBarButtonItemRenderer.js              |  66 +-
 .../html/supportClasses/DataItemRenderer.js     | 135 ++--
 .../html/supportClasses/NonVirtualDataGroup.js  |  34 +-
 .../html/supportClasses/StringItemRenderer.js   | 156 ++---
 .../src/org/apache/flex/html5/CheckBox.js       |  55 +-
 .../src/org/apache/flex/html5/ComboBox.js       |  43 +-
 .../FlexJS/src/org/apache/flex/html5/Label.js   |  27 +-
 .../src/org/apache/flex/html5/TextArea.js       |  27 +-
 .../src/org/apache/flex/html5/TextInput.js      |  27 +-
 .../src/org/apache/flex/jquery/CheckBox.js      |  55 +-
 .../src/org/apache/flex/jquery/RadioButton.js   | 202 +++---
 .../org/apache/flex/jquery/ToggleTextButton.js  |  98 ++-
 .../src/org/apache/flex/maps/google/Map.js      |  29 +-
 .../src/org/apache/flex/net/BinaryUploader.js   | 310 ++++------
 .../src/org/apache/flex/net/HTTPService.js      | 350 ++++-------
 .../src/org/apache/flex/utils/BinaryData.js     |  68 +-
 81 files changed, 2184 insertions(+), 3729 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/binding/BindingBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/binding/BindingBase.js b/frameworks/js/FlexJS/src/org/apache/flex/binding/BindingBase.js
index 1854a18..bf6d886 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/binding/BindingBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/binding/BindingBase.js
@@ -77,26 +77,6 @@ org_apache_flex_binding_BindingBase.prototype.sourceID = null;
 
 /**
  * @expose
- * @param {Object} value The strand (owner) of the bead.
- */
-org_apache_flex_binding_BindingBase.prototype.set_strand = function(value) {
-  if (this.destination == null)
-    this.destination = value;
-  if (this.sourceID != null) {
-    this.source = this.document[this.sourceID];
-    if (this.source == null) {
-      this.document.addEventListener('valueChange',
-          goog.bind(this.sourceChangeHandler, this));
-        return;
-    }
-  }
-  else
-    this.source = this.document;
-};
-
-
-/**
- * @expose
  * @param {Object} document The MXML object.
  */
 org_apache_flex_binding_BindingBase.prototype.setDocument = function(document) {
@@ -117,3 +97,24 @@ org_apache_flex_binding_BindingBase.prototype.sourceChangeHandler = function(eve
 
   this.source = this.document[this.sourceID];
 };
+
+
+Object.defineProperties(org_apache_flex_binding_BindingBase.prototype, {
+  'strand': {
+      set: function(value) {
+          if (this.destination == null)
+            this.destination = value;
+          if (this.sourceID != null) {
+            this.source = this.document[this.sourceID];
+            if (this.source == null) {
+               this.document.addEventListener('valueChange',
+                    goog.bind(this.sourceChangeHandler, this));
+               return;
+            }
+          }
+          else
+            this.source = this.document;
+        }
+    }
+});
+  
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/binding/ChainBinding.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/binding/ChainBinding.js b/frameworks/js/FlexJS/src/org/apache/flex/binding/ChainBinding.js
index 21dd2eb..c46c07b 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/binding/ChainBinding.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/binding/ChainBinding.js
@@ -63,15 +63,6 @@ org_apache_flex_binding_ChainBinding.prototype.source = null;
 
 
 /**
- * @expose
- * @param {Object} value The strand (owner) of the bead.
- */
-org_apache_flex_binding_ChainBinding.prototype.set_strand = function(value) {
-  this.applyBinding();
-};
-
-
-/**
  */
 org_apache_flex_binding_ChainBinding.prototype.applyBinding = function() {
   var chainSet = this.evaluateSourceChain();
@@ -203,3 +194,12 @@ org_apache_flex_binding_ChainWatcher.prototype.handler = function(event) {
     event.oldValue.removeEventListener('valueChange', this.handler);
   this.callback();
 };
+
+
+Object.defineProperties(org_apache_flex_binding_ChainWatcher.prototype, {
+    'strand': {
+		set: function(value) {
+            this.applyBinding();
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/binding/ConstantBinding.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/binding/ConstantBinding.js b/frameworks/js/FlexJS/src/org/apache/flex/binding/ConstantBinding.js
index 36d22c3..99089af 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/binding/ConstantBinding.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/binding/ConstantBinding.js
@@ -39,21 +39,21 @@ org_apache_flex_binding_ConstantBinding.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_binding_ConstantBinding'}] };
 
 
-/**
- * @override
- * @param {Object} value The strand (owner) of the bead.
- */
-org_apache_flex_binding_ConstantBinding.prototype.set_strand = function(value) {
-  org_apache_flex_binding_ConstantBinding.base(this, 'set_strand', value);
-
-  var val;
-  try {
-    val = this.source[this.sourcePropertyName];
-  } catch (e) {
-    try {
-      val = this.source.constructor[this.sourcePropertyName];
-    } catch (e2) {
-    }
-  }
-  this.destination[this.destinationPropertyName] = val;
-};
+Object.defineProperties(org_apache_flex_binding_ConstantBinding.prototype, {
+	'strand': {
+		set: function(value) {
+            org_apache_flex_utils_Language.superSetter(org_apache_flex_binding_ConstantBinding, this, 'strand', value);
+
+       	    var val;
+	        try {
+		      val = this.source[this.sourcePropertyName];
+	        } catch (e) {
+		      try {
+		        val = this.source.constructor[this.sourcePropertyName];
+		      } catch (e2) {
+		      }
+	        }
+	        this.destination[this.destinationPropertyName] = val;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/binding/SimpleBinding.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/binding/SimpleBinding.js b/frameworks/js/FlexJS/src/org/apache/flex/binding/SimpleBinding.js
index fca7e87..9bc9da7 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/binding/SimpleBinding.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/binding/SimpleBinding.js
@@ -56,22 +56,6 @@ org_apache_flex_binding_SimpleBinding.prototype.changeHandler = function() {
 
 
 /**
- * @override
- */
-org_apache_flex_binding_SimpleBinding.prototype.set_strand = function(value) {
-  org_apache_flex_binding_SimpleBinding.base(this, 'set_strand', value);
-
-  if (!this.source)
-    return;
-
-  this.source.addEventListener(this.eventName,
-      goog.bind(this.changeHandler, this));
-
-  this.changeHandler();
-};
-
-
-/**
  * @param {Object} event The event.
  */
 org_apache_flex_binding_SimpleBinding.prototype.sourceChangeHandler = function(event) {
@@ -82,3 +66,22 @@ org_apache_flex_binding_SimpleBinding.prototype.sourceChangeHandler = function(e
     this.changeHandler();
   }
 };
+
+
+Object.defineProperties(org_apache_flex_binding_SimpleBinding.prototype, {
+    'strand': {
+         set: function(value) {
+             org_apache_flex_binding_SimpleBinding.base(this, 'set_strand', value);
+
+             if (!this.source)
+                 return;
+
+             this.source.addEventListener(this.eventName,
+                 goog.bind(this.changeHandler, this));
+
+             this.changeHandler();
+		 }
+	}
+});
+
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
index b048c85..43b6ca6 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/ChartBase.js
@@ -69,20 +69,14 @@ org_apache_flex_charts_core_ChartBase.prototype.createElement = function() {
 org_apache_flex_charts_core_ChartBase.prototype.series_ = null;
 
 
-/**
- * @expose
- * @return {Array} The series for the chart.
- */
-org_apache_flex_charts_core_ChartBase.prototype.get_series = function() {
-  return this.series_;
-};
-
-
-/**
- * @expose
- * @param {Array} value The series for the chart.
- */
-org_apache_flex_charts_core_ChartBase.prototype.set_series = function(value) {
-  this.series_ = value;
-  this.dispatchEvent(new org_apache_flex_events_Event('seriesChanged'));
-};
+Object.defineProperties(org_apache_flex_charts_core_ChartBase.prototype, {
+    'series': {
+		get: function() {
+             return this.series_;
+        },
+        set: function(value) {
+             this.series_ = value;
+             this.dispatchEvent(new org_apache_flex_events_Event('seriesChanged'));
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IAxisBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IAxisBead.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IAxisBead.js
index 6af847a..dd3fa01 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IAxisBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IAxisBead.js
@@ -31,42 +31,22 @@ goog.require('org_apache_flex_core_IBead');
 org_apache_flex_charts_core_IAxisBead = function() {
 };
 
-
-/**
- * @return {string}
- */
-org_apache_flex_charts_core_IAxisBead.prototype.get_placement = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_charts_core_IAxisBead.prototype.set_placement = function(value) {};
-
-
-/**
- * @return {Object}
- */
-org_apache_flex_charts_core_IAxisBead.prototype.get_axisStroke = function() {};
-
-
-/**
- * @param {Object} value
- */
-org_apache_flex_charts_core_IAxisBead.prototype.set_axisStroke = function(value) {};
-
-
-/**
- * @return {Object}
- */
-org_apache_flex_charts_core_IAxisBead.prototype.get_tickStroke = function() {};
-
-
-/**
- * @param {Object} value
- */
-org_apache_flex_charts_core_IAxisBead.prototype.set_tickStroke = function(value) {};
-
+Object.defineProperties(org_apache_flex_charts_core_IAxisBead.prototype, {
+    'placement': {
+		get: function() {},
+        set: function(value) {}
+	},
+
+    'axisStroke': {
+		get: function() {},
+        set: function(value) {}
+	},
+	
+    'tickStroke': {
+		get: function() {},
+        set: function(value) {}
+	}
+});
 
 /**
  * Metadata

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChart.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChart.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChart.js
index 3a76657..045b983 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChart.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChart.js
@@ -29,16 +29,12 @@ org_apache_flex_charts_core_IChart = function() {
 };
 
 
-/**
- * @return {Array}
- */
-org_apache_flex_charts_core_IChart.prototype.get_series = function() {};
-
-
-/**
- * @param {Array} value
- */
-org_apache_flex_charts_core_IChart.prototype.set_series = function(value) {};
+Object.defineProperties(org_apache_flex_charts_core_IChart.prototype, {
+	'series': {
+		get: function() {},
+        set: function(value) {}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartItemRenderer.js
index 7ffddcf..1ba3910 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartItemRenderer.js
@@ -32,64 +32,32 @@ org_apache_flex_charts_core_IChartItemRenderer = function() {
 };
 
 
-/**
- * @return {string}
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.get_xField = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_xField = function(value) {};
-
-
-/**
- * @return {string}
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.get_yField = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_yField = function(value) {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.get_fillColor = function() {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_fillColor = function(value) {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_x = function(value) {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_y = function(value) {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_width = function(value) {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartItemRenderer.prototype.set_height = function(value) {};
+Object.defineProperties(org_apache_flex_charts_core_IChart.prototype, {
+    'xField': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'yField': {
+		get: function() {},
+        set: function(value) {}
+	},
+	'fillColor': {
+		get: function() {},
+	    set: function(value) {}
+	},
+    'x': {
+		set: function(value) {}
+	},
+    'y': {
+		set: function(value) {}
+	},
+    'width': {
+		set: function(value) {}
+	},
+    'height': {
+		set: function(value) {}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartSeries.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartSeries.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartSeries.js
index 4c25e17..d2477e4 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartSeries.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IChartSeries.js
@@ -31,53 +31,24 @@ org_apache_flex_charts_core_IChartSeries = function() {
 };
 
 
-/**
- * @return {string}
- */
-org_apache_flex_charts_core_IChartSeries.prototype.get_xField = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_charts_core_IChartSeries.prototype.set_xField = function(value) {};
-
-
-/**
- * @return {string}
- */
-org_apache_flex_charts_core_IChartSeries.prototype.get_yField = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_charts_core_IChartSeries.prototype.set_yField = function(value) {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IChartSeries.prototype.get_fillColor = function() {};
-
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IChartSeries.prototype.set_fillColor = function(value) {};
-
-
-/**
- * @return {mx_core_IFactory}
- */
-org_apache_flex_charts_core_IChartSeries.prototype.get_itemRenderer = function() {};
-
-
-/**
- * @param {mx_core_IFactory} value
- */
-org_apache_flex_charts_core_IChartSeries.prototype.set_itemRenderer = function(value) {};
-
+Object.defineProperties(org_apache_flex_charts_core_IChartSeries.prototype, {
+    'xField': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'yField': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'fillColor': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'itemRenderer': {
+		get: function() {},
+        set: function(value) {}
+	}
+});
 
 /**
  * Metadata

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
index 6af34ab..7b069c9 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IHorizontalAxisBead.js
@@ -43,25 +43,15 @@ org_apache_flex_charts_core_IHorizontalAxisBead.prototype.FLEXJS_CLASS_INFO = {
   };
 
 
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IHorizontalAxisBead.prototype.set_axisHeight = function(value) {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IHorizontalAxisBead.prototype.get_axisHeight = function() {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IHorizontalAxisBead.prototype.get_maximum = function() {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IHorizontalAxisBead.prototype.get_minimum = function() {};
+Object.defineProperties(org_apache_flex_charts_core_IHorizontalAxisBead.prototype, {
+    'axisHeight': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'maximum': {
+		get: function() {}
+	},
+    'minimum': {
+		get: function() {}
+	}
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
index 9e81573..73c4c56 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/charts/core/IVerticalAxisBead.js
@@ -42,26 +42,15 @@ org_apache_flex_charts_core_IVerticalAxisBead.prototype.FLEXJS_CLASS_INFO = {
     interfaces: [org_apache_flex_charts_core_IAxisBead]
   };
 
-
-/**
- * @param {number} value
- */
-org_apache_flex_charts_core_IVerticalAxisBead.prototype.set_axisWidth = function(value) {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IVerticalAxisBead.prototype.get_axisWidth = function() {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IVerticalAxisBead.prototype.get_maximum = function() {};
-
-
-/**
- * @return {number}
- */
-org_apache_flex_charts_core_IVerticalAxisBead.prototype.get_minimum = function() {};
+Object.defineProperties(org_apache_flex_charts_core_IVerticalAxisBead.prototype, {
+    'axisWidth': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'maximum': {
+		get: function() {}
+	},
+    'minimum': {
+		get: function() {}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ContainerBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ContainerBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ContainerBase.js
index ae3c9f4..5f9148d 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ContainerBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ContainerBase.js
@@ -120,15 +120,6 @@ org_apache_flex_core_ContainerBase.prototype.generateMXMLAttributes = function(d
 
 /**
  * @expose
- * @return {Array} An array of descriptors.
- */
-org_apache_flex_core_ContainerBase.prototype.get_MXMLDescriptor = function() {
-  return this.mxmlDescriptor;
-};
-
-
-/**
- * @expose
  * @param {Object} doc The document.
  * @param {Array} desc The descriptor data;
  */
@@ -139,71 +130,48 @@ org_apache_flex_core_ContainerBase.prototype.setMXMLDescriptor =
 };
 
 
-/**
- * @expose
- * @return {Array} An array of states.
- */
-org_apache_flex_core_ContainerBase.prototype.get_states = function() {
-  return this.states_;
-};
-
-
-/**
- * @expose
- * @param {Array} s An array of states.
- */
-org_apache_flex_core_ContainerBase.prototype.set_states = function(s) {
-  this.states_ = s;
-  this.currentState_ = s[0].name;
-
-  if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
-    /**
-     * @type {Function}
-     */
-    var impl = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
-        getValue(this, 'iStatesImpl'));
-    // TODO: (aharui) check if bead already exists
-    this.addBead(new impl());
-  }
-};
-
-
-/**
- * @expose
- * @return {String} The current state.
- */
-org_apache_flex_core_ContainerBase.prototype.get_currentState = function() {
-  return this.currentState_;
-};
-
-
-/**
- * @expose
- * @param {String} s The current state.
- */
-org_apache_flex_core_ContainerBase.prototype.set_currentState = function(s) {
-  var event = new org_apache_flex_events_ValueChangeEvent(
-      'currentStateChange', false, false, this.currentState_, s);
-  this.currentState_ = s;
-  this.dispatchEvent(event);
-};
-
-
-/**
- * @expose
- * @return {Array} An array of states.
- */
-org_apache_flex_core_ContainerBase.prototype.get_transitions = function() {
-  return this.transitions_;
-};
-
-
-/**
- * @expose
- * @param {Array} s An array of states.
- */
-org_apache_flex_core_ContainerBase.prototype.set_transitions = function(s) {
-  this.transitions_ = s;
-};
-
-
+Object.defineProperties(org_apache_flex_core_ContainerBase.prototype, {
+    'MXMLDescriptor': {
+		get: function() {
+            return this.mxmlDescriptor;
+        }
+	},
+	'states': {
+		get: function() {
+            return this.states_;
+        },
+        set: function(s) {
+            this.states_ = s;
+            this.currentState_ = s[0].name;
+
+            if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
+              /**
+               * @type {Function}
+               */
+              var impl = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
+                  getValue(this, 'iStatesImpl'));
+              // TODO: (aharui) check if bead already exists
+              this.addBead(new impl());
+            }
+        }
+	},
+    'currentState': {
+		get: function() {
+             return this.currentState_;
+        },
+        set: function(s) {
+             var event = new org_apache_flex_events_ValueChangeEvent(
+                  'currentStateChange', false, false, this.currentState_, s);
+             this.currentState_ = s;
+             this.dispatchEvent(event);
+		}
+	},
+    'transitions': {
+		get: function() {
+             return this.transitions_;
+        },
+        set: function(s) {
+           this.transitions_ = s;
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/FilledRectangle.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/FilledRectangle.js b/frameworks/js/FlexJS/src/org/apache/flex/core/FilledRectangle.js
index a9719f3..ce19b08 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/FilledRectangle.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/FilledRectangle.js
@@ -54,22 +54,16 @@ org_apache_flex_core_FilledRectangle.prototype.addedToParent = function() {
 };
 
 
-/**
- * @expose
- * @return {number} The fill color.
- */
-org_apache_flex_core_UIBase.prototype.get_fillColor = function() {
-  return this.fillColor_;
-};
-
-
-/**
- * @param {number} value The fill color.
- */
-org_apache_flex_core_UIBase.prototype.set_fillColor = function(value) {
-  this.fillColor_ = value;
-};
-
+Object.defineProperties(org_apache_flex_core_FilledRectangle.prototype, {
+    'fillColor': {
+		get: function() {
+             return this.fillColor_;
+        },
+        set: function(value) {
+             this.fillColor_ = value;
+        }
+	}
+});
 
 /**
  * @expose

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/FormatBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/FormatBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/FormatBase.js
index 8b83cf8..75d0e28 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/FormatBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/FormatBase.js
@@ -55,15 +55,6 @@ org_apache_flex_core_FormatBase.prototype.strand_ = null;
 
 
 /**
- * @expose
- * @param {org_apache_flex_core_IStrand} value
- */
-org_apache_flex_core_FormatBase.prototype.set_strand = function(value) {
-  this.strand_ = value;
-};
-
-
-/**
  * @type {string}
  */
 org_apache_flex_core_FormatBase.prototype._propertyName = 'text';
@@ -81,63 +72,43 @@ org_apache_flex_core_FormatBase.prototype._eventName = 'textChange';
 org_apache_flex_core_FormatBase.prototype._formattedResult = '';
 
 
-/**
- * @expose
- * @return {Object}
- */
-org_apache_flex_core_FormatBase.prototype.get_propertyValue = function() {
-  var value = this.strand_[this.propertyName];
-  return value;
-};
-
-
-/**
- * @expose
- * @return {string}
- */
-org_apache_flex_core_FormatBase.prototype.get_propertyName = function() {
-  if (this._propertyName == null) {
-    this._propertyName = 'text';
-  }
-  return this._propertyName;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org_apache_flex_core_FormatBase.prototype.set_propertyName = function(value) {
-  this._propertyName = value;
-};
-
-
-/**
- * @expose
- * @return {string}
- */
-org_apache_flex_core_FormatBase.prototype.get_eventName = function() {
-  if (this._eventName == null) {
-    return this._propertyName + 'Change';
-  }
-  return this._eventName;
-};
-
-
-/**
- * @expose
- * @param {string} value
- */
-org_apache_flex_core_FormatBase.prototype.set_eventName = function(value) {
-  this._eventName = value;
-};
-
-
-/**
- * @expose
- * @return {string}
- */
-org_apache_flex_core_FormatBase.prototype.get_formattedString = function() {
-  return null;
-};
-
+Object.defineProperties(org_apache_flex_core_FormatBase.prototype, {
+    'strand': {
+		set: function(value) {
+            this.strand_ = value;
+        }
+	},
+    'propertyValue': {
+		get: function() {
+            var value = this.strand_[this.propertyName];
+            return value;
+        }
+	},
+    'propertyName': {
+		get: function() {
+            if (this._propertyName == null) {
+              this._propertyName = 'text';
+            }
+            return this._propertyName;
+        },
+        set: function(value) {
+            this._propertyName = value;
+        }
+	},
+    'eventName': {
+		get: function() {
+            if (this._eventName == null) {
+                 return this._propertyName + 'Change';
+            }
+            return this._eventName;
+        },
+        set: function(value) {
+            this._eventName = value;
+        }
+	},
+    'formattedString': {
+		get: function() {
+             return null;
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
index bd4367a..c17fdc5 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
@@ -131,118 +131,59 @@ org_apache_flex_core_HTMLElementWrapper.prototype.removeBead = function(bead) {
 };
 
 
-/**
- * Hack to allow event.target expressions to work
- *
- * @expose
- * @return {Object} The wrapping object.
- */
-Event.prototype.get_target = function() {
-  var obj = this.target;
-  if (!obj)
-    return this.currentTarget;
-  return obj.flexjs_wrapper;
-};
-
-
-/**
- * Hack to allow event.currentTarget to work
- * @return {Object} The wrapping object.
- */
-Event.prototype.get_currentTarget = function() {
-  return this.currentTarget.flexjs_wrapper;
-};
-
-
-/**
- * Hack to allow event.target expressions to work
- *
- * @expose
- * @return {Object} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_target = function() {
-  // if it is a faked event so just return the target
-  if (!this.event_) return this.target;
-  // for true browser events, get the embedded event's target
-  return this.event_.target;
-};
-
-
-/**
- * Hack to allow event.currentTarget expressions to work
- *
- * @expose
- * @return {?Node|Object} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_currentTarget = function() {
-  // if it is a faked event so just return the currentTarget
-  if (!this.event_) return this.currentTarget;
-  // for true browser events, get the embedded event's currentTarget
-  return this.event_.currentTarget;
-};
-
-
-/**
- * Hack to allow event.screenX expressions to work
- *
- * @expose
- * @return {number} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_screenX = function() {
-  return this.screenX;
-};
-
-
-/**
- * Hack to allow event.screenY expressions to work
- *
- * @expose
- * @return {number} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_screenY = function() {
-  return this.screenY;
-};
-
-
-/**
- * Hack to allow event.clientX expressions to work
- *
- * @expose
- * @return {number} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_clientX = function() {
-  return this.clientX;
-};
-
-
-/**
- * Hack to allow event.clientY expressions to work
- *
- * @expose
- * @return {number} The wrapping object.
- */
-goog.events.BrowserEvent.prototype.get_clientY = function() {
-  return this.clientY;
-};
-
-
-/**
- * Hack to allow event.clientX expressions to work
- *
- * @expose
- * @param {number} value The value.
- */
-goog.events.BrowserEvent.prototype.set_clientX = function(value) {
-  this.clientX = value;
-};
-
-
-/**
- * Hack to allow event.clientY expressions to work
- *
- * @expose
- * @param {number} value The value.
- */
-goog.events.BrowserEvent.prototype.set_clientY = function(value) {
-  this.clientY = value;
-};
+Object.defineProperties(Event.prototype, {
+    /* Hack to allow event.target expressions to work
+     *
+     * @expose
+     * @return {Object} The wrapping object.
+     */
+    'target': {
+		get: function() {
+            var obj = this.target;
+            if (!obj)
+              return this.currentTarget;
+            return obj.flexjs_wrapper;
+        }
+	},
+    /**
+     * Hack to allow event.currentTarget to work
+     * @return {Object} The wrapping object.
+     */
+    'currentTarget': {
+		get: function() {
+            return this.currentTarget.flexjs_wrapper;
+        }
+	}
+});
+
+
+Object.defineProperties(goog.events.BrowserEvent.prototype, {
+    /**
+     * Hack to allow event.target expressions to work
+     *
+     * @expose
+     * @return {Object} The wrapping object.
+     */
+    'target': {
+	    get: function() {
+            // if it is a faked event so just return the target
+            if (!this.event_) return this.target;
+            // for true browser events, get the embedded event's target
+            return this.event_.target;
+        }
+	},
+    /**
+     * Hack to allow event.currentTarget expressions to work
+     *
+     * @expose
+     * @return {?Node|Object} The wrapping object.
+     */
+    'currentTarget': {
+     	 get: function() {
+             // if it is a faked event so just return the currentTarget
+             if (!this.event_) return this.currentTarget;
+             // for true browser events, get the embedded event's currentTarget
+             return this.event_.currentTarget;
+         }
+	}
+});
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/IChild.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/IChild.js b/frameworks/js/FlexJS/src/org/apache/flex/core/IChild.js
index c1b5363..e152f46 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/IChild.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/IChild.js
@@ -31,10 +31,11 @@ org_apache_flex_core_IChild = function() {
 };
 
 
-/**
- * @return {Object} The parent of the child.
- */
-org_apache_flex_core_IChild.prototype.get_parent = function() {};
+Object.defineProperties(org_apache_flex_core_IChild.prototype, {
+    'parent': {
+		get: function() {}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/IContentView.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/IContentView.js b/frameworks/js/FlexJS/src/org/apache/flex/core/IContentView.js
index bdc71b5..5358231 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/IContentView.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/IContentView.js
@@ -31,53 +31,24 @@ org_apache_flex_core_IContentView = function() {
 };
 
 
-/**
- * @return {number} x position.
- */
-org_apache_flex_core_IContentView.prototype.get_x = function() {};
-
-
-/**
- * @param {number} value x position.
- */
-org_apache_flex_core_IContentView.prototype.set_x = function(value) {};
-
-
-/**
- * @return {number} y position.
- */
-org_apache_flex_core_IContentView.prototype.get_y = function() {};
-
-
-/**
- * @param {number} value y position.
- */
-org_apache_flex_core_IContentView.prototype.set_y = function(value) {};
-
-
-/**
- * @return {number} Component width.
- */
-org_apache_flex_core_IContentView.prototype.get_width = function() {};
-
-
-/**
- * @param {number} value Component width.
- */
-org_apache_flex_core_IContentView.prototype.set_width = function(value) {};
-
-
-/**
- * @return {number} Component height.
- */
-org_apache_flex_core_IContentView.prototype.get_height = function() {};
-
-
-/**
- * @param {number} value Component height.
- */
-org_apache_flex_core_IContentView.prototype.set_height = function(value) {};
-
+Object.defineProperties(org_apache_flex_core_IContentView.prototype, {
+    'x': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'y': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'width': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'height': {
+		get: function() {},
+        set: function(value) {}
+	}
+});
 
 /**
  * Adds a new element to component.

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/IFormatBead.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/IFormatBead.js b/frameworks/js/FlexJS/src/org/apache/flex/core/IFormatBead.js
index ad8b1b2..a76e7b5 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/IFormatBead.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/IFormatBead.js
@@ -30,34 +30,19 @@ org_apache_flex_core_IFormatBead = function() {
 };
 
 
-/**
- * @return {string}
- */
-org_apache_flex_core_IFormatBead.prototype.get_propertyName = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_core_IFormatBead.prototype.set_propertyName = function(value) {};
-
-
-/**
- * @return {string}
- */
-org_apache_flex_core_IFormatBead.prototype.get_eventName = function() {};
-
-
-/**
- * @param {string} value
- */
-org_apache_flex_core_IFormatBead.prototype.set_eventName = function(value) {};
-
-
-/**
- * @return {string}
- */
-org_apache_flex_core_IFormatBead.prototype.get_formattedString = function() {};
+Object.defineProperties(org_apache_flex_core_IFormatBead.prototype, {
+    'propertyName': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'eventName': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'formattedString': {
+		get: function() {}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ILayoutParent.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ILayoutParent.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ILayoutParent.js
index d110e99..5f19893 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ILayoutParent.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ILayoutParent.js
@@ -38,36 +38,18 @@ org_apache_flex_core_ILayoutParent.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_ILayoutParent' }] };
 
 
-/**
- * @expose
- * @return {Object} The view that contains the layout objects.
- */
-org_apache_flex_core_ILayoutParent.prototype.get_contentView = function() {};
-
-
-/**
- * @expose
- * @return {Object} The border for the layout area.
- */
-org_apache_flex_core_ILayoutParent.prototype.get_border = function() {};
-
-
-/**
- * @expose
- * @return {Object} The vertical scrollbar.
- */
-org_apache_flex_core_ILayoutParent.prototype.get_vScrollBar = function() {};
-
-
-/**
- * @expose
- * @param {Object} value The vertical scrollbar.
- */
-org_apache_flex_core_ILayoutParent.prototype.set_vScrollBar = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} The view that can be resized.
- */
-org_apache_flex_core_ILayoutParent.prototype.get_resizeableView = function() {};
+Object.defineProperties(org_apache_flex_core_ILayoutParent.prototype, {
+    'contentView': {
+		get: function() {}
+	},
+    'border': {
+		get: function() {}
+	},
+    'vScrollBar': {
+		get: function() {},
+        set: function(value) {}
+	},
+    'resizeableView': {
+		get: function() {}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/IListPresentationModel.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/IListPresentationModel.js b/frameworks/js/FlexJS/src/org/apache/flex/core/IListPresentationModel.js
index 665590d..795a66c 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/IListPresentationModel.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/IListPresentationModel.js
@@ -35,19 +35,12 @@ org_apache_flex_core_IListPresentationModel = function() {
 };
 
 
-/**
- * @expose
- * @param {number} value The height of the rows.
- */
-org_apache_flex_core_IListPresentationModel.prototype.set_rowHeight = function(value) {};
-
-
-/**
- * @expose
- * @return {number} The height of the rows.
- */
-org_apache_flex_core_IListPresentationModel.prototype.get_rowHeight = function() {};
-
+Object.defineProperties(org_apache_flex_core_IListPresentationModel.prototype, {
+    'rowHeight': {
+		set: function(value) {},
+        get: function() {}
+	}
+});
 
 /**
  * Metadata

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectableItemRenderer.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectableItemRenderer.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectableItemRenderer.js
index bf80b6f..6436927 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectableItemRenderer.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectableItemRenderer.js
@@ -35,75 +35,28 @@ org_apache_flex_core_ISelectableItemRenderer = function() {
 };
 
 
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.set_labelField = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} The labelField.
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.get_labelField = function() {};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.set_index = function(value) {};
-
-
-/**
- * @expose
- * @return {number} The selected index.
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.get_index = function() {};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.set_selected = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} Whether or not the item in the selected state.
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.get_selected = function() {};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.set_hovered = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} Whether or not the item is in the hovered state.
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.get_hovered = function() {};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.set_down = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} Whether or not the item is in the down state.
- */
-org_apache_flex_core_ISelectableItemRenderer.prototype.get_down = function() {};
-
+Object.defineProperties(org_apache_flex_core_ISelectableItemRenderer.prototype, {
+    'labelField': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'index': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'selected': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'hovered': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'down': {
+		set: function(value) {},
+        get: function() {}
+	}
+});
 
 /**
  * Metadata

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectionModel.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectionModel.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectionModel.js
index a503263..237e097 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectionModel.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ISelectionModel.js
@@ -35,47 +35,20 @@ org_apache_flex_core_ISelectionModel = function() {
 };
 
 
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectionModel.prototype.set_dataProvider = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} The dataProvider.
- */
-org_apache_flex_core_ISelectionModel.prototype.get_dataProvider = function() {};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_ISelectionModel.prototype.set_selectedIndex = function(value) {};
-
-
-/**
- * @expose
- * @return {number} The selected index.
- */
-org_apache_flex_core_ISelectionModel.prototype.get_selectedIndex = function() {};
-
-
-/**
- * @expose
- * @param {Object} value
- */
-org_apache_flex_core_ISelectionModel.prototype.set_selectedItem = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} The selected item.
- */
-org_apache_flex_core_ISelectionModel.prototype.get_selectedItem = function() {};
-
+Object.defineProperties(org_apache_flex_core_ISelectionModel.prototype, {
+    'dataProvider': {
+		set: function(value) {},
+        get: function() {}
+	},
+    'selectedIndex': {
+		set: function(value) {},
+		get: function() {}
+	},
+    'selectedItem': {
+		set: function(value) {},
+        get: function() {}
+	}
+});
 
 /**
  * Metadata

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ITextModel.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ITextModel.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ITextModel.js
index d394d9d..579123e 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ITextModel.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ITextModel.js
@@ -35,18 +35,12 @@ org_apache_flex_core_ITextModel = function() {
 };
 
 
-/**
- * @expose
- * @param {Object} value The text content.
- */
-org_apache_flex_core_ITextModel.prototype.set_text = function(value) {};
-
-
-/**
- * @expose
- * @return {Object} The text content.
- */
-org_apache_flex_core_ITextModel.prototype.get_text = function() {};
+Object.defineProperties(org_apache_flex_core_ITextModel.prototype, {
+    'text': {
+		set: function(value) {},
+        get: function() {}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
index 12930a7..827859f 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ItemRendererClassFactory.js
@@ -44,34 +44,33 @@ org_apache_flex_core_ItemRendererClassFactory.
       interfaces: [org_apache_flex_core_IItemRendererClassFactory] };
 
 
-/**
- * @expose
- * @param {Object} value The component strand.
- */
-org_apache_flex_core_ItemRendererClassFactory.
-    prototype.set_strand = function(value) {
-  this.strand_ = value;
+Object.defineProperties(org_apache_flex_core_ItemRendererClassFactory.prototype, {
+    'strand': {
+		set: function(value) {
+            this.strand_ = value;
 
-  // see if the _strand has an itemRenderer property that isn't empty. if that's
-  // true, use that value instead of pulling it from the the style
-  if (this.strand_.get_itemRenderer) {
-    this.itemRendererClassFactory = this.strand_.itemRenderer;
-    if (this.itemRendererClassFactory) {
-      this.createFunction = this.createFromClass;
-      return;
-    }
-  }
+            // see if the _strand has an itemRenderer property that isn't empty. if that's
+            // true, use that value instead of pulling it from the the style
+            if (this.strand_.get_itemRenderer) {
+              this.itemRendererClassFactory = this.strand_.itemRenderer;
+              if (this.itemRendererClassFactory) {
+                this.createFunction = this.createFromClass;
+                return;
+              }
+            }
 
-  if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
-    this.itemRendererClass =
-            /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
-        getValue(this.strand_, 'iItemRenderer'));
-    if (this.itemRendererClass) {
-      this.itemRendererClassFactory = new mx_core_ClassFactory(this.itemRendererClass);
-      this.createFunction = this.createFromClass;
-    }
-  }
-};
+            if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
+              this.itemRendererClass =
+              /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
+                  getValue(this.strand_, 'iItemRenderer'));
+              if (this.itemRendererClass) {
+                this.itemRendererClassFactory = new mx_core_ClassFactory(this.itemRendererClass);
+                this.createFunction = this.createFromClass;
+              }
+           }
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
index 0cd35f5..9e7b1b7 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
@@ -104,15 +104,6 @@ org_apache_flex_core_UIBase.prototype.FLEXJS_CLASS_INFO =
 
 /**
  * @expose
- * @param {Array.<Object>} value The list of beads from MXML.
- */
-org_apache_flex_core_UIBase.prototype.set_beads = function(value) {
-  this.mxmlBeads_ = value;
-};
-
-
-/**
- * @expose
  * @type {Object}
  */
 org_apache_flex_core_UIBase.prototype.positioner = null;
@@ -212,25 +203,6 @@ org_apache_flex_core_UIBase.prototype.removeElement = function(c) {
 
 
 /**
- * @return {number} The number of child elements.
- */
-org_apache_flex_core_UIBase.prototype.get_numElements = function() {
-  var children = this.internalChildren();
-  return children.length;
-};
-
-
-/**
- * @return {Object} The parent of this object.
- */
-org_apache_flex_core_UIBase.prototype.get_parent = function() {
-  var p = this.positioner.parentNode;
-  var wrapper = p.flexjs_wrapper;
-  return wrapper;
-};
-
-
-/**
  */
 org_apache_flex_core_UIBase.prototype.addedToParent = function() {
 
@@ -363,216 +335,242 @@ org_apache_flex_core_UIBase.prototype.removeBead =
 };
 
 
-/**
- * @expose
- * @param {number} alpha The alpha or opacity.
- */
-org_apache_flex_core_UIBase.prototype.set_alpha = function(alpha) {
-  this.positioner.style.opacity = alpha;
-};
-
-
-/**
- * @expose
- * @return {number} The alpha or opacity.
- */
-org_apache_flex_core_UIBase.prototype.get_alpha = function() {
-  var stralpha = this.positioner.style.opacity;
-  var alpha = parseFloat(stralpha);
-  return alpha;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The pixel count from the left edge.
- */
-org_apache_flex_core_UIBase.prototype.set_x = function(pixels) {
-  this.positioner.style.position = 'absolute';
-  this.positioner.style.left = pixels.toString() + 'px';
-};
-
-
-/**
- * @expose
- * @return {number} The pixel count from the left edge.
- */
-org_apache_flex_core_UIBase.prototype.get_x = function() {
-  var strpixels = this.positioner.style.left;
-  var pixels = parseFloat(strpixels);
-  if (isNaN(pixels))
-    pixels = this.positioner.offsetLeft;
-  return pixels;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The pixel count from the top edge.
- */
-org_apache_flex_core_UIBase.prototype.set_y = function(pixels) {
-  this.positioner.style.position = 'absolute';
-  this.positioner.style.top = pixels.toString() + 'px';
-};
-
-
-/**
- * @expose
- * @return {number} The pixel count from the top edge.
- */
-org_apache_flex_core_UIBase.prototype.get_y = function() {
-  var strpixels = this.positioner.style.top;
-  var pixels = parseFloat(strpixels);
-  if (isNaN(pixels))
-    pixels = this.positioner.offsetTop;
-  return pixels;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The pixel count from the left edge.
- */
-org_apache_flex_core_UIBase.prototype.set_width = function(pixels) {
-  this.explicitWidth = pixels;
-  this.setWidth(pixels);
-};
-
-
-/**
- * @expose
- * @return {number} The width of the object in pixels.
- */
-org_apache_flex_core_UIBase.prototype.get_width = function() {
-  var pixels;
-  var strpixels = this.positioner.style.width;
-  if (strpixels !== null && strpixels.indexOf('%') != -1)
-    pixels = NaN;
-  else
-    pixels = parseFloat(strpixels);
-  if (isNaN(pixels)) {
-    pixels = this.positioner.offsetWidth;
-    if (pixels === 0 && this.positioner.scrollWidth !== 0) {
-      // invisible child elements cause offsetWidth to be 0.
-      pixels = this.positioner.scrollWidth;
-    }
-  }
-  return pixels;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The pixel count from the left edge.
- */
-org_apache_flex_core_UIBase.prototype.set_explicitWidth = function(pixels) {
-  this.explicitWidth_ = pixels;
-  if (!isNaN(pixels))
-    this.percentWidth_ = NaN;
-};
-
-
-/**
- * @expose
- * @return {number} The width of the object in pixels.
- */
-org_apache_flex_core_UIBase.prototype.get_explicitWidth = function() {
-  return this.explicitWidth_;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The percent width of the object.
- */
-org_apache_flex_core_UIBase.prototype.set_percentWidth = function(pixels) {
-  this.percentWidth_ = pixels;
-  this.positioner.style.width = pixels.toString() + '%';
-  if (!isNaN(pixels))
-    this.explicitWidth_ = NaN;
-};
-
-
-/**
- * @expose
- * @return {number} The percent width of the object.
- */
-org_apache_flex_core_UIBase.prototype.get_percentWidth = function() {
-  return this.percentWidth_;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The pixel count from the top edge.
- */
-org_apache_flex_core_UIBase.prototype.set_height = function(pixels) {
-  this.explicitHeight = pixels;
-  this.setHeight(pixels);
-};
-
-
-/**
- * @expose
- * @return {number} The height of the object in pixels.
- */
-org_apache_flex_core_UIBase.prototype.get_height = function() {
-  var pixels;
-  var strpixels = this.positioner.style.height;
-  if (strpixels !== null && strpixels.indexOf('%') != -1)
-    pixels = NaN;
-  else
-    pixels = parseFloat(strpixels);
-  if (isNaN(pixels)) {
-    pixels = this.positioner.offsetHeight;
-    if (pixels === 0 && this.positioner.scrollHeight !== 0) {
-      // invisible child elements cause offsetHeight to be 0.
-      pixels = this.positioner.scrollHeight;
-    }
-  }
-  return pixels;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The height of the object in pixels.
- */
-org_apache_flex_core_UIBase.prototype.set_explicitHeight = function(pixels) {
-  this.explicitHeight_ = pixels;
-  if (!isNaN(pixels))
-    this.percentHeight_ = NaN;
-};
-
-
-/**
- * @expose
- * @return {number} The height of the object in pixels.
- */
-org_apache_flex_core_UIBase.prototype.get_explicitHeight = function() {
-  return this.explicitHeight_;
-};
-
-
-/**
- * @expose
- * @param {number} pixels The percentage height.
- */
-org_apache_flex_core_UIBase.prototype.set_percentHeight = function(pixels) {
-  this.percentHeight_ = pixels;
-  this.positioner.style.height = pixels.toString() + '%';
-  if (!isNaN(pixels))
-    this.explicitHeight_ = NaN;
-};
-
-
-/**
- * @expose
- * @return {number} The percentage height of the object.
- */
-org_apache_flex_core_UIBase.prototype.get_percentHeight = function() {
-  return this.percentHeight_;
-};
+Object.defineProperties(org_apache_flex_core_UIBase.prototype, {
+    /**
+     * @expose
+     * @param {Array.<Object>} value The list of beads from MXML.
+     */
+    'beads': {
+		set: function(value) {
+            this.mxmlBeads_ = value;
+        }
+	},
+    'numElements': {
+		get: function() {
+            var children = this.internalChildren();
+            return children.length;
+		}
+	},
+    'parent': {
+		get: function() {
+            var p = this.positioner.parentNode;
+            var wrapper = p.flexjs_wrapper;
+            return wrapper;
+		}
+	},
+    'alpha': {
+		set: function(alpha) {
+            this.positioner.style.opacity = alpha;
+        },
+        get: function() {
+            var stralpha = this.positioner.style.opacity;
+            var alpha = parseFloat(stralpha);
+            return alpha;
+		}
+	},
+    'x': {
+		set: function(pixels) {
+            this.positioner.style.position = 'absolute';
+            this.positioner.style.left = pixels.toString() + 'px';
+        },
+        get: function() {
+            var strpixels = this.positioner.style.left;
+            var pixels = parseFloat(strpixels);
+            if (isNaN(pixels))
+              pixels = this.positioner.offsetLeft;
+            return pixels;
+		}
+	},
+    'y': {
+		set: function(pixels) {
+            this.positioner.style.position = 'absolute';
+            this.positioner.style.top = pixels.toString() + 'px';
+        },
+        get: function() {
+            var strpixels = this.positioner.style.top;
+            var pixels = parseFloat(strpixels);
+            if (isNaN(pixels))
+              pixels = this.positioner.offsetTop;
+            return pixels;
+		}
+	},
+    'width': {
+		set: function(pixels) {
+            this.explicitWidth = pixels;
+            this.setWidth(pixels);
+        },
+        get: function() {
+            var pixels;
+            var strpixels = this.positioner.style.width;
+            if (strpixels !== null && strpixels.indexOf('%') != -1)
+              pixels = NaN;
+            else
+              pixels = parseFloat(strpixels);
+            if (isNaN(pixels)) {
+              pixels = this.positioner.offsetWidth;
+              if (pixels === 0 && this.positioner.scrollWidth !== 0) {
+                // invisible child elements cause offsetWidth to be 0.
+                pixels = this.positioner.scrollWidth;
+              }
+            }
+            return pixels;
+        }
+	},
+    'explicitWidth': {
+		set: function(pixels) {
+            this.explicitWidth_ = pixels;
+            if (!isNaN(pixels))
+              this.percentWidth_ = NaN;
+        },
+        get: function() {
+            return this.explicitWidth_;
+        }
+	},
+    'percentWidth': {
+		set: function(pixels) {
+            this.percentWidth_ = pixels;
+            this.positioner.style.width = pixels.toString() + '%';
+            if (!isNaN(pixels))
+              this.explicitWidth_ = NaN;
+        },
+        get: function() {
+            return this.percentWidth_;
+        }
+	},
+    'height': {
+		set: function(pixels) {
+            this.explicitHeight = pixels;
+            this.setHeight(pixels);
+        },
+        get: function() {
+            var pixels;
+            var strpixels = this.positioner.style.height;
+            if (strpixels !== null && strpixels.indexOf('%') != -1)
+              pixels = NaN;
+            else
+              pixels = parseFloat(strpixels);
+            if (isNaN(pixels)) {
+              pixels = this.positioner.offsetHeight;
+              if (pixels === 0 && this.positioner.scrollHeight !== 0) {
+                // invisible child elements cause offsetHeight to be 0.
+                pixels = this.positioner.scrollHeight;
+              }
+            }
+            return pixels;
+		}
+	},
+    'explicitHeight': {
+		set: function(pixels) {
+            this.explicitHeight_ = pixels;
+            if (!isNaN(pixels))
+                this.percentHeight_ = NaN;
+        },
+        get: function() {
+            return this.explicitHeight_;
+        }
+	},
+    'percentHeight': {
+		set: function(pixels) {
+            this.percentHeight_ = pixels;
+            this.positioner.style.height = pixels.toString() + '%';
+            if (!isNaN(pixels))
+              this.explicitHeight_ = NaN;
+        },
+        get: function() {
+            return this.percentHeight_;
+        }
+	},
+    'id': {
+		get: function() {
+            return this.id;
+        },
+        set: function(value) {
+            if (this.id !== value) {
+              this.element.id = value;
+              this.id = value;
+              this.dispatchEvent('idChanged');
+            }
+        }
+	},
+    'className': {
+		get: function() {
+            return this.className;
+        },
+        set: function(value) {
+            if (this.className !== value) {
+              this.element.className = this.typeNames ? value + ' ' + this.typeNames : value;
+              this.className = value;
+              this.dispatchEvent('classNameChanged');
+            }
+		}
+	},
+    'model': {
+		get: function() {
+            if (this.model == null) {
+              // addbead will set _model
+              if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
+                /**
+                 * @type {Function}
+                 */
+                var m = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
+                    getValue(this, 'iBeadModel'));
+                var b = new m();
+                this.addBead(b);
+              }
+            }
+            return this.model;
+		},
+        set: function(value) {
+            if (this.model !== value) {
+              this.addBead(value);
+              this.dispatchEvent('modelChanged');
+            }
+		}
+	},
+    'style': {
+		get: function() {
+            return this.style_;
+        },
+        set: function(value) {
+            if (this.style_ !== value) {
+              if (typeof(value) == 'string')
+                value = org_apache_flex_core_ValuesManager.valuesImpl.parseStyles(value);
+              this.style_ = value;
+              if (value.addEventListener)
+                value.addEventListener(org_apache_flex_events_ValueChangeEvent.VALUE_CHANGE,
+                    goog.bind(this.styleChangeHandler, this));
+              this.dispatchEvent('stylesChanged');
+            }
+		}
+	},
+    'visible': {
+		get: function() {
+            return this.positioner.style.display !== 'none';
+        },
+        set: function(value) {
+            var oldValue = this.positioner.style.display !== 'none';
+            if (value !== oldValue) {
+              if (!value) {
+                this.lastDisplay_ = this.positioner.style.display;
+                this.positioner.style.display = 'none';
+                this.dispatchEvent(new org_apache_flex_events_Event('hide'));
+              } else {
+                if (this.lastDisplay_) {
+                  this.positioner.style.display = this.lastDisplay_;
+                } else {
+                  this.positioner.style.display = 'block';
+                }
+                this.dispatchEvent(new org_apache_flex_events_Event('show'));
+              }
+           }
+		}
+	},
+    'topMostEventDispatcher': {
+		get: function() {
+            return document.body.flexjs_wrapper;
+        }
+	}
+});
 
 
 /**
@@ -672,28 +670,6 @@ org_apache_flex_core_UIBase.prototype.id = '';
 
 /**
  * @expose
- * @return {string} The id.
- */
-org_apache_flex_core_UIBase.prototype.get_id = function() {
-  return this.id;
-};
-
-
-/**
- * @expose
- * @param {string} value The new id.
- */
-org_apache_flex_core_UIBase.prototype.set_id = function(value) {
-  if (this.id !== value) {
-    this.element.id = value;
-    this.id = value;
-    this.dispatchEvent('idChanged');
-  }
-};
-
-
-/**
- * @expose
  * @type {string}
  */
 org_apache_flex_core_UIBase.prototype.typeNames = '';
@@ -708,29 +684,6 @@ org_apache_flex_core_UIBase.prototype.className = '';
 
 /**
  * @expose
- * @return {string} The className.
- */
-org_apache_flex_core_UIBase.prototype.get_className = function() {
-  return this.className;
-};
-
-
-/**
- * @expose
- * @param {string} value The new className.
- */
-org_apache_flex_core_UIBase.prototype.set_className = function(value) {
-  if (this.className !== value)
-  {
-    this.element.className = this.typeNames ? value + ' ' + this.typeNames : value;
-    this.className = value;
-    this.dispatchEvent('classNameChanged');
-  }
-};
-
-
-/**
- * @expose
  * @type {Object}
  */
 org_apache_flex_core_UIBase.prototype.model = null;
@@ -738,66 +691,6 @@ org_apache_flex_core_UIBase.prototype.model = null;
 
 /**
  * @expose
- * @return {Object} The model.
- */
-org_apache_flex_core_UIBase.prototype.get_model = function() {
-  if (this.model == null)
-  {
-    // addbead will set _model
-    if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
-      /**
-       * @type {Function}
-       */
-      var m = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
-          getValue(this, 'iBeadModel'));
-      var b = new m();
-      this.addBead(b);
-    }
-  }
-  return this.model;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new model.
- */
-org_apache_flex_core_UIBase.prototype.set_model = function(value) {
-  if (this.model !== value) {
-    this.addBead(value);
-    this.dispatchEvent('modelChanged');
-  }
-};
-
-
-/**
- * @expose
- * @return {Object} The style properties.
- */
-org_apache_flex_core_UIBase.prototype.get_style = function() {
-  return this.style_;
-};
-
-
-/**
- * @expose
- * @param {Object} value The new style properties.
- */
-org_apache_flex_core_UIBase.prototype.set_style = function(value) {
-  if (this.style_ !== value) {
-    if (typeof(value) == 'string')
-      value = org_apache_flex_core_ValuesManager.valuesImpl.parseStyles(value);
-    this.style_ = value;
-    if (value.addEventListener)
-      value.addEventListener(org_apache_flex_events_ValueChangeEvent.VALUE_CHANGE,
-          goog.bind(this.styleChangeHandler, this));
-    this.dispatchEvent('stylesChanged');
-  }
-};
-
-
-/**
- * @expose
  * @param {org_apache_flex_events_ValueChangeEvent} value The new style properties.
  */
 org_apache_flex_core_UIBase.prototype.styleChangeHandler = function(value) {
@@ -807,42 +700,3 @@ org_apache_flex_core_UIBase.prototype.styleChangeHandler = function(value) {
 };
 
 
-/**
- * @expose
- * @return {boolean} True if visible.
- */
-org_apache_flex_core_UIBase.prototype.get_visible = function() {
-  return this.positioner.style.display !== 'none';
-};
-
-
-/**
- * @expose
- * @param {boolean} value The new model.
- */
-org_apache_flex_core_UIBase.prototype.set_visible = function(value) {
-  var oldValue = this.positioner.style.display !== 'none';
-  if (value !== oldValue) {
-    if (!value) {
-      this.lastDisplay_ = this.positioner.style.display;
-      this.positioner.style.display = 'none';
-      this.dispatchEvent(new org_apache_flex_events_Event('hide'));
-    } else {
-      if (this.lastDisplay_) {
-        this.positioner.style.display = this.lastDisplay_;
-      } else {
-        this.positioner.style.display = 'block';
-      }
-      this.dispatchEvent(new org_apache_flex_events_Event('show'));
-    }
-  }
-};
-
-
-/**
- * @expose
- * @return {Object} The top most EventDispatcher.
- */
-org_apache_flex_core_UIBase.prototype.get_topMostEventDispatcher = function() {
-  return document.body.flexjs_wrapper;
-};

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ValuesManager.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ValuesManager.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ValuesManager.js
index 9ac715a..279e409 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ValuesManager.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ValuesManager.js
@@ -42,21 +42,13 @@ org_apache_flex_core_ValuesManager.prototype.FLEXJS_CLASS_INFO =
 org_apache_flex_core_ValuesManager.prototype.valuesImpl = null;
 
 
-/**
- * @expose
- * @this {org_apache_flex_core_ValuesManager}
- * @return {org_apache_flex_core_IValuesImpl} The value.
- */
-org_apache_flex_core_ValuesManager.get_valuesImpl = function() {
-  return org_apache_flex_core_ValuesManager.valuesImpl;
-};
-
-
-/**
- * @expose
- * @this {org_apache_flex_core_ValuesManager}
- * @param {org_apache_flex_core_IValuesImpl} value being set.
- */
-org_apache_flex_core_ValuesManager.set_valuesImpl = function(value) {
-  org_apache_flex_core_ValuesManager.valuesImpl = value;
-};
+Object.defineProperties(org_apache_flex_core_ValuesManager.prototype, {
+    'valuesImpl': {
+		get: function() {
+            return org_apache_flex_core_ValuesManager.valuesImpl;
+        },
+        set: function(value) {
+            org_apache_flex_core_ValuesManager.valuesImpl = value;
+		}
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBase.js
index cebe40a..c05d0db 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/ViewBase.js
@@ -104,15 +104,6 @@ org_apache_flex_core_ViewBase.prototype.document = null;
 
 /**
  * @expose
- * @return {Array} An array of descriptors.
- */
-org_apache_flex_core_ViewBase.prototype.get_MXMLDescriptor = function() {
-  return this.MXMLDescriptor;
-};
-
-
-/**
- * @expose
  * @param {Object} doc The document.
  * @param {Array} desc The descriptor data;
  */
@@ -150,44 +141,6 @@ org_apache_flex_core_ViewBase.prototype.addedToParent = function() {
 
 /**
  * @expose
- * @return {Object} The application model.
- */
-org_apache_flex_core_ViewBase.prototype.get_applicationModel = function() {
-  return this.applicationModel;
-};
-
-
-/**
- * @expose
- * @return {Array} The array of State objects.
- */
-org_apache_flex_core_ViewBase.prototype.get_states = function() {
-  return this.states_;
-};
-
-
-/**
- * @expose
- * @param {Array} value The array of State objects.
- */
-org_apache_flex_core_ViewBase.prototype.set_states = function(value) {
-  this.states_ = value;
-  this.currentState_ = value[0].name;
-
-  if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
-    /**
-     * @type {Function}
-     */
-    var impl = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
-        getValue(this, 'iStatesImpl'));
-    // TODO: (aharui) check if bead already exists
-    this.addBead(new impl());
-  }
-};
-
-
-/**
- * @expose
  * @param {string} state The name of the state.
  * @return {boolean} True if state in states array.
  */
@@ -202,41 +155,59 @@ org_apache_flex_core_ViewBase.prototype.hasState = function(state) {
 };
 
 
-/**
- * @expose
- * @return {string} The name of the current state.
- */
-org_apache_flex_core_ViewBase.prototype.get_currentState = function() {
-  return this.currentState_;
-};
-
-
-/**
- * @expose
- * @param {string} value The name of the current state.
- */
-org_apache_flex_core_ViewBase.prototype.set_currentState = function(value) {
-  var event = new org_apache_flex_events_ValueChangeEvent(
-      'currentStateChange', false, false, this.currentState_, value);
-  this.currentState_ = value;
-  this.dispatchEvent(event);
-};
-
-
-/**
- * @expose
- * @return {Array} The array of transitions.
- */
-org_apache_flex_core_ViewBase.prototype.get_transitions = function() {
-  return this.transitions_;
-};
-
-
-/**
- * @expose
- * @param {Array} value The array of transitions.
- */
-org_apache_flex_core_ViewBase.prototype.set_transitions = function(value) {
-  this.transitions_ = value;
-};
-
+Object.defineProperties(org_apache_flex_core_ViewBase.prototype, {
+    /**
+     * @return {Array} An array of descriptors.
+     */
+    'MXMLDescriptor': {
+		get: function() {
+            return this.MXMLDescriptor;
+		}
+	},
+    /**
+     * @return {Object} The application model.
+     */
+    'applicationModel': {
+		get: function() {
+            return this.applicationModel;
+        }
+	},
+    'states': {
+		get: function() {
+            return this.states_;
+		},
+        set: function(value) {
+            this.states_ = value;
+            this.currentState_ = value[0].name;
+
+            if (org_apache_flex_core_ValuesManager.valuesImpl.getValue) {
+              /**
+               * @type {Function}
+               */
+              var impl = /** @type {Function} */ (org_apache_flex_core_ValuesManager.valuesImpl.
+                  getValue(this, 'iStatesImpl'));
+              // TODO: (aharui) check if bead already exists
+              this.addBead(new impl());
+            }
+		}
+	},
+    'currentState': {
+		get: function() {
+            return this.currentState_;
+        },
+        set: function(value) {
+            var event = new org_apache_flex_events_ValueChangeEvent(
+                'currentStateChange', false, false, this.currentState_, value);
+            this.currentState_ = value;
+            this.dispatchEvent(event);
+		}
+	},
+    'transitions': {
+		get: function() {
+            return this.transitions_;
+        },
+        set: function(value) {
+            this.transitions_ = value;
+        }
+	}
+});

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/Circle.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/Circle.js b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/Circle.js
index b64bd2e..a3cbd7f 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/Circle.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/Circle.js
@@ -45,22 +45,17 @@ org_apache_flex_core_graphics_Circle.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_graphics_Circle' }] };
 
 
-/**
- * @expose
- * @param {number} v The radius of the circle.
- */
-org_apache_flex_core_graphics_Circle.prototype.set_radius = function(v) {
-  this.radius_ = v;
-};
-
 
-/**
- * @expose
- * @return {number} The radius of the circle.
- */
-org_apache_flex_core_graphics_Circle.prototype.get_radius = function() {
-  return this.radius_;
-};
+Object.defineProperties(org_apache_flex_core_graphics_Circle.prototype, {
+    'radius': {
+		set: function(v) {
+            this.radius_ = v;
+		},
+        get: function() {
+            return this.radius_;
+		}
+	}
+});
 
 
 /**

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientBase.js
index 5d7ce32..1331360 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientBase.js
@@ -64,45 +64,53 @@ org_apache_flex_core_graphics_GradientBase.prototype._entries = [];
 org_apache_flex_core_graphics_GradientBase.prototype._rotation = 0.0;
 
 
-/**
- * @expose
- * @return {Array}
- */
-org_apache_flex_core_graphics_GradientBase.prototype.get_entries = function() {
-  return this._entries;
-};
-
-
-/**
- * @expose
- * @param {Array} value
- */
-org_apache_flex_core_graphics_GradientBase.prototype.set_entries = function(value) {
-  this._entries = value;
-};
-
-
-/**
- * @expose
- *  By default, the LinearGradientStroke defines a transition
- *  from left to right across the control.
- *  Use the <code>rotation</code> property to control the transition direction.
- *  For example, a value of 180.0 causes the transition
- *  to occur from right to left, rather than from left to right.
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientBase.prototype.get_rotation = function() {
-  return this._rotation;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientBase.prototype.set_rotation = function(value) {
-  this._rotation = value;
-};
+Object.defineProperties(org_apache_flex_core_graphics_GradientBase.prototype, {
+    'entries': {
+		get: function() {
+            return this._entries;
+        },
+        set: function(value) {
+            this._entries = value;
+        }
+	},
+    /**
+     *  By default, the LinearGradientStroke defines a transition
+     *  from left to right across the control.
+     *  Use the <code>rotation</code> property to control the transition direction.
+     *  For example, a value of 180.0 causes the transition
+     *  to occur from right to left, rather than from left to right.
+     * @return {number}
+     */
+    'rotation': {
+		get: function() {
+            return this._rotation;
+        },
+        set: function(value) {
+            this._rotation = value;
+        }
+	},
+    'x': {
+		get: function() {
+            return this._x;
+        },
+        set: function(value) {
+            this._x = value;
+        }
+	},
+    'y': {
+		set: function(value) {
+            this._y = value;
+		},
+        get: function() {
+            return this._y;
+		}
+	},
+    'newId': {
+		get: function() {
+            return 'gradient' + String(Math.floor((Math.random() * 100000) + 1));
+		}
+	}
+});
 
 
 /**
@@ -112,57 +120,12 @@ org_apache_flex_core_graphics_GradientBase.prototype._x = 0;
 
 
 /**
- * @expose
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientBase.prototype.get_x = function() {
-  return this._x;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientBase.prototype.set_x = function(value) {
-  this._x = value;
-};
-
-
-/**
  * @type {number}
  */
 org_apache_flex_core_graphics_GradientBase.prototype._y = 0;
 
 
 /**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientBase.prototype.set_y = function(value) {
-  this._y = value;
-};
-
-
-/**
- * @expose
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientBase.prototype.get_y = function() {
-  return this._y;
-};
-
-
-/**
- * @expose
- * @return {string} A new gradient id value.
- */
-org_apache_flex_core_graphics_GradientBase.prototype.get_newId = function() {
-  return 'gradient' + String(Math.floor((Math.random() * 100000) + 1));
-};
-
-
-/**
  * Metadata
  *
  * @type {Object.<string, Array.<Object>>}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientEntry.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientEntry.js b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientEntry.js
index aeb0d52..38458d0 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientEntry.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GradientEntry.js
@@ -55,65 +55,38 @@ org_apache_flex_core_graphics_GradientEntry.prototype._color = 0x000000;
 org_apache_flex_core_graphics_GradientEntry.prototype._ratio = 0x000000;
 
 
-/**
- * @expose
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.get_alpha = function() {
-  return this._alpha;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.set_alpha = function(value) {
-  var /** @type {number} */ oldValue = this._alpha;
-  if (value != oldValue) {
-    this._alpha = value;
-  }
-};
-
-
-/**
- * @expose
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.get_color = function() {
-  return this._color;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.set_color = function(value) {
-  var /** @type {number} */ oldValue = this._color;
-  if (value != oldValue) {
-    this._color = value;
-  }
-};
-
-
-/**
- * @expose
- * @return {number}
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.get_ratio = function() {
-  return this._ratio;
-};
-
-
-/**
- * @expose
- * @param {number} value
- */
-org_apache_flex_core_graphics_GradientEntry.prototype.set_ratio = function(value) {
-  this._ratio = value;
-};
-
+Object.defineProperties(org_apache_flex_core_graphics_GradientEntry.prototype, {
+    'alpha': {
+		get: function() {
+            return this._alpha;
+        },
+        set: function(value) {
+            var /** @type {number} */ oldValue = this._alpha;
+            if (value != oldValue) {
+                this._alpha = value;
+            }
+        }
+	},
+    'color': {
+		get: function() {
+            return this._color;
+        },
+        set: function(value) {
+            var /** @type {number} */ oldValue = this._color;
+            if (value != oldValue) {
+              this._color = value;
+            }
+        }
+	},
+    'ratio': {
+		get: function() {
+            return this._ratio;
+        },
+        set: function(value) {
+            this._ratio = value;
+        }
+	}
+});
 
 /**
  * @expose

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/5344e8ba/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GraphicShape.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GraphicShape.js b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GraphicShape.js
index 870c645..2fa4201 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GraphicShape.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/graphics/GraphicShape.js
@@ -88,39 +88,30 @@ org_apache_flex_core_graphics_GraphicShape.prototype.FLEXJS_CLASS_INFO =
                 qName: 'org_apache_flex_core_graphics_GraphicShape' }] };
 
 
-/**
- * @expose
- * @return {org_apache_flex_core_graphics_IFill} The fill object.
- */
-org_apache_flex_core_graphics_GraphicShape.prototype.get_fill = function() {
-  return this.fill_;
-};
-
-
-/**
- * @param {org_apache_flex_core_graphics_IFill} value The fill object.
- */
-org_apache_flex_core_graphics_GraphicShape.prototype.set_fill = function(value) {
-  this.fill_ = value;
-};
-
-
-/**
- * @expose
- * @return {org_apache_flex_core_graphics_IStroke} The stroke object.
- */
-org_apache_flex_core_graphics_GraphicShape.prototype.get_stroke = function() {
-  return this.stroke_;
-};
-
-
-/**
- * @expose
- * @param {org_apache_flex_core_graphics_IStroke} value The stroke object.
- */
-org_apache_flex_core_graphics_GraphicShape.prototype.set_stroke = function(value) {
-  this.stroke_ = value;
-};
+Object.defineProperties(org_apache_flex_core_graphics_GradientEntry.prototype, {
+    /**
+     * @type {org_apache_flex_core_graphics_IFill}
+     */
+    'fill': {
+        get: function() {
+            return this.fill_;
+        },
+        set: function(value) {
+            this.fill_ = value;
+        }
+    },
+    /**
+     * @type {org_apache_flex_core_graphics_IStroke} The stroke object.
+     */
+    'stroke': {
+        get: function() {
+            return this.stroke_;
+        },
+        set: function(value) {
+            this.stroke_ = value;
+        }
+	}
+});
 
 
 /**