models.ASDocModel.prototype.models_ASDocModel_completeInterfaceHandler = function()

in asdoc/models/ASDocModel.js [737:827]


models.ASDocModel.prototype.models_ASDocModel_completeInterfaceHandler = function(event) {
  this.models_ASDocModel_app.service.removeEventListener("complete", org.apache.royale.utils.Language.closure(this.models_ASDocModel_completeInterfaceHandler, this, 'models_ASDocModel_completeInterfaceHandler'));
  var /** @type {ASDocInterface} */ data = this.models_ASDocModel_app.reviver.parse(this.models_ASDocModel_app.service.data);
  if (this.models_ASDocModel__currentClassData == null) {
    this.models_ASDocModel__currentClassData = data;
    this.models_ASDocModel__publicProperties = [];
    this.models_ASDocModel__publicMethods = [];
    this.models_ASDocModel__publicEvents = [];
    this.models_ASDocModel__constructorList = [];
    this.models_ASDocModel__baseClassList = [];
    this.models_ASDocModel__inheritance = null;
    this.models_ASDocModel__attributesMap = {};
    this.models_ASDocModel__attributes = null;
  }
  else if (this.models_ASDocModel_currentPlatform == this.platforms[0])
    this.models_ASDocModel__baseClassList.push(data.qname);
  var foreachiter7_target = data.members;
  for (var foreachiter7 in foreachiter7_target) 
  {
  var m = foreachiter7_target[foreachiter7];
  {
    if (!m.platforms)
      m.platforms = [];
    m.platforms.push(this.models_ASDocModel_currentPlatform);
    m.shortDescription = this.models_ASDocModel_makeShortDescription(m.description);
    if (m.type == "method") {
      if (m.qname == this.models_ASDocModel__currentPackage + "." + this.models_ASDocModel__currentClass) {
        var /** @type {boolean} */ foundMatch = false;
        var /** @type {number} */ n = (this.models_ASDocModel__constructorList.length) >> 0;
        for (var /** @type {number} */ i = 0; i < n; i++) {
          var /** @type {ASDocClassMembers} */ q = this.models_ASDocModel__constructorList[i];
          if (q.params.length == m.params.length) {
            foundMatch = true;
            if (q.platforms.indexOf(m.platforms[0]) == -1)
              q.platforms.push(m.platforms[0]);
            break;
          }
        }
        if (!foundMatch)
          this.models_ASDocModel__constructorList.push(m);
      }
      else if (m.qname != data.qname)
        this.models_ASDocModel_addIfNeededAndMakeAttributes(this.models_ASDocModel__publicMethods, m);
    } else {
      this.models_ASDocModel_addIfNeededAndMakeAttributes(this.models_ASDocModel__publicProperties, m);
    }
  }}
  
  var foreachiter8_target = data.events;
  for (var foreachiter8 in foreachiter8_target) 
  {
  var e = foreachiter8_target[foreachiter8];
  {
    if (!e.platforms)
      e.platforms = [];
    e.platforms.push(this.models_ASDocModel_currentPlatform);
    e.shortDescription = this.models_ASDocModel_makeShortDescription(e.description);
    this.models_ASDocModel_addIfNeededAndMakeAttributes(this.models_ASDocModel__publicEvents, e);
    if (this.models_ASDocModel_masterData["classnames"]["indexOf"](e.type) != -1) {
      var /** @type {string} */ href = e.type;
      var /** @type {number} */ c = (href.lastIndexOf(".")) >> 0;
      if (c != -1) {
        e.type = href.substr(c + 1);
        href = href.substr(0, c) + models.ASDocModel.DELIMITER + href.substr(c + 1);
      }
      e.typehref = "#!" + href;
    }
  }}
  
  var foreachiter9_target = data.tags;
  for (var foreachiter9 in foreachiter9_target) 
  {
  var t = foreachiter9_target[foreachiter9];
  {
    if (!this.models_ASDocModel__attributesMap[t.tagName]) {
      this.models_ASDocModel__attributesMap[t.tagName] = t.values;
    }
  }}
  
  if (data.baseInterfaceNames)
    this.models_ASDocModel_extensions = this.models_ASDocModel_extensions.concat(data.baseInterfaceNames);
  while (this.models_ASDocModel_extensions.length && this.models_ASDocModel_extensions[0]["indexOf"]("flash.") == 0)
    this.models_ASDocModel_extensions.shift();
  if (this.models_ASDocModel_extensions.length) {
    this.models_ASDocModel_app.service.addEventListener("complete", org.apache.royale.utils.Language.closure(this.models_ASDocModel_completeInterfaceHandler, this, 'models_ASDocModel_completeInterfaceHandler'));
    this.models_ASDocModel_app.service.url = this.models_ASDocModel_computeFileName(org.apache.royale.utils.Language.string(this.models_ASDocModel_extensions.shift()));
    this.models_ASDocModel_app.service.send();
  } else {
    this.models_ASDocModel_loadInterfaceForNextPlatform();
  }
};