summaryrefslogtreecommitdiffstats
path: root/tools/json_schema_compiler/util.cc
diff options
context:
space:
mode:
authorDHNishi@gmail.com <DHNishi@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-12 23:45:38 +0000
committerDHNishi@gmail.com <DHNishi@gmail.com@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-12 23:45:38 +0000
commitbee7a793dee719a5edac218149ddccfda9d07eb3 (patch)
tree35df7a832a981069c0cd6a778ee81c0a3a436f22 /tools/json_schema_compiler/util.cc
parenta176567bf59ee074eb4c404c989baf4e25e2e2cc (diff)
downloadchromium_src-bee7a793dee719a5edac218149ddccfda9d07eb3.zip
chromium_src-bee7a793dee719a5edac218149ddccfda9d07eb3.tar.gz
chromium_src-bee7a793dee719a5edac218149ddccfda9d07eb3.tar.bz2
Add optional schema compiler error messages and unit tests.
Provides the ability to generate error messages within schema-compiled code for ease of debugging. Error messages may be disabled by adding a 'generate_error_messages' property to json schema, e.g. "generate_error_messages": false Error generation mostly written by Aaron Jacobs (https://codereview.chromium.org/16462004/). BUG=234834 Review URL: https://chromiumcodereview.appspot.com/22228002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@217118 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/json_schema_compiler/util.cc')
-rw-r--r--tools/json_schema_compiler/util.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/json_schema_compiler/util.cc b/tools/json_schema_compiler/util.cc
index a449509..c03d076 100644
--- a/tools/json_schema_compiler/util.cc
+++ b/tools/json_schema_compiler/util.cc
@@ -70,5 +70,28 @@ void AddItemToList(const linked_ptr<base::DictionaryValue>& from,
out->Append(static_cast<base::Value*>(from->DeepCopy()));
}
+std::string ValueTypeToString(Value::Type type) {
+ switch(type) {
+ case Value::TYPE_NULL:
+ return "null";
+ case Value::TYPE_BOOLEAN:
+ return "boolean";
+ case Value::TYPE_INTEGER:
+ return "integer";
+ case Value::TYPE_DOUBLE:
+ return "number";
+ case Value::TYPE_STRING:
+ return "string";
+ case Value::TYPE_BINARY:
+ return "binary";
+ case Value::TYPE_DICTIONARY:
+ return "dictionary";
+ case Value::TYPE_LIST:
+ return "list";
+ }
+ NOTREACHED();
+ return "";
+}
+
} // namespace api_util
} // namespace extensions