X-Git-Url: https://git.saurik.com/apple/javascriptcore.git/blobdiff_plain/2d39b0e377c0896910ee49ae70082ba665faf986..ed1e77d3adeb83d26fd1dfb16dd84cabdcefd250:/inspector/scripts/CodeGeneratorInspector.py diff --git a/inspector/scripts/CodeGeneratorInspector.py b/inspector/scripts/CodeGeneratorInspector.py deleted file mode 100755 index 91fa8c9..0000000 --- a/inspector/scripts/CodeGeneratorInspector.py +++ /dev/null @@ -1,2614 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2011 Google Inc. All rights reserved. -# Copyright (c) 2012 Intel Corporation. All rights reserved. -# Copyright (c) 2013 Apple Inc. All Rights Reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following disclaimer -# in the documentation and/or other materials provided with the -# distribution. -# * Neither the name of Google Inc. nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -import os.path -import sys -import string -import optparse -import re -try: - import json -except ImportError: - import simplejson as json - -import CodeGeneratorInspectorStrings - - -DOMAIN_DEFINE_NAME_MAP = { - "Database": "SQL_DATABASE", - "IndexedDB": "INDEXED_DATABASE", - "Replay": "WEB_REPLAY", -} - - -# Manually-filled map of type name replacements. -TYPE_NAME_FIX_MAP = { - "RGBA": "Rgba", # RGBA is reported to be conflicting with a define name in Windows CE. - "": "Empty", -} - - -TYPES_WITH_RUNTIME_CAST_SET = frozenset(["Runtime.RemoteObject", "Runtime.PropertyDescriptor", "Runtime.InternalPropertyDescriptor", - "Debugger.FunctionDetails", "Debugger.CallFrame", - "Canvas.TraceLog", "Canvas.ResourceInfo", "Canvas.ResourceState", - # This should be a temporary hack. TimelineEvent should be created via generated C++ API. - "Timeline.TimelineEvent"]) - -TYPES_WITH_OPEN_FIELD_LIST_SET = frozenset(["Timeline.TimelineEvent", - # InspectorStyleSheet not only creates this property but wants to read it and modify it. - "CSS.CSSProperty", - # InspectorResourceAgent needs to update mime-type. - "Network.Response"]) - -EXACTLY_INT_SUPPORTED = False - -INSPECTOR_TYPES_GENERATOR_CONFIG_MAP = { - "JavaScript": { - "prefix": "JS", - "typebuilder_dependency": "", - "export_macro": "JS_EXPORT_PRIVATE", - }, - "Web": { - "prefix": "Web", - "typebuilder_dependency": "#include ", - "export_macro": "", - }, -} - -cmdline_parser = optparse.OptionParser(usage="usage: %prog [options] ") -cmdline_parser.add_option("--output_h_dir") -cmdline_parser.add_option("--output_cpp_dir") -cmdline_parser.add_option("--output_js_dir") -cmdline_parser.add_option("--output_type") # JavaScript, Web -cmdline_parser.add_option("--write_always", action="store_true") -cmdline_parser.add_option("--no_verification", action="store_true") - -try: - arg_options, arg_values = cmdline_parser.parse_args() - if (len(arg_values) < 1): - raise Exception("At least one plain argument expected") - - input_json_filename = arg_values[0] - dependency_json_filenames = arg_values[1:] - - output_header_dirname = arg_options.output_h_dir - output_cpp_dirname = arg_options.output_cpp_dir - output_js_dirname = arg_options.output_js_dir - output_type = arg_options.output_type - - write_always = arg_options.write_always - verification = not arg_options.no_verification - if not output_header_dirname: - raise Exception("Output .h directory must be specified") - if not output_cpp_dirname: - raise Exception("Output .cpp directory must be specified") - if not output_js_dirname: - raise Exception("Output .js directory must be specified") - if output_type not in INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys(): - raise Exception("Unknown output type. Allowed types are: %s" % INSPECTOR_TYPES_GENERATOR_CONFIG_MAP.keys()) -except Exception: - # Work with python 2 and 3 http://docs.python.org/py3k/howto/pyporting.html - exc = sys.exc_info()[1] - sys.stderr.write("Failed to parse command-line arguments: %s\n\n" % exc) - sys.stderr.write("Usage: