Esempio n. 1
0
        public JsonTokenizer(int bufferSize = k_DefaultBufferSize, JsonValidationType validation = JsonValidationType.None, Allocator label = SerializationConfiguration.DefaultAllocatorLabel)
        {
            m_ValidationType = validation;
            m_Label          = label;

            if (bufferSize <= 0)
            {
                throw new ArgumentException($"Token buffer size {bufferSize} <= 0");
            }

            m_JsonTokens   = new NativeArray <Token>(bufferSize, m_Label, NativeArrayOptions.UninitializedMemory);
            m_DiscardRemap = new NativeArray <int>(bufferSize, m_Label, NativeArrayOptions.UninitializedMemory);

            switch (validation)
            {
            case JsonValidationType.None:
                m_Validator = new JsonNoneValidator();
                break;

            case JsonValidationType.Standard:
                m_Validator = new JsonStandardValidator(label);
                break;

            case JsonValidationType.Simple:
                m_Validator = new JsonSimpleValidator(label);
                break;
            }

            Initialize();
        }
Esempio n. 2
0
        public JsonTokenizer(int bufferSize = k_DefaultBufferSize, JsonValidationType validation = JsonValidationType.None, Allocator label = SerializationConfiguration.DefaultAllocatorLabel)
        {
            m_Label = label;
            m_Data  = (Data *)UnsafeUtility.Malloc(sizeof(Data), UnsafeUtility.AlignOf <Data>(), label);
            UnsafeUtility.MemClear(m_Data, sizeof(Data));

            m_Data->BufferSize     = bufferSize;
            m_Data->ValidationType = validation;

            if (bufferSize <= 0)
            {
                throw new ArgumentException($"Token buffer size {bufferSize} <= 0");
            }

            m_Data->JsonTokens   = (Token *)UnsafeUtility.Malloc(bufferSize * sizeof(Token), 4, label);
            m_Data->DiscardRemap = (int *)UnsafeUtility.Malloc(bufferSize * sizeof(int), 4, label);

            switch (validation)
            {
            case JsonValidationType.Standard:
                m_Data->StandardValidator = new JsonStandardValidator(label);
                break;

            case JsonValidationType.Simple:
                m_Data->SimpleValidator = new JsonSimpleValidator(label);
                break;
            }

            m_Data->TokenNextIndex   = 0;
            m_Data->TokenParentIndex = -1;
            m_Data->PrevChar         = 0;
        }
Esempio n. 3
0
 public JsonValidator(JsonValidationType validationType, Allocator label = SerializationConfiguration.DefaultAllocatorLabel)
 {
     m_ValidationType = validationType;
     m_Label          = label;
     m_Data           = (Data *)UnsafeUtility.Malloc(sizeof(Data), UnsafeUtility.AlignOf <Data>(), label);
     m_Data->Stack    = new JsonTypeStack(k_DefaultDepthLimit, label);
     Reset();
 }
Esempio n. 4
0
 public JsonTokenizer(JsonValidationType validation, Allocator label = SerializationConfiguration.DefaultAllocatorLabel)
     : this(k_DefaultBufferSize, validation, label)
 {
 }