Пример #1
0
        /// <summary>
        /// Pushes a new frame, e.g. when starting to process a lambda expression or a block expression.
        /// </summary>
        /// <param name="json">JSON representation of the serialization frame.</param>
        /// <param name="types">Type space used to lookup parameter types.</param>
        /// <returns>Frame containing mappings for the specified parameters.</returns>
        public DeserializationFrame PushFrame(Json.Expression json, TypeSpace types)
        {
            var frame = new DeserializationFrame(json, types);

            _environment.Push(frame);
            return(frame);
        }
Пример #2
0
 /// <summary>
 /// Creates a new deserialization state object.
 /// </summary>
 /// <param name="globals">JSON representation of globals to make available.</param>
 /// <param name="types">Type space for lookup of types.</param>
 public DeserializationState(Json.Expression globals, TypeSpace types)
 {
     _environment = new Stack <DeserializationFrame>();
     _globals     = new DeserializationFrame(globals, types);
 }