private void processComment(DocCommentNode comment){
  this.key=new KeyPair("IGNORE",-1);
  hasDefaultProperty=false;
  if (comment.def instanceof PackageDefinitionNode) {
    processPackage((PackageDefinitionNode)comment.def);
  }
 else   if (comment.def instanceof ClassDefinitionNode) {
    ClassDefinitionNode cd=(ClassDefinitionNode)comment.def;
    processClassAndInterface(cd);
  }
 else   if (comment.def instanceof FunctionDefinitionNode) {
    processFunction((FunctionDefinitionNode)comment.def);
  }
 else   if (comment.def instanceof VariableDefinitionNode) {
    processField((VariableDefinitionNode)comment.def);
  }
 else {
    this.key.name="Unsupported";
  }
  if (this.key.type == -1)   return;
  this.key.isStatic=isStatic;
  if (comment.getId() != null)   processTags(comment.getId());
  if (!exclude && hasInheritTag) {
    processInheritDoc();
  }
  processMetadata(comment);
  if (comment.def instanceof ClassDefinitionNode && abcClass != null) {
    if (!hasDefaultProperty) {
      ClassDefinitionNode cd=(ClassDefinitionNode)comment.def;
      List<MetaData> metadataList=abcClass.getMetaData(StandardDefs.MD_DEFAULTPROPERTY,true);
      if (metadataList.size() != 0) {
        inheritMetaDataComment(cd.debug_name,metadataList.get(0));
      }
    }
  }
}

private void processComment ( DocCommentNode comment ) { this . key = new KeyPair ( "IGNORE" , - 1 ) ; hasDefaultProperty = false ; if ( comment . def instanceof PackageDefinitionNode ) { processPackage ( ( PackageDefinitionNode ) comment . def ) ; } else if ( comment . def instanceof ClassDefinitionNode ) { ClassDefinitionNode cd = ( ClassDefinitionNode ) comment . def ; processClassAndInterface ( cd ) ; } else if ( comment . def instanceof FunctionDefinitionNode ) { processFunction ( ( FunctionDefinitionNode ) comment . def ) ; } else if ( comment . def instanceof VariableDefinitionNode ) { processField ( ( VariableDefinitionNode ) comment . def ) ; } else { this . key . name = "Unsupported" ; } if ( this . key . type == - 1 ) return ; this . key . isStatic = isStatic ; if ( comment . getId ( ) != null ) processTags ( comment . getId ( ) ) ; if ( ! exclude && hasInheritTag ) { processInheritDoc ( ) ; } processMetadata ( comment ) ; if ( comment . def instanceof ClassDefinitionNode && abcClass != null ) { if ( ! hasDefaultProperty ) { ClassDefinitionNode cd = ( ClassDefinitionNode ) comment . def ; List < MetaData > metadataList = abcClass . getMetaData ( StandardDefs . MD_DEFAULTPROPERTY , true ) ; if ( metadataList . size ( ) != 0 ) { inheritMetaDataComment ( cd . debug_name , metadataList . get ( 0 ) ) ; } } } }
processcomment ( ) extracts the necessary information from the doccommentnode using its helper methods . the helper methods use the logic derived from the asc parser . it also processes any inheritdoc tags .
