Ejemplo n.º 1
0
  @Override
  public StringBuilder appendToString(OtpErlangObject obj, StringBuilder sb) {
    if (obj instanceof OtpErlangAtom) {
      sb.append("'").append(obj.toString());
    } else if (obj instanceof OtpErlangBinary) {

      sb.append("#B(");
      Formatting.binaryToString((OtpErlangBinary) obj, " ", sb);
      sb.append(")");
    } else if (OtpUtil.isErlyberlyRecordField(obj)) {
      OtpErlangObject fieldObj = ((OtpErlangTuple) obj).elementAt(2);
      appendToString(fieldObj, sb);
    } else if (obj instanceof OtpErlangTuple) {
      sb.append("#(");
      elementsToString(sb, ((OtpErlangTuple) obj).elements());
      sb.append(")");
    } else if (obj instanceof OtpErlangList) {
      sb.append("(");
      elementsToString(sb, ((OtpErlangList) obj).elements());
      if (!((OtpErlangList) obj).isProper()) {
        sb.append(cons());
        appendToString(((OtpErlangList) obj).getLastTail(), sb);
      }
      sb.append(")");
    } else if (obj instanceof OtpErlangString) {
      sb.append(obj.toString().replace("\n", "\\n"));
    } else {
      sb.append(obj.toString());
    }
    return sb;
  }