| Index: runtime/vm/json.h | 
| =================================================================== | 
| --- runtime/vm/json.h	(revision 7329) | 
| +++ runtime/vm/json.h	(working copy) | 
| @@ -1,128 +0,0 @@ | 
| -// Copyright (c) 2012, the Dart project authors.  Please see the AUTHORS file | 
| -// for details. All rights reserved. Use of this source code is governed by a | 
| -// BSD-style license that can be found in the LICENSE file. | 
| - | 
| -#ifndef VM_JSON_H_ | 
| -#define VM_JSON_H_ | 
| - | 
| -#include "vm/allocation.h" | 
| -#include "vm/globals.h" | 
| - | 
| -namespace dart { | 
| - | 
| - | 
| -// A low level interface to tokenize JSON strings. | 
| -class JSONScanner : ValueObject { | 
| - public: | 
| -  enum Token { | 
| -    TokenIllegal = 0, | 
| -    TokenLBrace, | 
| -    TokenRBrace, | 
| -    TokenLBrack, | 
| -    TokenRBrack, | 
| -    TokenColon, | 
| -    TokenComma, | 
| -    TokenString, | 
| -    TokenInteger, | 
| -    TokenTrue, | 
| -    TokenFalse, | 
| -    TokenNull, | 
| -    TokenEOM | 
| -  }; | 
| -  explicit JSONScanner(const char* json_text); | 
| - | 
| -  void SetText(const char* json_text); | 
| -  void Scan(); | 
| -  Token CurrentToken() const { return token_; } | 
| -  bool EOM() const { return token_ == TokenEOM; } | 
| -  const char* TokenChars() const { return token_start_; } | 
| -  int TokenLen() const { return token_length_; } | 
| -  bool IsStringLiteral(const char* literal) const; | 
| -  void Skip(Token matching_token); | 
| - | 
| - private: | 
| -  bool IsLetter(char ch) const; | 
| -  bool IsDigit(char ch) const; | 
| -  bool IsLiteral(const char* literal); | 
| -  void ScanNumber(); | 
| -  void ScanString(); | 
| -  void Recognize(Token t); | 
| - | 
| -  const char* current_pos_; | 
| -  const char* token_start_; | 
| -  int token_length_; | 
| -  Token token_; | 
| -}; | 
| - | 
| - | 
| -// JSONReader is a higher level interface that allows for lookup of | 
| -// name-value pairs in JSON objects. | 
| -class JSONReader : ValueObject { | 
| - public: | 
| -  enum JSONType { | 
| -    kString, | 
| -    kInteger, | 
| -    kObject, | 
| -    kArray, | 
| -    kLiteral, | 
| -    kNone | 
| -  }; | 
| - | 
| -  explicit JSONReader(const char* json_object); | 
| -  void Set(const char* json_object); | 
| - | 
| -  // Returns true if a pair with the given name was found. | 
| -  bool Seek(const char* name); | 
| - | 
| -  // Returns true if a syntax error was found. | 
| -  bool Error() const { return error_; } | 
| - | 
| -  JSONType Type() const; | 
| -  const char* ValueChars() const { | 
| -    return (Type() != kNone) ? scanner_.TokenChars() : NULL; | 
| -  } | 
| -  int ValueLen() const { | 
| -    return (Type() != kNone) ? scanner_.TokenLen() : 0; | 
| -  } | 
| -  bool IsStringLiteral(const char* literal) const { | 
| -    return scanner_.IsStringLiteral(literal); | 
| -  } | 
| -  bool IsTrue() const { | 
| -    return scanner_.CurrentToken() == JSONScanner::TokenTrue; | 
| -  } | 
| -  bool IsFalse() const { | 
| -    return scanner_.CurrentToken() == JSONScanner::TokenFalse; | 
| -  } | 
| -  bool IsNull() const { | 
| -    return scanner_.CurrentToken() == JSONScanner::TokenNull; | 
| -  } | 
| - | 
| - private: | 
| -  JSONScanner scanner_; | 
| -  const char* json_object_; | 
| -  bool error_; | 
| -}; | 
| - | 
| - | 
| -// TextBuffer maintains a dynamic character buffer with a printf-style way to | 
| -// append text. | 
| -class TextBuffer : ValueObject { | 
| - public: | 
| -  explicit TextBuffer(intptr_t buf_size); | 
| -  ~TextBuffer(); | 
| - | 
| -  intptr_t Printf(const char* format, ...); | 
| -  void Clear(); | 
| - | 
| -  char* buf() { return buf_; } | 
| - | 
| - private: | 
| -  void GrowBuffer(intptr_t len); | 
| -  char* buf_; | 
| -  intptr_t buf_size_; | 
| -  intptr_t msg_len_; | 
| -}; | 
| - | 
| -}  // namespace dart | 
| - | 
| -#endif  // VM_JSON_H_ | 
|  |