PRInt32 i; for (i = aIndent; --i >= 0; ) fputs("  ", out);
for (PRInt32 i = aIndent; --i >= 0; ) fputs("  ", out); fputs("Text", out); ListAttributes(out); fprintf(out, " RefCnt=%d<\"", mRefCnt);
TextFrame::List(FILE* out, PRInt32 aIndent) const{  PRInt32 i;  for (i = aIndent; --i >= 0; ) fputs("  ", out);  // Output the tag  ListTag(out);  nsIView* view;  GetView(view);  if (nsnull != view) {    fprintf(out, " [view=%p]", view);  }  // Output the first/last content offset and prev/next in flow info  PRBool isComplete =    mContentOffset + mContentLength == ((Text*)mContent)->mLength;  fprintf(out, "[%d,%d,%c] ",           mContentOffset, mContentOffset+mContentLength-1,          isComplete ? 'T':'F');  if (nsnull != mPrevInFlow) {    fprintf(out, "prev-in-flow=%p ", mPrevInFlow);  }  if (nsnull != mNextInFlow) {    fprintf(out, "next-in-flow=%p ", mNextInFlow);  }  // Output the rect and state  out << mRect;  if (0 != mState) {    fprintf(out, " [state=%08x]", mState);  }  // Output the text  fputs("<\n", out);  aIndent++;  for (i = aIndent; --i >= 0; ) fputs("  ", out);  Text* txt = (Text*) mContent;  nsAutoString tmp;  txt->ToCString(tmp, mContentOffset, mContentLength);  fputs("\"", out);  fputs(tmp, out);  fputs("\"\n", out);  aIndent--;  for (i = aIndent; --i >= 0; ) fputs("  ", out);  fputs(">\n", out);#ifdef NOISY  if (nsnull != mWords) {    for (i = aIndent; --i >= 0; ) fputs("  ", out);    fputs("  @words ", out);    PRUint32* wp = mWords;    PRInt32 total = mContentLength;    while (total != 0) {      PRUint32 wordInfo = *wp++;      nscoord wordWidth = GET_WORD_WIDTH(wordInfo);      PRIntn wordLen = GET_WORD_LENGTH(wordInfo);      fprintf(out, "%c-%d-%d ",              ((wordInfo & WORD_IS_WORD) ? 'w' : 's'),              wordWidth, wordLen);      total -= wordLen;      NS_ASSERTION(total >= 0, "bad word data");    }    fputs("\n", out);  }#endif  return NS_OK;}