summaryrefslogtreecommitdiffstats
path: root/src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py')
-rw-r--r--src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py b/src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py
new file mode 100644
index 000000000..ba9b38e3d
--- /dev/null
+++ b/src/civetweb/src/third_party/duktape-1.5.2/debugger/merge_debug_meta.py
@@ -0,0 +1,32 @@
+#!/usr/bin/env python2
+#
+# Merge debugger YAML metadata files and output a merged JSON metadata file.
+#
+
+import os, sys, json, yaml
+import optparse
+
+if __name__ == '__main__':
+ parser = optparse.OptionParser()
+ parser.add_option('--output', dest='output', default=None, help='output JSON filename')
+ parser.add_option('--class-names', dest='class_names', help='YAML metadata for class names')
+ parser.add_option('--debug-commands', dest='debug_commands', help='YAML metadata for debug commands')
+ parser.add_option('--debug-errors', dest='debug_errors', help='YAML metadata for debug protocol error codes')
+ parser.add_option('--opcodes', dest='opcodes', help='YAML metadata for opcodes')
+ (opts, args) = parser.parse_args()
+
+ res = {}
+ def merge(fn):
+ with open(fn, 'rb') as f:
+ doc = yaml.load(f)
+ for k in doc.keys():
+ res[k] = doc[k]
+
+ merge(opts.class_names)
+ merge(opts.debug_commands)
+ merge(opts.debug_errors)
+ merge(opts.opcodes)
+
+ with open(opts.output, 'wb') as f:
+ f.write(json.dumps(res, indent=4) + '\n')
+ print('Wrote merged debugger metadata to ' + str(opts.output))