models.ASDocModel.prototype.models_ASDocModel_classCompleteHandler = function()

in asdoc/models/ASDocModel.js [424:532]


models.ASDocModel.prototype.models_ASDocModel_classCompleteHandler = function(event) {
  this.models_ASDocModel_app.service.removeEventListener("ioError", org.apache.royale.utils.Language.closure(this.models_ASDocModel_classIOErrorHandler, this, 'models_ASDocModel_classIOErrorHandler'));
  this.models_ASDocModel_app.service.removeEventListener("complete", org.apache.royale.utils.Language.closure(this.models_ASDocModel_classCompleteHandler, this, 'models_ASDocModel_classCompleteHandler'));
  var /** @type {ASDocClass} */ 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 foreachiter3_target = data.members;
  for (var foreachiter3 in foreachiter3_target) 
  {
  var m = foreachiter3_target[foreachiter3];
  {
    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];
          var /** @type {ASDocClassMembers} */ mm = m;
          if (q.params.length == mm.params.length) {
            foundMatch = true;
            if (q.platforms.indexOf(mm.platforms[0]) == -1)
              q.platforms.push(mm.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 if (m.type == "accessor") {
      var /** @type {ASDocClassAccessor} */ a = m;
      this.models_ASDocModel_addIfNeededAndMakeAttributes(this.models_ASDocModel__publicProperties, a);
    } else if (m.type == "field") {
      var /** @type {ASDocClassField} */ f = m;
      this.models_ASDocModel_addIfNeededAndMakeAttributes(this.models_ASDocModel__publicProperties, f);
    }
    if (this.models_ASDocModel_masterData["classnames"]["indexOf"](m.return) != -1) {
      var /** @type {string} */ href = m.return;
      var /** @type {number} */ c = (href.lastIndexOf(".")) >> 0;
      if (c != -1) {
        m.return = href.substr(c + 1);
        href = href.substr(0, c) + models.ASDocModel.DELIMITER + href.substr(c + 1);
      }
      m.returnhref = "#!" + href;
    }
  }}
  
  var foreachiter4_target = data.events;
  for (var foreachiter4 in foreachiter4_target) 
  {
  var e = foreachiter4_target[foreachiter4];
  {
    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) {
      href = e.type;
      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 foreachiter5_target = data.tags;
  for (var foreachiter5 in foreachiter5_target) 
  {
  var t = foreachiter5_target[foreachiter5];
  {
    if (!this.models_ASDocModel__attributesMap[t.tagName]) {
      this.models_ASDocModel__attributesMap[t.tagName] = t.values;
    }
  }}
  
  if (data.type == "class" && data.baseClassname && data.baseClassname.indexOf("flash.") != 0 && data.baseClassname.indexOf("goog.") != 0) {
    this.models_ASDocModel_app.service.addEventListener("ioError", org.apache.royale.utils.Language.closure(this.models_ASDocModel_classIOErrorHandler, this, 'models_ASDocModel_classIOErrorHandler'));
    this.models_ASDocModel_app.service.addEventListener("complete", org.apache.royale.utils.Language.closure(this.models_ASDocModel_classCompleteHandler, this, 'models_ASDocModel_classCompleteHandler'));
    this.models_ASDocModel_app.service.url = this.models_ASDocModel_computeFileName(data.baseClassname);
    this.models_ASDocModel_app.service.send();
  } else if (data.type == "interface" && data.baseInterfaceNames && data.baseInterfaceNames.length > 0 && data.baseInterfaceNames[0]["indexOf"]("flash.") != 0 && data.baseInterfaceNames[0]["indexOf"]("goog.") != 0) {
    this.models_ASDocModel_app.service.addEventListener("ioError", org.apache.royale.utils.Language.closure(this.models_ASDocModel_classIOErrorHandler, this, 'models_ASDocModel_classIOErrorHandler'));
    this.models_ASDocModel_app.service.addEventListener("complete", org.apache.royale.utils.Language.closure(this.models_ASDocModel_completeInterfaceHandler, this, 'models_ASDocModel_completeInterfaceHandler'));
    this.models_ASDocModel_extensions = data.baseInterfaceNames;
    this.models_ASDocModel_app.service.url = this.models_ASDocModel_computeFileName(org.apache.royale.utils.Language.string(data.baseInterfaceNames[0]));
    this.models_ASDocModel_app.service.send();
  } else {
    this.models_ASDocModel_loadClassForNextPlatform();
  }
};