protected void AppendChild(RCValue scalar) { _value = new RCBlock(_value, _name, ":", scalar); if (_state == JSONState.Value) { _name = ""; _state = JSONState.Name; } }
protected void EndBlock() { if (_values.Count > 0) { RCBlock child = _value; _name = _names.Pop(); _value = _values.Pop(); _state = _states.Pop(); AppendChild(child); } }
public override void AcceptBlock(RCToken token) { if (token.Text.Equals("{")) { StartBlock(); _state = JSONState.Name; } else if (token.Text.Equals("}")) { EndBlock(); } }
public override void AcceptString(RCToken token) { if (_state == JSONState.Name) { _name = token.ParseString(_lexer); _state = JSONState.Value; } else { AppendChild(new RCString(token.ParseString(_lexer))); } }
public override void AcceptCube(RCToken token) { if (token.Text.Equals("[")) { StartBlock(); _state = JSONState.Default; } else if (token.Text.Equals("]")) { EndBlock(); } }