in asdoc/org/apache/royale/binding/DataBindingBase.js [307:356]
org.apache.royale.binding.DataBindingBase.prototype.decodeWatcher = function(bindingData) {
var /** @type {Object} */ watcherMap = {};
var /** @type {Array} */ watchers = [];
var /** @type {number} */ n = (bindingData.length) >> 0;
var /** @type {number} */ index = 0;
var /** @type {Object} */ watcherData;
while (index < n - 1) {
var /** @type {number} */ watcherIndex = (bindingData[index++]) >> 0;
var /** @type {number} */ type = (bindingData[index++]) >> 0;
switch (type) {
case 0:
watcherData = {type:"function"};
watcherData.functionName = bindingData[index++];
watcherData.paramFunction = bindingData[index++];
watcherData.eventNames = bindingData[index++];
watcherData.bindings = bindingData[index++];
break;
case 1:
watcherData = {type:"static"};
watcherData.propertyName = bindingData[index++];
watcherData.eventNames = bindingData[index++];
watcherData.bindings = bindingData[index++];
watcherData.getterFunction = bindingData[index++];
watcherData.parentObj = bindingData[index++];
watcherMap[watcherData.propertyName] = watcherData;
break;
case 2:
watcherData = {type:"property"};
watcherData.propertyName = bindingData[index++];
watcherData.eventNames = bindingData[index++];
watcherData.bindings = bindingData[index++];
watcherData.getterFunction = bindingData[index++];
watcherMap[watcherData.propertyName] = watcherData;
break;
case 3:
watcherData = {type:"xml"};
watcherData.propertyName = bindingData[index++];
watcherData.bindings = bindingData[index++];
watcherMap[watcherData.propertyName] = watcherData;
break;
}
watcherData.children = bindingData[index++];
if (watcherData.children != null) {
watcherData.children = this.decodeWatcher(watcherData.children);
}
watcherData.index = watcherIndex;
watchers.push(watcherData);
}
return {watchers:watchers, watcherMap:watcherMap};
};