Beispiel #1
0
            public void WriteJson(SimpleJson.Writer writer)
            {
                writer.WriteObjectStart();

                // callstack
                writer.WritePropertyStart("callstack");
                writer.WriteArrayStart();
                foreach (CallStack.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", (int)el.type);

                    if (el.temporaryVariables.Count > 0)
                    {
                        writer.WritePropertyStart("temp");
                        Json.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();
            }
Beispiel #2
0
            public object WriteJson()
            {
                var dict = new Dictionary <string, object>();

                dict["threadIndex"] = threadIndex;

                if (!previousPointer.isNull)
                {
                    dict["previousContentObject"] = previousPointer.Resolve().path.ToString();
                }

                var elements = new List <object>();

                foreach (CallStack.Element el in callstack)
                {
                    var item = new Dictionary <string, object>();

                    if (!el.currentPointer.isNull)
                    {
                        item["cPath"] = el.currentPointer.container.path.componentsString;
                        item["idx"]   = el.currentPointer.index;
                    }

                    item["exp"]  = el.inExpressionEvaluation;
                    item["type"] = (int)el.type;

                    if (el.temporaryVariables.Count > 0)
                    {
                        item["temp"] = Json.WriteDictionaryRuntimeObjs(el.temporaryVariables);
                    }

                    elements.Add(item);
                }

                dict["callstack"] = elements;
                return(dict);
            }