예제 #1
0
        public void BeginArray()
        {
            //CheckObjectOrArray();
            var obj = readableMValue.GetNext();

            if (!(obj is ICollection collection))
            {
                return;
            }

            readableMValue = new MValueArrayReader(collection);
            currents.Push(readableMValue);
            insideObject = true;
        }
예제 #2
0
        public void BeginObject()
        {
            //CheckObjectOrArray();
            var obj = readableMValue.GetNext();

            if (!(obj is IDictionary dictionary))
            {
                return;
            }

            readableMValue = new MValueDictionaryReader(dictionary);
            currents.Push(readableMValue);
            insideObject = true;
        }
예제 #3
0
        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;
        }
예제 #4
0
        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;
        }
예제 #5
0
 public MValueReader(ref MValue mValue)
 {
     readableMValue = new MValueStartReader(ref mValue);
 }
예제 #6
0
 public MValueObjectReader(object obj)
 {
     readableMValue = new MValueStartReader(obj);
 }