public void BeginArray() { //CheckObjectOrArray(); var obj = readableMValue.GetNext(); if (!(obj is ICollection collection)) { return; } readableMValue = new MValueArrayReader(collection); currents.Push(readableMValue); insideObject = true; }
public void BeginObject() { //CheckObjectOrArray(); var obj = readableMValue.GetNext(); if (!(obj is IDictionary dictionary)) { return; } readableMValue = new MValueDictionaryReader(dictionary); currents.Push(readableMValue); insideObject = true; }
public void BeginArray() { CheckObject(); var mValue = readableMValue.GetNext(); if (mValue.type != MValue.Type.LIST) { return; } var valueArrayRef = MValueArray.Nil; AltNative.MValueGet.MValue_GetList(ref mValue, ref valueArrayRef); readableMValue = new MValueArrayReader(valueArrayRef.Reader()); currents.Push(readableMValue); insideObject = true; }
public void BeginObject() { CheckObject(); var mValue = readableMValue.GetNext(); if (mValue.type != MValue.Type.DICT) { return; } var stringViewArray = StringViewArray.Nil; var valueArrayRef = MValueArray.Nil; AltNative.MValueGet.MValue_GetDict(ref mValue, ref stringViewArray, ref valueArrayRef); readableMValue = new MValueObjectReader(stringViewArray, valueArrayRef.Reader()); currents.Push(readableMValue); insideObject = true; }
public MValueReader(ref MValue mValue) { readableMValue = new MValueStartReader(ref mValue); }
public MValueObjectReader(object obj) { readableMValue = new MValueStartReader(obj); }