WriteJson method

void WriteJson(
  1. SimpleJsonWriter writer
)

Implementation

void WriteJson(SimpleJsonWriter writer) {
  writer.WriteObjectStart();

  // callstack
  writer.WritePropertyStart("callstack");
  writer.WriteArrayStart();
  for (Element el in callstack) {
    writer.WriteObjectStart();
    if (!el.currentPointer.isNull) {
      writer.WriteProperty(
          "cPath", el.currentPointer.container!.path.componentsString);
      writer.WriteProperty("idx", el.currentPointer.index);
    }

    writer.WriteProperty("exp", el.inExpressionEvaluation);
    writer.WriteProperty("type", el.type.index);

    if (el.temporaryVariables.isNotEmpty) {
      writer.WritePropertyStart("temp");
      JsonSerialization.WriteDictionaryRuntimeObjs(
          writer, el.temporaryVariables);
      writer.WritePropertyEnd();
    }

    writer.WriteObjectEnd();
  }
  writer.WriteArrayEnd();
  writer.WritePropertyEnd();

  // threadIndex
  writer.WriteProperty("threadIndex", threadIndex);

  if (!previousPointer.isNull) {
    writer.WriteProperty(
        "previousContentObject", previousPointer.resolve()!.path.toString());
  }

  writer.WriteObjectEnd();
}