in asdoc/org/apache/royale/utils/MXMLDataInterpreter.js [163:261]
org.apache.royale.utils.MXMLDataInterpreter.initializeStrandBasedObject = function(document, parent, comp, data, i) {
var /** @type {number} */ j = 0;
var /** @type {number} */ m = 0;
//var /** @type {number} */ m = 0;
//var /** @type {number} */ j = 0;
var /** @type {string} */ name;
var /** @type {*} */ simple;
var /** @type {Object} */ value;
var /** @type {string} */ id = null;
m = (data[i++]) >> 0;
if (m > 0 && data[0] == "model") {
m--;
name = org.apache.royale.utils.Language.string(data[i++]);
simple = data[i++];
value = data[i++];
if (simple == null)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray(document, parent, value);
else if (simple == false)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLObject(document, value);
comp[name] = value;
if (org.apache.royale.utils.Language.is(value, org.apache.royale.core.IBead) && org.apache.royale.utils.Language.is(comp, org.apache.royale.core.IStrand))
comp.addBead(value);
}
var /** @type {number} */ beadOffset = (i + (m - 1) * 3) >> 0;
if (m > 0 && data[beadOffset] == "beads") {
m--;
}
else
beadOffset = -1;
for (j = 0; j < m; j++) {
name = org.apache.royale.utils.Language.string(data[i++]);
simple = data[i++];
value = data[i++];
if (simple == null)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray(document, null, value);
else if (simple == false)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLObject(document, value);
if (name == "id")
id = value;
if (name == "document" && !comp.document)
comp.document = document;
else if (name == "_id")
id = value; else if (name == "id") {
try {
comp["id"] = value;
} catch (e) {
}
}
else
comp[name] = value;
}
if (beadOffset > -1) {
name = org.apache.royale.utils.Language.string(data[i++]);
simple = data[i++];
value = data[i++];
if (simple == null)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray(document, null, value);
else if (simple == false)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLObject(document, value);
comp[name] = value;
}
m = (data[i++]) >> 0;
for (j = 0; j < m; j++) {
name = org.apache.royale.utils.Language.string(data[i++]);
simple = data[i++];
value = data[i++];
if (simple == null)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray(document, null, value);
else if (simple == false)
value = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLObject(document, value);
comp.setStyle(name, value);
}
m = (data[i++]) >> 0;
for (j = 0; j < m; j++) {
name = org.apache.royale.utils.Language.string(data[i++]);
value = data[i++];
comp.addEventListener(name, goog.bind( /** @type {Function} */ (value), document));
}
if (id)
document[id] = comp;
if (org.apache.royale.utils.Language.is(comp, org.apache.royale.core.IDocument))
comp.setDocument(document, id);
var /** @type {boolean} */ knownIMXMLDoc;
var /** @type {Array} */ children = data[i++];
if (children && org.apache.royale.utils.Language.is(comp, org.apache.royale.core.IMXMLDocument)) {
comp.setMXMLDescriptor(document, children);
knownIMXMLDoc = true;
}
if (parent && org.apache.royale.utils.Language.is(comp, org.apache.royale.core.IChild))
parent.addElement(comp, !org.apache.royale.utils.Language.is(parent, org.apache.royale.core.IContainer));
if (children) {
if (!(knownIMXMLDoc || org.apache.royale.utils.Language.is(comp, org.apache.royale.core.IMXMLDocument))) {
org.apache.royale.utils.MXMLDataInterpreter.generateMXMLInstances(document, comp, children);
}
}
return i;
};