diff options
| author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
|---|---|---|
| committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2015-05-20 09:56:07 +0000 |
| commit | 41386e9cb918eed93b3f13648cbef387e371e451 (patch) | |
| tree | a97f9d7bd1d9d091833286085f72da9d83fd0606 /Source/JavaScriptCore/replay/scripts | |
| parent | e15dd966d523731101f70ccf768bba12435a0208 (diff) | |
| download | WebKitGtk-tarball-41386e9cb918eed93b3f13648cbef387e371e451.tar.gz | |
webkitgtk-2.4.9webkitgtk-2.4.9
Diffstat (limited to 'Source/JavaScriptCore/replay/scripts')
54 files changed, 0 insertions, 3692 deletions
diff --git a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py b/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py deleted file mode 100644 index d838ae5e6..000000000 --- a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py +++ /dev/null @@ -1,1048 +0,0 @@ -#!/usr/bin/env python -# Copyright (c) 2014 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. -# -# 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 re -import sys -import string -from string import Template -import optparse -import logging -from CodeGeneratorReplayInputsTemplates import Templates - -try: - import json -except ImportError: - import simplejson as json - -# Configuration values are first looked up in the framework configuration, -# and then in the global configuration if there is no framework-specific value. -GLOBAL_CONFIG = { - "baseFilename": "ReplayInputs", - "guardCondition": "ENABLE(WEB_REPLAY)", - "traitsFrameworkName": "JavaScriptCore", - - # These are formatted as ([allowed_frameworks], (framework, header_path)). - # The generator can figure out how to format the includes. - "headerIncludes": [ - (["WebCore"], - ("WebCore", "replay/EventLoopInput.h") - ), - (["JavaScriptCore", "WebCore"], - ("JavaScriptCore", "replay/EncodedValue.h") - ), - (["JavaScriptCore"], - ("JavaScriptCore", "replay/NondeterministicInput.h") - ), - (["JavaScriptCore", "WebCore"], - ("WTF", "wtf/TypeCasts.h") - ), - (["WebCore"], - ("WTF", "wtf/text/WTFString.h") - ), - - # Testing fixtures. - (["Test"], - ("WebCore", "platform/ExternalNamespaceHeaderIncludeDummy.h") - ), - (["Test"], - ("Test", "platform/InternalNamespaceHeaderIncludeDummy.h") - ) - ], - - "implIncludes": [ - (["WebCore"], - ("WebCore", "replay/SerializationMethods.h") - ), - (["WebCore", "JavaScriptCore"], - ("JavaScriptCore", "inspector/InspectorValues.h") - ), - (["WebCore", "JavaScriptCore"], - ("WTF", "wtf/NeverDestroyed.h") - ), - - # Testing fixtures. - (["Test"], - ("WebCore", "platform/ExternalNamespaceImplIncludeDummy.h") - ), - (["Test"], - ("Test", "platform/InternalNamespaceImplIncludeDummy.h") - ) - ], -} - -FRAMEWORK_CONFIG_MAP = { - "Global": { - "prefix": "", - "namespace": "" - }, - - "WTF": { - "prefix": "WTF", - "namespace": "WTF", - }, - "JavaScriptCore": { - "prefix": "JS", - "namespace": "JSC", - "exportMacro": "JS_EXPORT_PRIVATE", - }, - "WebCore": { - "prefix": "Web", - "namespace": "WebCore", - "exportMacro": "WEBCORE_EXPORT" - }, - # Used for bindings tests. - "Test": { - "prefix": "Test", - "namespace": "Test", - "exportMacro": "TEST_EXPORT_MACRO" - } -} - -# These settings are specific to an input queue. -QUEUE_CONFIG_MAP = { - "SCRIPT_MEMOIZED": { - "enumValue": "ScriptMemoizedData", - "baseClass": "NondeterministicInput<%s>", - }, - "LOADER_MEMOIZED": { - "enumValue": "LoaderMemoizedData", - "baseClass": "NondeterministicInput<%s>", - }, - "EVENT_LOOP": { - "enumValue": "EventLoopInput", - "baseClass": "EventLoopInput<%s>", - }, -} - -# Use a global logger, which normally only logs errors. -# It can be configured to log debug messages from the CLI. -logging.basicConfig(format='%(levelname)s: %(message)s', level=logging.ERROR) -log = logging.getLogger('global') - - -# Model classes, which transliterate JSON input. -class ParseException(Exception): - pass - - -class TypecheckException(Exception): - pass - - -class Framework: - def __init__(self, name): - self._settings = FRAMEWORK_CONFIG_MAP[name] - self.name = name - - def setting(self, key, default=''): - return self._settings.get(key, default) - - @staticmethod - def fromString(frameworkString): - if frameworkString == "Global": - return Frameworks.Global - - if frameworkString == "WTF": - return Frameworks.WTF - - if frameworkString == "JavaScriptCore": - return Frameworks.JavaScriptCore - - if frameworkString == "WebCore": - return Frameworks.WebCore - - if frameworkString == "Test": - return Frameworks.Test - - raise ParseException("Unknown framework: " + frameworkString) - - -class Frameworks: - Global = Framework("Global") - WTF = Framework("WTF") - JavaScriptCore = Framework("JavaScriptCore") - WebCore = Framework("WebCore") - Test = Framework("Test") - - -class InputQueue: - def __init__(self, settings): - self._settings = settings - - def setting(self, key, default=''): - return self._settings.get(key, default) - - @staticmethod - def fromString(queueString): - if queueString == "SCRIPT_MEMOIZED": - return InputQueues.SCRIPT_MEMOIZED - - if queueString == "LOADER_MEMOIZED": - return InputQueues.LOADER_MEMOIZED - - if queueString == "EVENT_LOOP": - return InputQueues.EVENT_LOOP - - raise ParseException("Unknown input queue: " + queueString) - - -class InputQueues: - SCRIPT_MEMOIZED = InputQueue(QUEUE_CONFIG_MAP["SCRIPT_MEMOIZED"]) - LOADER_MEMOIZED = InputQueue(QUEUE_CONFIG_MAP["LOADER_MEMOIZED"]) - EVENT_LOOP = InputQueue(QUEUE_CONFIG_MAP["EVENT_LOOP"]) - - -class Input: - def __init__(self, name, description, framework, queueString, flags, guard=None): - self.name = name - self.description = description - self.framework = framework - self.queue = InputQueue.fromString(queueString) - self._flags = flags - self.guard = guard - self.members = [] # names should be unique, but ordered. - - def setting(self, key, default=''): - if key in self._flags: - return True - - return self.queue.setting(key, default) - - -class InputMember: - def __init__(self, memberName, typeName, flags=[]): - self.memberName = memberName - self.typeName = typeName - self._flags = flags - - def has_flag(self, key, default=''): - return key in self._flags - - -class TypeMode: - def __init__(self, name): - self._name = name - - @staticmethod - def fromString(modeString): - modeString = modeString.upper() - if modeString == 'SCALAR': - return TypeModes.SCALAR - if modeString == 'HEAVY_SCALAR': - return TypeModes.HEAVY_SCALAR - if modeString == 'OWNED': - return TypeModes.OWNED - if modeString == 'SHARED': - return TypeModes.SHARED - if modeString == 'VECTOR': - return TypeModes.VECTOR - - raise ParseException("Unknown type mode: " + modeString) - - -class TypeModes: - # Copy for assignment and for getter - SCALAR = TypeMode("SCALAR") - # Copy for assignment, pass by reference for getter - HEAVY_SCALAR = TypeMode("HEAVY_SCALAR") - # Move for assignment, pass by reference for getter - OWNED = TypeMode("OWNED") - # Copy a RefPtr for assignment and getter - SHARED = TypeMode("SHARED") - # Move operator for assignment, pass by reference for getter - VECTOR = TypeMode("VECTOR") - - -class Type: - def __init__(self, name, mode, framework, header, enclosing_class, values, guard_values_map, underlying_storage, flags, guard=None): - self._name = name - self.mode = mode - self.framework = framework - self.header = header - self.enclosing_class = enclosing_class - self.values = values - self.guard_values_map = guard_values_map - self.underlying_storage = underlying_storage - self._flags = flags - self.guard = guard - - def __eq__(self, other): - return self.type_name() == other.type_name() and self.mode == other.mode - - def __hash__(self): - return self._name.__hash__() - - def has_flag(self, flagString): - return flagString in self._flags - - def is_struct(self): - return self.has_flag("STRUCT") - - def is_enum(self): - return self.has_flag("ENUM") - - def is_enum_class(self): - return self.has_flag("ENUM_CLASS") - - def declaration_kind(self): - if self.is_enum(): - return "enum" - elif self.is_enum_class(): - return "enum class" - elif self.is_struct(): - return "struct" - else: - return "class" - - def qualified_prefix(self): - components = [] - if self.framework != Frameworks.Global: - components.append(self.framework.setting('namespace')) - if self.enclosing_class is not None: - components.append(self.enclosing_class) - components.append("") - return "::".join(components) - - def type_name(self, qualified=False): - if qualified: - return "%s%s" % (self.qualified_prefix(), self._name) - elif self.enclosing_class is not None: - return "%s::%s" % (self.enclosing_class, self._name) - else: - return self._name - - def storage_type(self, qualified=False): - if self.mode == TypeModes.OWNED: - return "std::unique_ptr<%s>" % self.type_name(qualified) - elif self.mode == TypeModes.SHARED: - return "RefPtr<%s>" % self.type_name(qualified) - else: - return self.type_name(qualified) - - def borrow_type(self, qualified=False): - if self.mode == TypeModes.SCALAR: - return self.type_name(qualified) - elif self.mode == TypeModes.SHARED: - return "RefPtr<%s>" % self.type_name(qualified) - else: - return "const %s&" % self.type_name(qualified) - - def argument_type(self, qualified=False): - if self.mode == TypeModes.SHARED: - return "RefPtr<%s>&&" % self.type_name(qualified) - else: - return self.storage_type() - - def encoding_type_argument(self, qualified=False): - return self.type_name(qualified=qualified) - - -def check_for_required_properties(props, obj, what): - for prop in props: - if prop not in obj: - raise ParseException("When parsing %s, required property missing: %s" % (what, prop)) - - -class VectorType(Type): - def __init__(self, element_type): - self._element_type = element_type - self.mode = TypeModes.VECTOR - self.framework = element_type.framework - self.enclosing_class = None - - def has_flag(self): - return False - - def is_struct(self): - return False - - def is_enum(self): - return False - - def is_enum_class(self): - return False - - def qualified_prefix(self): - return "" - - def type_name(self, qualified=False): - return "Vector<%s>" % self._element_type.storage_type(qualified=qualified) - - def encoding_type_argument(self, qualified=False): - return "Vector<%s>" % self._element_type.type_name(qualified=qualified) - - def argument_type(self, qualified=False): - return self.type_name(qualified=qualified) + "&" - - -class InputsModel: - def __init__(self): - self.inputs = [] - self.types = [] - - # Types have associated frameworks and are in their namespace, but within the specification - # file types are in a flat namespace. Types with the same name are not allowed. - self.types_by_name = {} - self.inputs_by_name = {} - - def enum_types(self): - _enums = filter(lambda x: x.is_enum() or x.is_enum_class(), self.types) - return sorted(_enums, key=lambda _enum: _enum.type_name()) - - def get_type_for_member(self, member): - if member.has_flag("VECTOR"): - return VectorType(self.types_by_name.get(member.typeName)) - else: - return self.types_by_name.get(member.typeName) - - def parse_specification(self, json): - if 'types' in json: - if not isinstance(json['types'], dict): - raise ParseException("Malformed specification: types is not a dict of framework->type list") - - for framework_name, type_list in json['types'].iteritems(): - if not isinstance(type_list, list): - raise ParseException("Malformed specification: type list for framework %s is not a list" % framework_name) - - framework = Framework.fromString(framework_name) - for _type in type_list: - self.parse_type_with_framework(_type, framework) - - if 'inputs' in json: - if not isinstance(json['inputs'], dict): - raise ParseException("Malformed specification: inputs is not a dict of framework->input list") - - for framework_name, input_list in json['inputs'].iteritems(): - if not isinstance(input_list, list): - raise ParseException("Malformed specification: input list for framework %s is not a list" % framework_name) - - framework = Framework.fromString(framework_name) - for _input in input_list: - self.parse_input_with_framework(_input, framework) - - def parse_type_with_framework(self, json, framework): - check_for_required_properties(['name', 'mode'], json, 'type') - if framework is not Frameworks.Global: - check_for_required_properties(['header'], json, 'non-global type') - - type_name = json['name'] - type_mode = TypeMode.fromString(json['mode']) - header = json.get('header') - enclosing_class = json.get('enclosing_class') - enum_values = json.get('values') - guarded_enum_values = json.get('guarded_values', {}) - type_storage = json.get('storage') - type_flags = json.get('flags', []) - guard = json.get('guard', None) - _type = Type(type_name, type_mode, framework, header, enclosing_class, enum_values, guarded_enum_values, type_storage, type_flags, guard) - if _type.is_enum() or _type.is_enum_class(): - check_for_required_properties(['values'], json, 'enum') - if not isinstance(json['values'], list) or len(_type.values) == 0: - raise ParseException("Malformed specification: enum %s does not supply a list of values" % type_name) - - if _type.is_enum() and enclosing_class is None and type_storage is None: - raise ParseException("Could not parse enum %s: C-style enums not enclosed by a class must specify their storage type so they can be forward declared." % type_name) - - self.types.append(_type) - - def parse_input_with_framework(self, json, framework): - check_for_required_properties(['name', 'description', 'queue', 'members'], json, 'input') - _input = Input(json['name'], json['description'], framework, json['queue'], json.get('flags', []), json.get('guard')) - if isinstance(json['members'], list): - for member in json['members']: - check_for_required_properties(['name', 'type'], member, 'member') - _input.members.append(InputMember(member['name'], member['type'], member.get('flags', []))) - - self.inputs.append(_input) - - # Types cannot (yet) reference other types, so we can check references in one pass. - def resolve_types(self): - for _type in self.types: - self.typecheck_type(_type) - - for _input in self.inputs: - self.typecheck_input(_input) - - def typecheck_type(self, _type): - log.debug("typecheck type " + _type.type_name()) - - if _type.type_name() in self.types_by_name: - raise TypecheckException("Duplicate type with name: " + _type.type_name()) - - self.types_by_name[_type.type_name()] = _type - - def typecheck_input(self, _input): - log.debug("typecheck input " + _input.name) - - if _input.name in self.inputs_by_name: - raise TypecheckException("Duplicate input with name: " + _input.name) - - seen_members = {} - - for member in _input.members: - if member.memberName in seen_members: - raise TypecheckException("Duplicate input member with name: " + member.memberName) - - self.typecheck_input_member(member, _input) - seen_members[member.memberName] = member - - self.inputs_by_name[_input.name] = _input - - def typecheck_input_member(self, input_member, _input): - log.debug("typecheck member '%s' of '%s'" % (input_member.memberName, _input.name)) - - if not input_member.typeName in self.types_by_name: - raise TypecheckException("Unknown type '%s' referenced by member '%s' of input '%s'" % (input_member.typeName, input_member.memberName, _input.name)) - - -# A writer that only updates file if it actually changed. -class IncrementalFileWriter: - def __init__(self, filepath, force_output): - self._filepath = filepath - self._output = "" - self.force_output = force_output - - def write(self, text): - self._output += text - - def close(self): - text_changed = True - self._output = self._output.rstrip() + "\n" - - try: - read_file = open(self._filepath, "r") - old_text = read_file.read() - read_file.close() - text_changed = old_text != self._output - except: - # Ignore, just overwrite by default - pass - - if text_changed or self.force_output: - out_file = open(self._filepath, "w") - out_file.write(self._output) - out_file.close() - - -def wrap_with_guard(contents, condition=None): - if condition is None: - return contents - - return "\n".join([ - "#if %s" % condition, - contents, - "#endif // %s" % condition - ]) - - -class Generator: - def __init__(self, model, target_framework_name, input_filepath, output_prefix): - self._model = model - self.target_framework = Framework.fromString(target_framework_name) - self.traits_framework = Framework.fromString(self.setting('traitsFrameworkName')) - self._input_filepath = input_filepath - self._output_prefix = output_prefix - - def setting(self, key, default=''): - return self.target_framework.setting(key, GLOBAL_CONFIG.get(key, default)) - - def should_generate_item(self, item): - return item.framework is self.target_framework - - # This does not account for any filename mangling performed on behalf of the test harness. - def output_filename(self, extension=None): - components = [] - if len(self._output_prefix) > 0: - components.extend([self._output_prefix, '-']) - - components.extend([self.setting('prefix'), self.setting('baseFilename')]) - - if extension is not None: - components.extend(['.', extension]) - - return "".join(components) - - def write_output_files(self, _dir, force=False): - header_file = IncrementalFileWriter(os.path.join(_dir, self.output_filename('h')), force) - implementation_file = IncrementalFileWriter(os.path.join(_dir, self.output_filename('cpp')), force) - - header_file.write(self.generate_header()) - implementation_file.write(self.generate_implementation()) - - header_file.close() - implementation_file.close() - - def generate_header(self): - enums_to_generate = filter(self.should_generate_item, self._model.enum_types()) - inputs_to_generate = filter(self.should_generate_item, self._model.inputs) - - template_arguments = { - 'licenseBlock': self.generate_license(), - 'headerGuard': re.sub('[-./]', '_', self.output_filename() + ".h"), - 'filename': self.output_filename(), - 'guardCondition': self.setting('guardCondition'), - 'traitsNamespace': self.traits_framework.setting('namespace'), - 'inputsNamespace': self.target_framework.setting('namespace'), - 'includes': self.generate_includes(defaults=self.setting('headerIncludes')), - 'typeForwardDeclarations': self.generate_type_forward_declarations(), - 'inputForwardDeclarations': "\n".join([wrap_with_guard("class %s;", _input.guard) % _input.name for _input in inputs_to_generate]), - 'inputClassDeclarations': "\n\n".join([self.generate_class_declaration(_input) for _input in inputs_to_generate]), - 'inputTraitDeclarations': "\n\n".join([self.generate_input_trait_declaration(_input) for _input in inputs_to_generate]), - 'inputTypeTraitDeclarations': "\n\n".join([self.generate_input_type_trait_declaration(_input) for _input in inputs_to_generate]), - 'enumTraitDeclarations': "\n\n".join([wrap_with_guard(self.generate_enum_trait_declaration(_type), _type.guard) for _type in enums_to_generate]), - 'forEachMacro': self.generate_for_each_macro(), - } - - return Template(Templates.HeaderSkeleton).substitute(template_arguments) - - def generate_implementation(self): - enums_to_generate = filter(self.should_generate_item, self._model.enum_types()) - inputs_to_generate = filter(self.should_generate_item, self._model.inputs) - - template_arguments = { - 'licenseBlock': self.generate_license(), - 'filename': self.output_filename(), - 'guardCondition': self.setting('guardCondition'), - 'traitsNamespace': self.traits_framework.setting('namespace'), - 'inputsNamespace': self.target_framework.setting('namespace'), - 'includes': self.generate_includes(defaults=self.setting('implIncludes'), includes_for_types=True), - 'inputClassImplementations': "\n\n".join([self.generate_class_implementation(_input) for _input in inputs_to_generate]), - 'inputTraitImplementations': "\n\n".join([self.generate_input_trait_implementation(_input) for _input in inputs_to_generate]), - 'enumTraitImplementations': "\n\n".join([wrap_with_guard(self.generate_enum_trait_implementation(_type), _type.guard) for _type in enums_to_generate]), - } - - return Template(Templates.ImplementationSkeleton).substitute(template_arguments) - - def generate_license(self): - return Template(Templates.CopyrightBlock).substitute(None, inputFilename=os.path.basename(self._input_filepath)) - - def generate_includes(self, defaults=[], includes_for_types=False): - lines = set() - - for _type in self._model.types: - # Types in the "global" framework are implicitly declared and available in all namespaces. - if _type.framework is Frameworks.Global: - continue - # For RefCounted types, we reverse when to include the header so that the destructor can be - # used in the header file. - include_for_destructor = _type.mode is TypeModes.SHARED - # Enums within classes cannot be forward declared, so we include - # headers with the relevant class declaration. - include_for_enclosing_class = _type.enclosing_class is not None - # Include headers for types like URL and String which are copied, not owned or shared. - include_for_copyable_member = _type.mode is TypeModes.HEAVY_SCALAR - if (not includes_for_types) ^ (include_for_destructor or include_for_enclosing_class or include_for_copyable_member): - continue - - if self.target_framework != _type.framework: - lines.add("#include <%s>" % _type.header) - else: - lines.add("#include \"%s\"" % os.path.basename(_type.header)) - - for entry in defaults: - (allowed_framework_names, data) = entry - (framework_name, header_path) = data - - if self.target_framework.name not in allowed_framework_names: - continue - if self.target_framework.name != framework_name: - lines.add("#include <%s>" % header_path) - else: - lines.add("#include \"%s\"" % os.path.basename(header_path)) - - return "\n".join(sorted(list(lines))) - - def generate_type_forward_declarations(self): - lines = [] - - decls_by_framework = {} - frameworks = [Framework.fromString(s) for s in FRAMEWORK_CONFIG_MAP.keys() if s != Frameworks.Global.name] - for framework in frameworks: - decls_by_framework[framework] = [] - - for _type in self._model.types: - if _type.framework not in frameworks: - continue - if _type.enclosing_class is not None: - continue - if _type.mode == TypeModes.HEAVY_SCALAR: - continue - if _type.mode == TypeModes.SCALAR and not (_type.is_enum() or _type.is_enum_class()): - continue - if _type.is_enum(): - declaration = "enum %s : %s;" % (_type.type_name(), _type.underlying_storage) - else: - declaration = "%s %s;" % (_type.declaration_kind(), _type.type_name()) - decls_by_framework[_type.framework].append(declaration) - - # Declare all namespaces explicitly, even if it's the main namespace. - for framework in frameworks: - if len(decls_by_framework[framework]) == 0: - continue - - decls_by_framework[framework].sort() - lines.append("namespace %s {" % framework.setting('namespace')) - lines.extend(decls_by_framework[framework]) - lines.append("}") - lines.append("") - - return "\n".join(lines) - - def generate_class_declaration(self, _input): - extra_declarations = [] - if _input.queue == InputQueues.EVENT_LOOP: - extra_declarations.extend([ - "", - " // EventLoopInput API", - " virtual void dispatch(ReplayController&) override final;", - ]) - - if _input.setting('CREATE_FROM_PAGE'): - extra_declarations.extend([ - " static std::unique_ptr<%s> createFromPage(const Page&);" % _input.name - ]) - - member_getters = [self.generate_input_member_getter(_member) for _member in _input.members] - - member_declarations = [self.generate_input_member_declaration(_member) for _member in _input.members] - if len(member_declarations) > 0: - member_declarations.insert(0, "private:") - - template_arguments = { - 'inputConstructor': self.generate_input_constructor_declaration(_input), - 'inputDestructor': self.generate_input_destructor_declaration(_input), - 'inputName': _input.name, - 'inputQueue': _input.setting('enumValue'), - 'baseClass': _input.setting('baseClass') % _input.name, - 'extraDeclarations': "\n".join(extra_declarations), - 'memberGetters': "\n".join(member_getters), - 'memberDeclarations': "\n".join(member_declarations), - } - - return wrap_with_guard(Template(Templates.InputClassDeclaration).substitute(template_arguments), _input.guard) - - def generate_input_constructor_declaration(self, _input): - formals_list = self.generate_constructor_formals_list(_input) - terms = [] - if self.setting('exportMacro'): - terms.append(self.setting('exportMacro')) - terms.append("%s(%s)" % (_input.name, formals_list)) - return " %s;" % " ".join(terms) - - def generate_input_destructor_declaration(self, _input): - return " virtual ~%s();" % _input.name - - def generate_input_member_getter(self, _member): - member_type = self._model.get_type_for_member(_member) - return " %s %s() const { return %s; }" % (member_type.borrow_type(), _member.memberName, self.generate_member_borrow_expression(_member)) - - def generate_input_member_declaration(self, _member): - member_type = self._model.get_type_for_member(_member) - return " %s m_%s;" % (member_type.storage_type(), _member.memberName) - - def generate_input_member_tuples(self, _input): - return [(_member, self._model.get_type_for_member(_member)) for _member in _input.members] - - def qualified_input_name(self, _input, forceQualified=False): - if forceQualified or self.target_framework != self.traits_framework: - return "%s::%s" % (self.target_framework.setting('namespace'), _input.name) - else: - return _input.name - - def generate_input_trait_declaration(self, _input): - decl_type = ['struct'] - if len(self.setting('exportMacro')) > 0: - decl_type.append(self.setting('exportMacro')) - - template_arguments = { - 'structOrClass': " ".join(decl_type), - 'queueType': _input.queue.setting('enumValue'), - 'qualifiedInputName': self.qualified_input_name(_input), - } - - return wrap_with_guard(Template(Templates.InputTraitsDeclaration).substitute(template_arguments), _input.guard) - - def generate_input_type_trait_declaration(self, _input): - template_arguments = { - 'qualifiedInputName': self.qualified_input_name(_input, forceQualified=True), - } - - return wrap_with_guard(Template(Templates.InputTypeTraitsDeclaration).substitute(template_arguments), _input.guard) - - def generate_enum_trait_declaration(self, _type): - decl_type = ['struct'] - if len(self.setting('exportMacro')) > 0: - decl_type.append(self.setting('exportMacro')) - - should_qualify_type = _type.framework != self.traits_framework - template = Templates.EnumTraitDeclaration if _type.is_enum() else Templates.EnumClassTraitDeclaration - template_arguments = { - 'encodingTypeArgument': _type.encoding_type_argument(qualified=should_qualify_type), - 'enumType': _type.type_name(qualified=should_qualify_type), - 'structOrClass': " ".join(decl_type) - } - return Template(template).substitute(template_arguments) - - def generate_for_each_macro(self): - inputs_to_generate = filter(self.should_generate_item, self._model.inputs) - - macro_name = "%s_REPLAY_INPUT_NAMES_FOR_EACH" % self.setting('prefix').upper() - lines = [] - lines.append("#define %s(macro) \\" % macro_name) - lines.extend([" macro(%s) \\" % _input.name for _input in inputs_to_generate]) - lines.append(" \\") - lines.append("// end of %s" % macro_name) - return "\n".join(lines) - - def generate_class_implementation(self, _input): - template_arguments = { - 'inputName': _input.name, - 'inputsNamespace': self.target_framework.setting('namespace'), - 'initializerList': self.generate_constructor_initializer_list(_input), - 'constructorFormalsList': self.generate_constructor_formals_list(_input), - } - - return wrap_with_guard(Template(Templates.InputClassImplementation).substitute(template_arguments), _input.guard) - - def generate_enum_trait_implementation(self, _type): - should_qualify_type = _type.framework != self.traits_framework - prefix_components = [] - if should_qualify_type: - prefix_components.append(_type.framework.setting('namespace')) - if _type.is_enum() and _type.enclosing_class is not None: - prefix_components.append(_type.enclosing_class) - elif _type.is_enum_class(): - prefix_components.append(_type.type_name(qualified=False)) - prefix_components.append("") - enum_prefix = "::".join(prefix_components) - encodeLines = [] - - if _type.is_enum(): - encode_template = Templates.EnumEncodeCase - decode_template = Templates.EnumDecodeCase - enum_trait_template = Templates.EnumTraitImplementation - else: - encode_template = Templates.EnumClassEncodeCase - decode_template = Templates.EnumClassDecodeCase - enum_trait_template = Templates.EnumClassTraitImplementation - - # Generate body for encode. - for _value in _type.values: - template_arguments = { - 'enumStringValue': _value, - 'qualifiedEnumValue': "%s%s" % (enum_prefix, _value), - } - encodeLines.append(Template(encode_template).substitute(template_arguments)) - - for guard, guard_values in _type.guard_values_map.iteritems(): - guardedLines = [] - for guard_value in guard_values: - template_arguments = { - 'enumStringValue': guard_value, - 'qualifiedEnumValue': "%s%s" % (enum_prefix, guard_value), - } - guardedLines.append(Template(encode_template).substitute(template_arguments)) - encodeLines.append(wrap_with_guard("\n".join(guardedLines), guard)) - - # Generate body for decode. - decodeLines = [] - for i, _value in enumerate(_type.values): - - template_arguments = { - 'branchKeyword': "else if" if i > 0 else "if", - 'enumStringValue': _value, - 'qualifiedEnumValue': "%s%s" % (enum_prefix, _value), - 'qualifiedEnumName': _type.type_name(qualified=should_qualify_type) - } - decodeLines.append(Template(decode_template).substitute(template_arguments)) - - for guard, guard_values in _type.guard_values_map.iteritems(): - guardedLines = [] - for i, guard_value in enumerate(guard_values): - template_arguments = { - 'branchKeyword': "else if" if i > 0 else "if", - 'enumStringValue': guard_value, - 'qualifiedEnumValue': "%s%s" % (enum_prefix, guard_value), - 'qualifiedEnumName': _type.type_name(qualified=should_qualify_type) - } - guardedLines.append(Template(decode_template).substitute(template_arguments)) - decodeLines.append(wrap_with_guard("\n".join(guardedLines), guard)) - - template_arguments = { - 'encodingTypeArgument': _type.encoding_type_argument(qualified=should_qualify_type), - 'enumType': _type.type_name(qualified=should_qualify_type), - 'encodeCases': "\n".join(encodeLines), - 'decodeCases': "\n".join(decodeLines) - } - - return Template(enum_trait_template).substitute(template_arguments) - - def generate_input_trait_implementation(self, _input): - template_arguments = { - 'inputsNamespace': self.target_framework.setting('namespace'), - 'inputNameStringLiteral': '"%s"' % _input.name, - 'qualifiedInputName': self.qualified_input_name(_input), - 'constructorArguments': self.generate_constructor_arguments_list(_input), - 'constructorFormalsList': self.generate_constructor_formals_list(_input), - 'encodeSteps': self.generate_input_encode_implementation(_input), - 'decodeSteps': self.generate_input_decode_implementation(_input), - } - return wrap_with_guard(Template(Templates.InputTraitsImplementation).substitute(template_arguments), _input.guard) - - def generate_input_encode_implementation(self, _input): - steps = [] - for (_member, _type) in self.generate_input_member_tuples(_input): - should_qualify_type = _type.framework != self.traits_framework - put_method = "put<%s>" % _type.encoding_type_argument(qualified=should_qualify_type) - - steps.extend([ - " encodedValue.%s(ASCIILiteral(\"%s\"), input.%s());" % (put_method, _member.memberName, _member.memberName) - ]) - - if len(steps) == 0: - steps.extend([ - " UNUSED_PARAM(encodedValue);", - " UNUSED_PARAM(input);", - ]) - - return "\n".join(steps) - - def generate_input_decode_implementation(self, _input): - steps = [] - for (_member, _type) in self.generate_input_member_tuples(_input): - should_qualify_type = _type.framework != self.traits_framework - get_method = "get<%s>" % _type.encoding_type_argument(qualified=should_qualify_type) - - lines = [ - " %s %s;" % (_type.storage_type(qualified=should_qualify_type), _member.memberName), - " if (!encodedValue.%s(ASCIILiteral(\"%s\"), %s))" % (get_method, _member.memberName, _member.memberName), - " return false;", - "" - ] - - steps.append("\n".join(lines)) - - if len(steps) == 0: - steps.extend([ - " UNUSED_PARAM(encodedValue);", - ]) - - return "\n".join(steps) - - def generate_constructor_initializer_list(self, _input): - initializers = [] - initializers.append(" : %s()" % (_input.setting('baseClass') % _input.name)) - for _member in _input.members: - initializers.append(" , m_%s(%s)" % (_member.memberName, self.generate_member_move_expression(_member))) - - return "\n".join(initializers) - - def generate_constructor_formals_list(self, _input): - member_tuples = self.generate_input_member_tuples(_input) - return ", ".join(["%s %s" % (_type.argument_type(), _member.memberName) for (_member, _type) in member_tuples]) - - def generate_member_borrow_expression(self, _member): - _type = self._model.get_type_for_member(_member) - expression = "m_%s" % _member.memberName - if _type.mode == TypeModes.OWNED: - expression = "*" + expression - - return expression - - def generate_member_move_expression(self, _member): - _type = self._model.get_type_for_member(_member) - if _type.mode in [TypeModes.OWNED, TypeModes.SHARED]: - return "WTF::move(%s)" % _member.memberName - else: - return _member.memberName - - def generate_constructor_arguments_list(self, _input): - return ", ".join([self.generate_member_move_expression(_member) for _member in _input.members]) - - -def generate_from_specifications(input_filepaths=[], output_prefix="", output_dirpath=None, framework_name=None, force_output=False): - - if not framework_name in FRAMEWORK_CONFIG_MAP: - raise ParseException("Unknown or unsupported framework name supplied: " + framework_name) - - if len(input_filepaths) == 0: - raise ParseException("Must provide at least one specification file, none were provided.") - - def parse_json_from_file(input_filepath): - try: - with open(input_filepath, "r") as input_file: - return json.load(input_file) - except ValueError as e: - raise Exception("Error parsing valid JSON in file: " + input_filepath) - - specifications = map(parse_json_from_file, input_filepaths) - - model = InputsModel() - for spec in specifications: - model.parse_specification(spec) - - model.resolve_types() - generator = Generator(model, framework_name, input_filepaths[0], output_prefix) - - generator.write_output_files(output_dirpath, force_output) - - -if __name__ == '__main__': - allowed_framework_names = FRAMEWORK_CONFIG_MAP.keys() - - cli_parser = optparse.OptionParser(usage="usage: %prog [options] <Inputs.json> [, <MoreInputs.json> ]") - cli_parser.add_option("-o", "--outputDir", help="Directory where generated files should be written.") - cli_parser.add_option("--framework", type="choice", choices=allowed_framework_names, help="The framework these inputs belong to.") # JavaScriptCore, WebCore - cli_parser.add_option("--force", action="store_true", help="Force output of generated scripts, even if nothing changed.") - cli_parser.add_option("-v", "--debug", action="store_true", help="Log extra output for debugging the generator itself.") - cli_parser.add_option("-t", "--test", action="store_true", help="Enable test mode. Use unique output filenames created by prepending the input filename.") - - options = None - - arg_options, arg_values = cli_parser.parse_args() - - if not arg_options.outputDir: - raise ParseException("Missing output directory") - - if arg_options.debug: - log.setLevel(logging.DEBUG) - - options = { - 'input_filepaths': arg_values, - 'output_dirpath': arg_options.outputDir, - 'output_prefix': os.path.basename(arg_values[0]) if arg_options.test else "", - 'framework_name': arg_options.framework, - 'force_output': arg_options.force - } - - try: - generate_from_specifications(**options) - except (ParseException, TypecheckException) as e: - if arg_options.test: - log.error(e.message) - else: - raise e # Force the build to fail. diff --git a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputsTemplates.py b/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputsTemplates.py deleted file mode 100644 index 6d8112b44..000000000 --- a/Source/JavaScriptCore/replay/scripts/CodeGeneratorReplayInputsTemplates.py +++ /dev/null @@ -1,245 +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, 2014 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. - - -# Generator templates, which can be filled with string.Template. -# Following are classes that fill the templates from the typechecked model. - -class Templates: - CopyrightBlock = ( - """/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from ${inputFilename} -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py""") - - HeaderSkeleton = ( - """${licenseBlock} - -#ifndef ${headerGuard} -#define ${headerGuard} - -#if ${guardCondition} -${includes} - -${typeForwardDeclarations} - -namespace ${inputsNamespace} { -${inputForwardDeclarations} -} // namespace ${inputsNamespace} - -namespace ${traitsNamespace} { -${inputTraitDeclarations} -${enumTraitDeclarations} -} // namespace ${traitsNamespace} - -namespace ${inputsNamespace} { -${inputClassDeclarations} -} // namespace ${inputsNamespace} - -${inputTypeTraitDeclarations} - -${forEachMacro} - -#endif // ${guardCondition} - -#endif // ${filename}_h -""") - - InputTraitsDeclaration = ( - """template<> ${structOrClass} InputTraits<${qualifiedInputName}> { - static InputQueue queue() { return InputQueue::${queueType}; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const ${qualifiedInputName}&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<${qualifiedInputName}>&); -};""") - - InputTypeTraitsDeclaration = ( - """SPECIALIZE_TYPE_TRAITS_BEGIN(${qualifiedInputName}) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<${qualifiedInputName}>::type(); } -SPECIALIZE_TYPE_TRAITS_END()""") - - EnumTraitDeclaration = ( - """template<> ${structOrClass} EncodingTraits<${encodingTypeArgument}> { - typedef ${enumType} DecodedType; - - static EncodedValue encodeValue(const ${enumType}& value); - static bool decodeValue(EncodedValue&, ${enumType}& value); -};""") - - EnumClassTraitDeclaration = ( - """template<> ${structOrClass} EncodingTraits<${encodingTypeArgument}> { - typedef ${enumType} DecodedType; - - static EncodedValue encodeValue(const ${enumType}& value); - static bool decodeValue(EncodedValue&, ${enumType}& value); -};""") - - InputClassDeclaration = ( - """class ${inputName} : public ${baseClass} { -public: -${inputConstructor} -${inputDestructor} -${extraDeclarations} -${memberGetters} -${memberDeclarations} -};""") - - ImplementationSkeleton = ( - """${licenseBlock} - -#include "config.h" -#include "${filename}.h" - -#if ${guardCondition} -${includes} - -namespace ${inputsNamespace} { -${inputClassImplementations} -} // namespace ${inputsNamespace} - -namespace ${traitsNamespace} { -${inputTraitImplementations} -${enumTraitImplementations} -} // namespace ${traitsNamespace} - -#endif // ${guardCondition} -""") - - InputTraitsImplementation = ( - """const String& InputTraits<${qualifiedInputName}>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral(${inputNameStringLiteral})); - return type; -} - -void InputTraits<${qualifiedInputName}>::encode(EncodedValue& encodedValue, const ${qualifiedInputName}& input) -{ -${encodeSteps} -} - -bool InputTraits<${qualifiedInputName}>::decode(EncodedValue& encodedValue, std::unique_ptr<${qualifiedInputName}>& input) -{ -${decodeSteps} - input = std::make_unique<${qualifiedInputName}>(${constructorArguments}); - return true; -}""") - - EnumClassTraitImplementation = ( - """EncodedValue EncodingTraits<${encodingTypeArgument}>::encodeValue(const ${enumType}& enumValue) -{ - switch (enumValue) { -${encodeCases} - default: ASSERT_NOT_REACHED(); return EncodedValue::createString("Error!"); - } -} - -bool EncodingTraits<${encodingTypeArgument}>::decodeValue(EncodedValue& encodedValue, ${enumType}& enumValue) -{ - String enumString = encodedValue.convertTo<String>(); -${decodeCases} - return false; -}""") - - EnumClassEncodeCase = ( - """ case ${qualifiedEnumValue}: return EncodedValue::createString("${enumStringValue}");""") - - EnumClassDecodeCase = ( - """ if (enumString == "${enumStringValue}") { - enumValue = ${qualifiedEnumValue}; - return true; - }""") - - EnumTraitImplementation = ( - """EncodedValue EncodingTraits<${encodingTypeArgument}>::encodeValue(const ${enumType}& enumValue) -{ - EncodedValue encodedValue = EncodedValue::createArray(); -${encodeCases} - return encodedValue; -} - -bool EncodingTraits<${encodingTypeArgument}>::decodeValue(EncodedValue& encodedValue, ${enumType}& enumValue) -{ - Vector<String> enumStrings; - if (!EncodingTraits<Vector<String>>::decodeValue(encodedValue, enumStrings)) - return false; - - for (const String& enumString : enumStrings) { -${decodeCases} - } - - return true; -}""") - - EnumEncodeCase = ( - """ if (enumValue & ${qualifiedEnumValue}) { - encodedValue.append<String>(ASCIILiteral("${enumStringValue}")); - if (enumValue == ${qualifiedEnumValue}) - return encodedValue; - }""") - - EnumDecodeCase = ( - """ ${branchKeyword} (enumString == "${enumStringValue}") - enumValue = static_cast<${qualifiedEnumName}>(enumValue | ${qualifiedEnumValue});""") - - InputClassImplementation = ( - """${inputName}::${inputName}(${constructorFormalsList}) -${initializerList} -{ -} - -${inputName}::~${inputName}() -{ -}""") diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error deleted file mode 100644 index 382fb0407..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-c-style-enum-no-storage.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Could not parse enum MouseButton: C-style enums not enclosed by a class must specify their storage type so they can be forward declared. diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-enum-type.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-enum-type.json-error deleted file mode 100644 index ef750bf0e..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-enum-type.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Duplicate type with name: PlatformEvent::Type diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error deleted file mode 100644 index d31ec8023..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-input-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Duplicate input with name: GetCurrentTime diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error deleted file mode 100644 index d1e4c47bb..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-duplicate-type-names.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Duplicate type with name: uint64_t diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error deleted file mode 100644 index b4a348cf6..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-enum-type-missing-values.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing enum, required property missing: values diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error deleted file mode 100644 index 0bb2869d2..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-member-name.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing member, required property missing: name diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-name.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-name.json-error deleted file mode 100644 index b599607a7..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-name.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing input, required property missing: name diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-queue.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-queue.json-error deleted file mode 100644 index c7919ab55..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-input-queue.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing input, required property missing: queue diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-mode.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-mode.json-error deleted file mode 100644 index 6929f4f8a..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-mode.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing type, required property missing: mode diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-name.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-name.json-error deleted file mode 100644 index 0aad90019..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-missing-type-name.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: When parsing type, required property missing: name diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error deleted file mode 100644 index acf469b68..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-input-queue.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Unknown input queue: SCRIPT_MEOIZED diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-member-type.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-member-type.json-error deleted file mode 100644 index d31e454c6..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-member-type.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Unknown type 'double' referenced by member 'randomSeed' of input 'SetRandomSeed' diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error deleted file mode 100644 index 952c69ec8..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/fail-on-unknown-type-mode.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Unknown type mode: BONKERS diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp deleted file mode 100644 index d5b15855b..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.cpp +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers-with-guarded-values.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> -#include <platform/PlatformMouseEvent.h> - -namespace Test { -SavedMouseButton::SavedMouseButton(MouseButton button) - : NondeterministicInput<SavedMouseButton>() - , m_button(button) -{ -} - -SavedMouseButton::~SavedMouseButton() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::SavedMouseButton>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("SavedMouseButton")); - return type; -} - -void InputTraits<Test::SavedMouseButton>::encode(EncodedValue& encodedValue, const Test::SavedMouseButton& input) -{ - encodedValue.put<WebCore::MouseButton>(ASCIILiteral("button"), input.button()); -} - -bool InputTraits<Test::SavedMouseButton>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::SavedMouseButton>& input) -{ - WebCore::MouseButton button; - if (!encodedValue.get<WebCore::MouseButton>(ASCIILiteral("button"), button)) - return false; - - input = std::make_unique<Test::SavedMouseButton>(button); - return true; -} - -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h deleted file mode 100644 index a9f0673fd..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs.h +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers-with-guarded-values.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_enum_encoding_helpers_with_guarded_values_json_TestReplayInputs_h -#define generate_enum_encoding_helpers_with_guarded_values_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - -namespace WebCore { -enum MouseButton : unsigned; -} - - -namespace Test { -class SavedMouseButton; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::SavedMouseButton> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::SavedMouseButton&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedMouseButton>&); -}; - -} // namespace JSC - -namespace Test { -class SavedMouseButton : public NondeterministicInput<SavedMouseButton> { -public: - TEST_EXPORT_MACRO SavedMouseButton(MouseButton button); - virtual ~SavedMouseButton(); - - MouseButton button() const { return m_button; } -private: - MouseButton m_button; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SavedMouseButton) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SavedMouseButton>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(SavedMouseButton) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-enum-encoding-helpers-with-guarded-values.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp deleted file mode 100644 index 02df57244..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.cpp +++ /dev/null @@ -1,193 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-enum-encoding-helpers.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include "NondeterministicInput.h" -#include "PlatformMouseEvent.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> - -namespace Test { -SavedMouseButton::SavedMouseButton(MouseButton button) - : NondeterministicInput<SavedMouseButton>() - , m_button(button) -{ -} - -SavedMouseButton::~SavedMouseButton() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::SavedMouseButton>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("SavedMouseButton")); - return type; -} - -void InputTraits<Test::SavedMouseButton>::encode(EncodedValue& encodedValue, const Test::SavedMouseButton& input) -{ - encodedValue.put<Test::MouseButton>(ASCIILiteral("button"), input.button()); -} - -bool InputTraits<Test::SavedMouseButton>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::SavedMouseButton>& input) -{ - Test::MouseButton button; - if (!encodedValue.get<Test::MouseButton>(ASCIILiteral("button"), button)) - return false; - - input = std::make_unique<Test::SavedMouseButton>(button); - return true; -} -EncodedValue EncodingTraits<Test::InputQueue>::encodeValue(const Test::InputQueue& enumValue) -{ - switch (enumValue) { - case Test::InputQueue::EventLoopInput: return EncodedValue::createString("EventLoopInput"); - case Test::InputQueue::LoaderMemoizedData: return EncodedValue::createString("LoaderMemoizedData"); - case Test::InputQueue::ScriptMemoizedData: return EncodedValue::createString("ScriptMemoizedData"); - default: ASSERT_NOT_REACHED(); return EncodedValue::createString("Error!"); - } -} - -bool EncodingTraits<Test::InputQueue>::decodeValue(EncodedValue& encodedValue, Test::InputQueue& enumValue) -{ - String enumString = encodedValue.convertTo<String>(); - if (enumString == "EventLoopInput") { - enumValue = Test::InputQueue::EventLoopInput; - return true; - } - if (enumString == "LoaderMemoizedData") { - enumValue = Test::InputQueue::LoaderMemoizedData; - return true; - } - if (enumString == "ScriptMemoizedData") { - enumValue = Test::InputQueue::ScriptMemoizedData; - return true; - } - return false; -} - -EncodedValue EncodingTraits<Test::MouseButton>::encodeValue(const Test::MouseButton& enumValue) -{ - EncodedValue encodedValue = EncodedValue::createArray(); - if (enumValue & Test::NoButton) { - encodedValue.append<String>(ASCIILiteral("NoButton")); - if (enumValue == Test::NoButton) - return encodedValue; - } - if (enumValue & Test::LeftButton) { - encodedValue.append<String>(ASCIILiteral("LeftButton")); - if (enumValue == Test::LeftButton) - return encodedValue; - } - if (enumValue & Test::MiddleButton) { - encodedValue.append<String>(ASCIILiteral("MiddleButton")); - if (enumValue == Test::MiddleButton) - return encodedValue; - } - if (enumValue & Test::RightButton) { - encodedValue.append<String>(ASCIILiteral("RightButton")); - if (enumValue == Test::RightButton) - return encodedValue; - } - return encodedValue; -} - -bool EncodingTraits<Test::MouseButton>::decodeValue(EncodedValue& encodedValue, Test::MouseButton& enumValue) -{ - Vector<String> enumStrings; - if (!EncodingTraits<Vector<String>>::decodeValue(encodedValue, enumStrings)) - return false; - - for (const String& enumString : enumStrings) { - if (enumString == "NoButton") - enumValue = static_cast<Test::MouseButton>(enumValue | Test::NoButton); - else if (enumString == "LeftButton") - enumValue = static_cast<Test::MouseButton>(enumValue | Test::LeftButton); - else if (enumString == "MiddleButton") - enumValue = static_cast<Test::MouseButton>(enumValue | Test::MiddleButton); - else if (enumString == "RightButton") - enumValue = static_cast<Test::MouseButton>(enumValue | Test::RightButton); - } - - return true; -} - -EncodedValue EncodingTraits<Test::PlatformEvent::Type>::encodeValue(const Test::PlatformEvent::Type& enumValue) -{ - EncodedValue encodedValue = EncodedValue::createArray(); - if (enumValue & Test::PlatformEvent::Mouse) { - encodedValue.append<String>(ASCIILiteral("Mouse")); - if (enumValue == Test::PlatformEvent::Mouse) - return encodedValue; - } - if (enumValue & Test::PlatformEvent::Key) { - encodedValue.append<String>(ASCIILiteral("Key")); - if (enumValue == Test::PlatformEvent::Key) - return encodedValue; - } - if (enumValue & Test::PlatformEvent::Touch) { - encodedValue.append<String>(ASCIILiteral("Touch")); - if (enumValue == Test::PlatformEvent::Touch) - return encodedValue; - } - if (enumValue & Test::PlatformEvent::Wheel) { - encodedValue.append<String>(ASCIILiteral("Wheel")); - if (enumValue == Test::PlatformEvent::Wheel) - return encodedValue; - } - return encodedValue; -} - -bool EncodingTraits<Test::PlatformEvent::Type>::decodeValue(EncodedValue& encodedValue, Test::PlatformEvent::Type& enumValue) -{ - Vector<String> enumStrings; - if (!EncodingTraits<Vector<String>>::decodeValue(encodedValue, enumStrings)) - return false; - - for (const String& enumString : enumStrings) { - if (enumString == "Mouse") - enumValue = static_cast<Test::PlatformEvent::Type>(enumValue | Test::PlatformEvent::Mouse); - else if (enumString == "Key") - enumValue = static_cast<Test::PlatformEvent::Type>(enumValue | Test::PlatformEvent::Key); - else if (enumString == "Touch") - enumValue = static_cast<Test::PlatformEvent::Type>(enumValue | Test::PlatformEvent::Touch); - else if (enumString == "Wheel") - enumValue = static_cast<Test::PlatformEvent::Type>(enumValue | Test::PlatformEvent::Wheel); - } - - return true; -} -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h deleted file mode 100644 index d38cee72e..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-encoding-helpers.json-TestReplayInputs.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-encoding-helpers.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_enum_encoding_helpers_json_TestReplayInputs_h -#define generate_enum_encoding_helpers_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include "PlatformEvent.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - -namespace Test { -enum MouseButton : unsigned; -enum class InputQueue; -} - - -namespace Test { -class SavedMouseButton; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::SavedMouseButton> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::SavedMouseButton&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedMouseButton>&); -}; -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::InputQueue> { - typedef Test::InputQueue DecodedType; - - static EncodedValue encodeValue(const Test::InputQueue& value); - static bool decodeValue(EncodedValue&, Test::InputQueue& value); -}; - -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::MouseButton> { - typedef Test::MouseButton DecodedType; - - static EncodedValue encodeValue(const Test::MouseButton& value); - static bool decodeValue(EncodedValue&, Test::MouseButton& value); -}; - -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::PlatformEvent::Type> { - typedef Test::PlatformEvent::Type DecodedType; - - static EncodedValue encodeValue(const Test::PlatformEvent::Type& value); - static bool decodeValue(EncodedValue&, Test::PlatformEvent::Type& value); -}; -} // namespace JSC - -namespace Test { -class SavedMouseButton : public NondeterministicInput<SavedMouseButton> { -public: - TEST_EXPORT_MACRO SavedMouseButton(MouseButton button); - virtual ~SavedMouseButton(); - - MouseButton button() const { return m_button; } -private: - MouseButton m_button; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SavedMouseButton) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SavedMouseButton>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(SavedMouseButton) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-enum-encoding-helpers.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp deleted file mode 100644 index 0aa782059..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.cpp +++ /dev/null @@ -1,106 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-with-guard.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-enum-with-guard.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include "PlatformWheelEvent.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> -#include <platform/PlatformWheelEvent.h> - -namespace Test { -HandleWheelEvent::HandleWheelEvent(std::unique_ptr<PlatformWheelEvent> platformEvent, PlatformWheelPhase phase) - : EventLoopInput<HandleWheelEvent>() - , m_platformEvent(WTF::move(platformEvent)) - , m_phase(phase) -{ -} - -HandleWheelEvent::~HandleWheelEvent() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::HandleWheelEvent>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("HandleWheelEvent")); - return type; -} - -void InputTraits<Test::HandleWheelEvent>::encode(EncodedValue& encodedValue, const Test::HandleWheelEvent& input) -{ - encodedValue.put<WebCore::PlatformWheelEvent>(ASCIILiteral("platformEvent"), input.platformEvent()); - encodedValue.put<Test::PlatformWheelPhase>(ASCIILiteral("phase"), input.phase()); -} - -bool InputTraits<Test::HandleWheelEvent>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::HandleWheelEvent>& input) -{ - std::unique_ptr<WebCore::PlatformWheelEvent> platformEvent; - if (!encodedValue.get<WebCore::PlatformWheelEvent>(ASCIILiteral("platformEvent"), platformEvent)) - return false; - - Test::PlatformWheelPhase phase; - if (!encodedValue.get<Test::PlatformWheelPhase>(ASCIILiteral("phase"), phase)) - return false; - - input = std::make_unique<Test::HandleWheelEvent>(WTF::move(platformEvent), phase); - return true; -} -#if ENABLE(DUMMY_FEATURE) -EncodedValue EncodingTraits<Test::PlatformWheelPhase>::encodeValue(const Test::PlatformWheelPhase& enumValue) -{ - EncodedValue encodedValue = EncodedValue::createArray(); - if (enumValue & Test::PlatformWheelEventPhaseNone) { - encodedValue.append<String>(ASCIILiteral("PlatformWheelEventPhaseNone")); - if (enumValue == Test::PlatformWheelEventPhaseNone) - return encodedValue; - } - return encodedValue; -} - -bool EncodingTraits<Test::PlatformWheelPhase>::decodeValue(EncodedValue& encodedValue, Test::PlatformWheelPhase& enumValue) -{ - Vector<String> enumStrings; - if (!EncodingTraits<Vector<String>>::decodeValue(encodedValue, enumStrings)) - return false; - - for (const String& enumString : enumStrings) { - if (enumString == "PlatformWheelEventPhaseNone") - enumValue = static_cast<Test::PlatformWheelPhase>(enumValue | Test::PlatformWheelEventPhaseNone); - } - - return true; -} -#endif // ENABLE(DUMMY_FEATURE) -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h deleted file mode 100644 index 3302f580b..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enum-with-guard.json-TestReplayInputs.h +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enum-with-guard.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_enum_with_guard_json_TestReplayInputs_h -#define generate_enum_with_guard_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - -namespace Test { -enum PlatformWheelPhase : uint64_t; -} - -namespace WebCore { -class PlatformWheelEvent; -} - - -namespace Test { -class HandleWheelEvent; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::HandleWheelEvent> { - static InputQueue queue() { return InputQueue::EventLoopInput; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::HandleWheelEvent&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::HandleWheelEvent>&); -}; -#if ENABLE(DUMMY_FEATURE) -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::PlatformWheelPhase> { - typedef Test::PlatformWheelPhase DecodedType; - - static EncodedValue encodeValue(const Test::PlatformWheelPhase& value); - static bool decodeValue(EncodedValue&, Test::PlatformWheelPhase& value); -}; -#endif // ENABLE(DUMMY_FEATURE) -} // namespace JSC - -namespace Test { -class HandleWheelEvent : public EventLoopInput<HandleWheelEvent> { -public: - TEST_EXPORT_MACRO HandleWheelEvent(std::unique_ptr<PlatformWheelEvent> platformEvent, PlatformWheelPhase phase); - virtual ~HandleWheelEvent(); - - // EventLoopInput API - virtual void dispatch(ReplayController&) override final; - const PlatformWheelEvent& platformEvent() const { return *m_platformEvent; } - PlatformWheelPhase phase() const { return m_phase; } -private: - std::unique_ptr<PlatformWheelEvent> m_platformEvent; - PlatformWheelPhase m_phase; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::HandleWheelEvent) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::HandleWheelEvent>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(HandleWheelEvent) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-enum-with-guard.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp deleted file mode 100644 index a19644ffa..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.cpp +++ /dev/null @@ -1,144 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enums-with-same-base-name.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-enums-with-same-base-name.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> - -namespace Test { -FormCombo::FormCombo(PlatformEvent1::Type eventType1, PlatformEvent2::Type eventType2, FormData1::Type formType1, FormData2::Type formType2) - : NondeterministicInput<FormCombo>() - , m_eventType1(eventType1) - , m_eventType2(eventType2) - , m_formType1(formType1) - , m_formType2(formType2) -{ -} - -FormCombo::~FormCombo() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::FormCombo>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("FormCombo")); - return type; -} - -void InputTraits<Test::FormCombo>::encode(EncodedValue& encodedValue, const Test::FormCombo& input) -{ - encodedValue.put<PlatformEvent1::Type>(ASCIILiteral("eventType1"), input.eventType1()); - encodedValue.put<PlatformEvent2::Type>(ASCIILiteral("eventType2"), input.eventType2()); - encodedValue.put<Test::FormData1::Type>(ASCIILiteral("formType1"), input.formType1()); - encodedValue.put<Test::FormData2::Type>(ASCIILiteral("formType2"), input.formType2()); -} - -bool InputTraits<Test::FormCombo>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::FormCombo>& input) -{ - PlatformEvent1::Type eventType1; - if (!encodedValue.get<PlatformEvent1::Type>(ASCIILiteral("eventType1"), eventType1)) - return false; - - PlatformEvent2::Type eventType2; - if (!encodedValue.get<PlatformEvent2::Type>(ASCIILiteral("eventType2"), eventType2)) - return false; - - Test::FormData1::Type formType1; - if (!encodedValue.get<Test::FormData1::Type>(ASCIILiteral("formType1"), formType1)) - return false; - - Test::FormData2::Type formType2; - if (!encodedValue.get<Test::FormData2::Type>(ASCIILiteral("formType2"), formType2)) - return false; - - input = std::make_unique<Test::FormCombo>(eventType1, eventType2, formType1, formType2); - return true; -} -EncodedValue EncodingTraits<Test::FormData1::Type>::encodeValue(const Test::FormData1::Type& enumValue) -{ - EncodedValue encodedValue = EncodedValue::createArray(); - if (enumValue & Test::FormData1::Text) { - encodedValue.append<String>(ASCIILiteral("Text")); - if (enumValue == Test::FormData1::Text) - return encodedValue; - } - if (enumValue & Test::FormData1::Blob) { - encodedValue.append<String>(ASCIILiteral("Blob")); - if (enumValue == Test::FormData1::Blob) - return encodedValue; - } - return encodedValue; -} - -bool EncodingTraits<Test::FormData1::Type>::decodeValue(EncodedValue& encodedValue, Test::FormData1::Type& enumValue) -{ - Vector<String> enumStrings; - if (!EncodingTraits<Vector<String>>::decodeValue(encodedValue, enumStrings)) - return false; - - for (const String& enumString : enumStrings) { - if (enumString == "Text") - enumValue = static_cast<Test::FormData1::Type>(enumValue | Test::FormData1::Text); - else if (enumString == "Blob") - enumValue = static_cast<Test::FormData1::Type>(enumValue | Test::FormData1::Blob); - } - - return true; -} - -EncodedValue EncodingTraits<Test::FormData2::Type>::encodeValue(const Test::FormData2::Type& enumValue) -{ - switch (enumValue) { - case Test::FormData2::Type::Text: return EncodedValue::createString("Text"); - case Test::FormData2::Type::Blob: return EncodedValue::createString("Blob"); - default: ASSERT_NOT_REACHED(); return EncodedValue::createString("Error!"); - } -} - -bool EncodingTraits<Test::FormData2::Type>::decodeValue(EncodedValue& encodedValue, Test::FormData2::Type& enumValue) -{ - String enumString = encodedValue.convertTo<String>(); - if (enumString == "Text") { - enumValue = Test::FormData2::Type::Text; - return true; - } - if (enumString == "Blob") { - enumValue = Test::FormData2::Type::Blob; - return true; - } - return false; -} -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h deleted file mode 100644 index fd3b39897..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-enums-with-same-base-name.json-TestReplayInputs.h +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-enums-with-same-base-name.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_enums_with_same_base_name_json_TestReplayInputs_h -#define generate_enums_with_same_base_name_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "FormData1.h" -#include "FormData2.h" -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> -#include <replay/PlatformEvent.h> - - - -namespace Test { -class FormCombo; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::FormCombo> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::FormCombo&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::FormCombo>&); -}; -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::FormData1::Type> { - typedef Test::FormData1::Type DecodedType; - - static EncodedValue encodeValue(const Test::FormData1::Type& value); - static bool decodeValue(EncodedValue&, Test::FormData1::Type& value); -}; - -template<> struct TEST_EXPORT_MACRO EncodingTraits<Test::FormData2::Type> { - typedef Test::FormData2::Type DecodedType; - - static EncodedValue encodeValue(const Test::FormData2::Type& value); - static bool decodeValue(EncodedValue&, Test::FormData2::Type& value); -}; -} // namespace JSC - -namespace Test { -class FormCombo : public NondeterministicInput<FormCombo> { -public: - TEST_EXPORT_MACRO FormCombo(PlatformEvent1::Type eventType1, PlatformEvent2::Type eventType2, FormData1::Type formType1, FormData2::Type formType2); - virtual ~FormCombo(); - - PlatformEvent1::Type eventType1() const { return m_eventType1; } - PlatformEvent2::Type eventType2() const { return m_eventType2; } - FormData1::Type formType1() const { return m_formType1; } - FormData2::Type formType2() const { return m_formType2; } -private: - PlatformEvent1::Type m_eventType1; - PlatformEvent2::Type m_eventType2; - FormData1::Type m_formType1; - FormData2::Type m_formType2; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::FormCombo) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::FormCombo>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(FormCombo) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-enums-with-same-base-name.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-event-loop-shape-types.json-error b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-event-loop-shape-types.json-error deleted file mode 100644 index 90a4176bf..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-event-loop-shape-types.json-error +++ /dev/null @@ -1 +0,0 @@ -ERROR: Unknown type mode: MAP diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp deleted file mode 100644 index 9cbb7af33..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.cpp +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-input-with-guard.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-input-with-guard.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> - -namespace Test { -#if ENABLE(DUMMY_FEATURE) -GetCurrentTime::GetCurrentTime(double currentTime) - : NondeterministicInput<GetCurrentTime>() - , m_currentTime(currentTime) -{ -} - -GetCurrentTime::~GetCurrentTime() -{ -} -#endif // ENABLE(DUMMY_FEATURE) - -SetRandomSeed::SetRandomSeed(uint64_t randomSeed) - : NondeterministicInput<SetRandomSeed>() - , m_randomSeed(randomSeed) -{ -} - -SetRandomSeed::~SetRandomSeed() -{ -} -} // namespace Test - -namespace JSC { -#if ENABLE(DUMMY_FEATURE) -const String& InputTraits<Test::GetCurrentTime>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("GetCurrentTime")); - return type; -} - -void InputTraits<Test::GetCurrentTime>::encode(EncodedValue& encodedValue, const Test::GetCurrentTime& input) -{ - encodedValue.put<double>(ASCIILiteral("currentTime"), input.currentTime()); -} - -bool InputTraits<Test::GetCurrentTime>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::GetCurrentTime>& input) -{ - double currentTime; - if (!encodedValue.get<double>(ASCIILiteral("currentTime"), currentTime)) - return false; - - input = std::make_unique<Test::GetCurrentTime>(currentTime); - return true; -} -#endif // ENABLE(DUMMY_FEATURE) - -const String& InputTraits<Test::SetRandomSeed>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("SetRandomSeed")); - return type; -} - -void InputTraits<Test::SetRandomSeed>::encode(EncodedValue& encodedValue, const Test::SetRandomSeed& input) -{ - encodedValue.put<uint64_t>(ASCIILiteral("randomSeed"), input.randomSeed()); -} - -bool InputTraits<Test::SetRandomSeed>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::SetRandomSeed>& input) -{ - uint64_t randomSeed; - if (!encodedValue.get<uint64_t>(ASCIILiteral("randomSeed"), randomSeed)) - return false; - - input = std::make_unique<Test::SetRandomSeed>(randomSeed); - return true; -} - -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h deleted file mode 100644 index e0967ccc2..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-guard.json-TestReplayInputs.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-input-with-guard.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_input_with_guard_json_TestReplayInputs_h -#define generate_input_with_guard_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - - - -namespace Test { -#if ENABLE(DUMMY_FEATURE) -class GetCurrentTime; -#endif // ENABLE(DUMMY_FEATURE) -class SetRandomSeed; -} // namespace Test - -namespace JSC { -#if ENABLE(DUMMY_FEATURE) -template<> struct TEST_EXPORT_MACRO InputTraits<Test::GetCurrentTime> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::GetCurrentTime&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::GetCurrentTime>&); -}; -#endif // ENABLE(DUMMY_FEATURE) - -template<> struct TEST_EXPORT_MACRO InputTraits<Test::SetRandomSeed> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::SetRandomSeed&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SetRandomSeed>&); -}; - -} // namespace JSC - -namespace Test { -#if ENABLE(DUMMY_FEATURE) -class GetCurrentTime : public NondeterministicInput<GetCurrentTime> { -public: - TEST_EXPORT_MACRO GetCurrentTime(double currentTime); - virtual ~GetCurrentTime(); - - double currentTime() const { return m_currentTime; } -private: - double m_currentTime; -}; -#endif // ENABLE(DUMMY_FEATURE) - -class SetRandomSeed : public NondeterministicInput<SetRandomSeed> { -public: - TEST_EXPORT_MACRO SetRandomSeed(uint64_t randomSeed); - virtual ~SetRandomSeed(); - - uint64_t randomSeed() const { return m_randomSeed; } -private: - uint64_t m_randomSeed; -}; -} // namespace Test - -#if ENABLE(DUMMY_FEATURE) -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::GetCurrentTime) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::GetCurrentTime>::type(); } -SPECIALIZE_TYPE_TRAITS_END() -#endif // ENABLE(DUMMY_FEATURE) - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SetRandomSeed) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SetRandomSeed>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(GetCurrentTime) \ - macro(SetRandomSeed) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-input-with-guard.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp deleted file mode 100644 index f2f962a19..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.cpp +++ /dev/null @@ -1,118 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-input-with-vector-members.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-input-with-vector-members.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> -#include <things/JSThing.h> -#include <things/WebThing.h> - -namespace Test { -ArrayOfThings::ArrayOfThings(Vector<double>& doubles, Vector<JSThing>& jsthings, Vector<WebThing>& webthings) - : NondeterministicInput<ArrayOfThings>() - , m_doubles(doubles) - , m_jsthings(jsthings) - , m_webthings(webthings) -{ -} - -ArrayOfThings::~ArrayOfThings() -{ -} - -SavedHistory::SavedHistory(Vector<RefPtr<HistoryItem>>& entries) - : NondeterministicInput<SavedHistory>() - , m_entries(entries) -{ -} - -SavedHistory::~SavedHistory() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::ArrayOfThings>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("ArrayOfThings")); - return type; -} - -void InputTraits<Test::ArrayOfThings>::encode(EncodedValue& encodedValue, const Test::ArrayOfThings& input) -{ - encodedValue.put<Vector<double>>(ASCIILiteral("doubles"), input.doubles()); - encodedValue.put<Vector<JSThing>>(ASCIILiteral("jsthings"), input.jsthings()); - encodedValue.put<Vector<WebCore::WebThing>>(ASCIILiteral("webthings"), input.webthings()); -} - -bool InputTraits<Test::ArrayOfThings>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::ArrayOfThings>& input) -{ - Vector<double> doubles; - if (!encodedValue.get<Vector<double>>(ASCIILiteral("doubles"), doubles)) - return false; - - Vector<JSThing> jsthings; - if (!encodedValue.get<Vector<JSThing>>(ASCIILiteral("jsthings"), jsthings)) - return false; - - Vector<WebCore::WebThing> webthings; - if (!encodedValue.get<Vector<WebCore::WebThing>>(ASCIILiteral("webthings"), webthings)) - return false; - - input = std::make_unique<Test::ArrayOfThings>(doubles, jsthings, webthings); - return true; -} - -const String& InputTraits<Test::SavedHistory>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("SavedHistory")); - return type; -} - -void InputTraits<Test::SavedHistory>::encode(EncodedValue& encodedValue, const Test::SavedHistory& input) -{ - encodedValue.put<Vector<WebCore::HistoryItem>>(ASCIILiteral("entries"), input.entries()); -} - -bool InputTraits<Test::SavedHistory>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::SavedHistory>& input) -{ - Vector<RefPtr<WebCore::HistoryItem>> entries; - if (!encodedValue.get<Vector<WebCore::HistoryItem>>(ASCIILiteral("entries"), entries)) - return false; - - input = std::make_unique<Test::SavedHistory>(entries); - return true; -} - -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h deleted file mode 100644 index 467c0102c..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-input-with-vector-members.json-TestReplayInputs.h +++ /dev/null @@ -1,109 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-input-with-vector-members.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_input_with_vector_members_json_TestReplayInputs_h -#define generate_input_with_vector_members_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <history/HistoryItem.h> -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - -namespace WebCore { -class HistoryItem; -} - - -namespace Test { -class ArrayOfThings; -class SavedHistory; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::ArrayOfThings> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::ArrayOfThings&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::ArrayOfThings>&); -}; - -template<> struct TEST_EXPORT_MACRO InputTraits<Test::SavedHistory> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::SavedHistory&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::SavedHistory>&); -}; - -} // namespace JSC - -namespace Test { -class ArrayOfThings : public NondeterministicInput<ArrayOfThings> { -public: - TEST_EXPORT_MACRO ArrayOfThings(Vector<double>& doubles, Vector<JSThing>& jsthings, Vector<WebThing>& webthings); - virtual ~ArrayOfThings(); - - const Vector<double>& doubles() const { return m_doubles; } - const Vector<JSThing>& jsthings() const { return m_jsthings; } - const Vector<WebThing>& webthings() const { return m_webthings; } -private: - Vector<double> m_doubles; - Vector<JSThing> m_jsthings; - Vector<WebThing> m_webthings; -}; - -class SavedHistory : public NondeterministicInput<SavedHistory> { -public: - TEST_EXPORT_MACRO SavedHistory(Vector<RefPtr<HistoryItem>>& entries); - virtual ~SavedHistory(); - - const Vector<RefPtr<HistoryItem>>& entries() const { return m_entries; } -private: - Vector<RefPtr<HistoryItem>> m_entries; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::ArrayOfThings) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::ArrayOfThings>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::SavedHistory) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::SavedHistory>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(ArrayOfThings) \ - macro(SavedHistory) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-input-with-vector-members.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.cpp deleted file mode 100644 index 821f4d0fc..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-inputs-with-flags.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-inputs-with-flags.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> - -namespace Test { -ScalarInput1::ScalarInput1(ScalarType data) - : NondeterministicInput<ScalarInput1>() - , m_data(data) -{ -} - -ScalarInput1::~ScalarInput1() -{ -} - -ScalarInput2::ScalarInput2(ScalarType data) - : NondeterministicInput<ScalarInput2>() - , m_data(data) -{ -} - -ScalarInput2::~ScalarInput2() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::ScalarInput1>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("ScalarInput1")); - return type; -} - -void InputTraits<Test::ScalarInput1>::encode(EncodedValue& encodedValue, const Test::ScalarInput1& input) -{ - encodedValue.put<ScalarType>(ASCIILiteral("data"), input.data()); -} - -bool InputTraits<Test::ScalarInput1>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::ScalarInput1>& input) -{ - ScalarType data; - if (!encodedValue.get<ScalarType>(ASCIILiteral("data"), data)) - return false; - - input = std::make_unique<Test::ScalarInput1>(data); - return true; -} - -const String& InputTraits<Test::ScalarInput2>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("ScalarInput2")); - return type; -} - -void InputTraits<Test::ScalarInput2>::encode(EncodedValue& encodedValue, const Test::ScalarInput2& input) -{ - encodedValue.put<ScalarType>(ASCIILiteral("data"), input.data()); -} - -bool InputTraits<Test::ScalarInput2>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::ScalarInput2>& input) -{ - ScalarType data; - if (!encodedValue.get<ScalarType>(ASCIILiteral("data"), data)) - return false; - - input = std::make_unique<Test::ScalarInput2>(data); - return true; -} - -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h deleted file mode 100644 index 7b98bfc5f..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-inputs-with-flags.json-TestReplayInputs.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-inputs-with-flags.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_inputs_with_flags_json_TestReplayInputs_h -#define generate_inputs_with_flags_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - - - -namespace Test { -class ScalarInput1; -class ScalarInput2; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::ScalarInput1> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::ScalarInput1&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::ScalarInput1>&); -}; - -template<> struct TEST_EXPORT_MACRO InputTraits<Test::ScalarInput2> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::ScalarInput2&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::ScalarInput2>&); -}; - -} // namespace JSC - -namespace Test { -class ScalarInput1 : public NondeterministicInput<ScalarInput1> { -public: - TEST_EXPORT_MACRO ScalarInput1(ScalarType data); - virtual ~ScalarInput1(); - - ScalarType data() const { return m_data; } -private: - ScalarType m_data; -}; - -class ScalarInput2 : public NondeterministicInput<ScalarInput2> { -public: - TEST_EXPORT_MACRO ScalarInput2(ScalarType data); - virtual ~ScalarInput2(); - - ScalarType data() const { return m_data; } -private: - ScalarType m_data; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::ScalarInput1) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::ScalarInput1>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::ScalarInput2) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::ScalarInput2>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(ScalarInput1) \ - macro(ScalarInput2) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-inputs-with-flags.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp deleted file mode 100644 index 0be9206d8..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.cpp +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-memoized-type-modes.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#include "config.h" -#include "generate-memoized-type-modes.json-TestReplayInputs.h" - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceImplIncludeDummy.h" -#include <platform/ExternalNamespaceImplIncludeDummy.h> - -namespace Test { -ScalarInput::ScalarInput(ScalarType data) - : NondeterministicInput<ScalarInput>() - , m_data(data) -{ -} - -ScalarInput::~ScalarInput() -{ -} - -MapInput::MapInput(std::unique_ptr<MapType> data) - : NondeterministicInput<MapInput>() - , m_data(WTF::move(data)) -{ -} - -MapInput::~MapInput() -{ -} -} // namespace Test - -namespace JSC { -const String& InputTraits<Test::ScalarInput>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("ScalarInput")); - return type; -} - -void InputTraits<Test::ScalarInput>::encode(EncodedValue& encodedValue, const Test::ScalarInput& input) -{ - encodedValue.put<ScalarType>(ASCIILiteral("data"), input.data()); -} - -bool InputTraits<Test::ScalarInput>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::ScalarInput>& input) -{ - ScalarType data; - if (!encodedValue.get<ScalarType>(ASCIILiteral("data"), data)) - return false; - - input = std::make_unique<Test::ScalarInput>(data); - return true; -} - -const String& InputTraits<Test::MapInput>::type() -{ - static NeverDestroyed<const String> type(ASCIILiteral("MapInput")); - return type; -} - -void InputTraits<Test::MapInput>::encode(EncodedValue& encodedValue, const Test::MapInput& input) -{ - encodedValue.put<MapType>(ASCIILiteral("data"), input.data()); -} - -bool InputTraits<Test::MapInput>::decode(EncodedValue& encodedValue, std::unique_ptr<Test::MapInput>& input) -{ - std::unique_ptr<MapType> data; - if (!encodedValue.get<MapType>(ASCIILiteral("data"), data)) - return false; - - input = std::make_unique<Test::MapInput>(WTF::move(data)); - return true; -} - -} // namespace JSC - -#endif // ENABLE(WEB_REPLAY) diff --git a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h b/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h deleted file mode 100644 index d77bcff32..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/expected/generate-memoized-type-modes.json-TestReplayInputs.h +++ /dev/null @@ -1,101 +0,0 @@ -/* - * Copyright (C) 2014 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: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. 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. - * - * 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 - * HOLDER 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. - */ - -// DO NOT EDIT THIS FILE. It is automatically generated from generate-memoized-type-modes.json -// by the script: JavaScriptCore/replay/scripts/CodeGeneratorReplayInputs.py - -#ifndef generate_memoized_type_modes_json_TestReplayInputs_h -#define generate_memoized_type_modes_json_TestReplayInputs_h - -#if ENABLE(WEB_REPLAY) -#include "InternalNamespaceHeaderIncludeDummy.h" -#include <platform/ExternalNamespaceHeaderIncludeDummy.h> - - - -namespace Test { -class ScalarInput; -class MapInput; -} // namespace Test - -namespace JSC { -template<> struct TEST_EXPORT_MACRO InputTraits<Test::ScalarInput> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::ScalarInput&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::ScalarInput>&); -}; - -template<> struct TEST_EXPORT_MACRO InputTraits<Test::MapInput> { - static InputQueue queue() { return InputQueue::ScriptMemoizedData; } - static const String& type(); - - static void encode(JSC::EncodedValue&, const Test::MapInput&); - static bool decode(JSC::EncodedValue&, std::unique_ptr<Test::MapInput>&); -}; - -} // namespace JSC - -namespace Test { -class ScalarInput : public NondeterministicInput<ScalarInput> { -public: - TEST_EXPORT_MACRO ScalarInput(ScalarType data); - virtual ~ScalarInput(); - - ScalarType data() const { return m_data; } -private: - ScalarType m_data; -}; - -class MapInput : public NondeterministicInput<MapInput> { -public: - TEST_EXPORT_MACRO MapInput(std::unique_ptr<MapType> data); - virtual ~MapInput(); - - const MapType& data() const { return *m_data; } -private: - std::unique_ptr<MapType> m_data; -}; -} // namespace Test - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::ScalarInput) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::ScalarInput>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -SPECIALIZE_TYPE_TRAITS_BEGIN(Test::MapInput) - static bool isType(const NondeterministicInputBase& input) { return input.type() == InputTraits<Test::MapInput>::type(); } -SPECIALIZE_TYPE_TRAITS_END() - -#define TEST_REPLAY_INPUT_NAMES_FOR_EACH(macro) \ - macro(ScalarInput) \ - macro(MapInput) \ - \ -// end of TEST_REPLAY_INPUT_NAMES_FOR_EACH - -#endif // ENABLE(WEB_REPLAY) - -#endif // generate-memoized-type-modes.json-TestReplayInputs_h diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-c-style-enum-no-storage.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-c-style-enum-no-storage.json deleted file mode 100644 index 31d2c437a..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-c-style-enum-no-storage.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "types": { - "Test": [ - { - "name": "MouseButton", "mode": "SCALAR", - "flags": ["ENUM"], - "values": ["NoButton", "LeftButton", "MiddleButton", "RightButton"], - "header": "path/to/MouseButton.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SavedMouseButton", - "description": "Supplies a mouse button enum value.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "button", "type": "MouseButton" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-enum-type.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-enum-type.json deleted file mode 100644 index 089e69925..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-enum-type.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "types": { - "JavaScriptCore": [ - { - "name": "Type", "mode": "SCALAR", "storage": "uint64_t", - "enclosing_class": "PlatformEvent", - "flags": ["ENUM"], - "values": ["Mouse", "Keyboard"], - "header": "replay/PlatformEvent.h" - } - ], - "WebCore": [ - { - "name": "Type", "mode": "SCALAR", "storage": "uint64_t", - "enclosing_class": "PlatformEvent", - "flags": ["ENUM"], - "values": ["Mouse", "Keyboard"], - "header": "replay/PlatformEvent.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "FormCombo", - "description": "Combines an event type and form data type.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "eventType", "type": "PlatformEvent::Type" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-input-names.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-input-names.json deleted file mode 100644 index 91c84a2ef..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-input-names.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" }, - { "name": "uint64_t", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "currentTime", "type": "double" } - ] - }, - { - "name": "GetCurrentTime", - "description": "Sets the PRNG seed used by Math.random().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "randomSeed", "type": "uint64_t" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-type-names.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-type-names.json deleted file mode 100644 index fc4b5d9b9..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-duplicate-type-names.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "uint64_t", "mode": "SCALAR" }, - { "name": "uint64_t", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SetRandomSeed", - "description": "Sets the PRNG seed used by Math.random().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "randomSeed", - "type": "uint64_t" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-enum-type-missing-values.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-enum-type-missing-values.json deleted file mode 100644 index 5bd20bd51..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-enum-type-missing-values.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { - "name": "MouseButton", "mode": "SCALAR", - "flags": ["ENUM"] - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SavedMouseButton", - "description": "Supplies a mouse button enum value.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "currentTime", "type": "MouseButton" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-member-name.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-member-name.json deleted file mode 100644 index b924aafe7..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-member-name.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-name.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-name.json deleted file mode 100644 index aa80980d8..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-name.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-queue.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-queue.json deleted file mode 100644 index 8136dfbb3..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-input-queue.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-mode.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-mode.json deleted file mode 100644 index 3ed6d1e45..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-mode.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-name.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-name.json deleted file mode 100644 index 01b1c0872..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-missing-type-name.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-input-queue.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-input-queue.json deleted file mode 100644 index cd15f0640..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-input-queue.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEOIZED", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-member-type.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-member-type.json deleted file mode 100644 index 8a2305757..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-member-type.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "uint64_t", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SetRandomSeed", - "description": "Sets the PRNG seed used by Math.random().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "randomSeed", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-type-mode.json b/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-type-mode.json deleted file mode 100644 index b553befc9..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/fail-on-unknown-type-mode.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "BONKERS" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { - "name": "currentTime", - "type": "double" - } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json b/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json deleted file mode 100644 index 9b2017d58..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers-with-guarded-values.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "types": { - "WebCore": [ - { - "name": "MouseButton", "mode": "SCALAR", "storage": "unsigned", - "flags": ["ENUM"], - "values": ["NoButton", "LeftButton", "MiddleButton", "RightButton"], - "guarded_values": { - "ENABLE(SIDE_BUTTONS)": ["LeftSideButton", "RightSideButton"], - "PLATFORM(WINDOWS)": ["WindowsButton"] - }, - "header": "platform/PlatformMouseEvent.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SavedMouseButton", - "description": "Supplies a mouse button enum value.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "button", "type": "MouseButton" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers.json b/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers.json deleted file mode 100644 index ef2e16346..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-encoding-helpers.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "types": { - "Test": [ - { - "name": "InputQueue", "mode": "SCALAR", - "flags": ["ENUM_CLASS"], - "values": ["EventLoopInput", "LoaderMemoizedData", "ScriptMemoizedData"], - "header": "replay/NondeterministicInput.h" - }, - { - "name": "MouseButton", "mode": "SCALAR", "storage": "unsigned", - "flags": ["ENUM"], - "values": ["NoButton", "LeftButton", "MiddleButton", "RightButton"], - "header": "platform/PlatformMouseEvent.h" - }, - { - "name": "Type", "mode": "SCALAR", - "flags": ["ENUM"], - "enclosing_class": "PlatformEvent", - "values": ["Mouse", "Key", "Touch", "Wheel"], - "header": "platform/PlatformEvent.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "SavedMouseButton", - "description": "Supplies a mouse button enum value.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "button", "type": "MouseButton" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-with-guard.json b/Source/JavaScriptCore/replay/scripts/tests/generate-enum-with-guard.json deleted file mode 100644 index 20ea35922..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-enum-with-guard.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "uint64_t", "mode": "SCALAR" } - ], - "WebCore": [ - { - "name": "PlatformWheelEvent", "mode": "OWNED", - "header": "platform/PlatformWheelEvent.h" - } - ], - "Test": [ - { - "name": "PlatformWheelPhase", "mode": "SCALAR", "storage": "uint64_t", - "flags": ["ENUM"], - "guard": "ENABLE(DUMMY_FEATURE)", - "values": ["PlatformWheelEventPhaseNone"], - "header": "platform/PlatformWheelEvent.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "HandleWheelEvent", - "description": "", - "queue": "EVENT_LOOP", - "members": [ - { "name": "platformEvent", "type": "PlatformWheelEvent" }, - { "name": "phase", "type": "PlatformWheelPhase" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-enums-with-same-base-name.json b/Source/JavaScriptCore/replay/scripts/tests/generate-enums-with-same-base-name.json deleted file mode 100644 index 699439d8a..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-enums-with-same-base-name.json +++ /dev/null @@ -1,52 +0,0 @@ -{ - "types": { - "JavaScriptCore": [ - { - "name": "Type", "mode": "SCALAR", "storage": "uint64_t", - "enclosing_class": "PlatformEvent1", - "flags": ["ENUM"], - "values": ["Mouse", "Keyboard"], - "header": "replay/PlatformEvent.h" - }, - { - "name": "Type", "mode": "SCALAR", - "enclosing_class": "PlatformEvent2", - "flags": ["ENUM_CLASS"], - "values": ["Mouse", "Keyboard"], - "header": "replay/PlatformEvent.h" - } - ], - "Test": [ - { - "name": "Type", "mode": "SCALAR", "storage": "uint64_t", - "enclosing_class": "FormData1", - "flags": ["ENUM"], - "values": ["Text", "Blob"], - "header": "replay/FormData1.h" - }, - { - "name": "Type", "mode": "SCALAR", - "enclosing_class": "FormData2", - "flags": ["ENUM_CLASS"], - "values": ["Text", "Blob"], - "header": "replay/FormData2.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "FormCombo", - "description": "Combines an event type and form data type.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "eventType1", "type": "PlatformEvent1::Type" }, - { "name": "eventType2", "type": "PlatformEvent2::Type" }, - { "name": "formType1", "type": "FormData1::Type" }, - { "name": "formType2", "type": "FormData2::Type" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-event-loop-shape-types.json b/Source/JavaScriptCore/replay/scripts/tests/generate-event-loop-shape-types.json deleted file mode 100644 index 93b16bfa5..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-event-loop-shape-types.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "ScalarType", "mode": "SCALAR" }, - { "name": "MapType", "mode": "MAP" }, - { "name": "SharedMapType", "mode": "SHARED_MAP" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "ScalarInput", - "description": "", - "queue": "EVENT_LOOP", - "members": [ - { "name": "data", "type": "ScalarType" } - ] - }, - { - "name": "MapInput", - "description": "", - "queue": "EVENT_LOOP", - "members": [ - { "name": "data", "type": "MapType" } - ] - }, - { - "name": "SharedMapInput", - "description": "", - "queue": "EVENT_LOOP", - "members": [ - { "name": "data", "type": "SharedMapType" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-guard.json b/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-guard.json deleted file mode 100644 index 75cd50473..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-guard.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" }, - { "name": "uint64_t", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "GetCurrentTime", - "description": "Supplies the system time to Date.now() and new Date().", - "queue": "SCRIPT_MEMOIZED", - "guard": "ENABLE(DUMMY_FEATURE)", - "members": [ - { "name": "currentTime", "type": "double" } - ] - }, - { - "name": "SetRandomSeed", - "description": "Sets the PRNG seed used by Math.random().", - "queue": "SCRIPT_MEMOIZED", - "members": [ - {"name": "randomSeed", "type": "uint64_t" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-vector-members.json b/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-vector-members.json deleted file mode 100644 index eabd072e1..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-input-with-vector-members.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "double", "mode": "SCALAR" } - ], - - "JavaScriptCore": [ - { "name": "JSThing", "mode": "SCALAR", "header": "things/JSThing.h" } - ], - - "WebCore": [ - { "name": "WebThing", "mode": "SCALAR", "header": "things/WebThing.h" }, - { - "name": "HistoryItem", "mode": "SHARED", - "header": "history/HistoryItem.h" - } - ] - }, - - "inputs": { - "Test": [ - { - "name": "ArrayOfThings", - "description": "Supplies arrays of things.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "doubles", "type": "double", "flags": ["VECTOR"] }, - { "name": "jsthings", "type": "JSThing", "flags": ["VECTOR"] }, - { "name": "webthings", "type": "WebThing", "flags": ["VECTOR"] } - ] - }, - { - "name": "SavedHistory", - "description": "Save history items.", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "entries", "type": "HistoryItem", "flags": ["VECTOR"] } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-inputs-with-flags.json b/Source/JavaScriptCore/replay/scripts/tests/generate-inputs-with-flags.json deleted file mode 100644 index 3f49cc19e..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-inputs-with-flags.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "ScalarType", "mode": "SCALAR" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "ScalarInput1", - "description": "", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "data", "type": "ScalarType" } - ] - }, - { - "name": "ScalarInput2", - "description": "", - "queue": "SCRIPT_MEMOIZED", - "flags": ["CREATE_FROM_PAGE"], - "members": [ - { "name": "data", "type": "ScalarType" } - ] - } - ] - } -} diff --git a/Source/JavaScriptCore/replay/scripts/tests/generate-memoized-type-modes.json b/Source/JavaScriptCore/replay/scripts/tests/generate-memoized-type-modes.json deleted file mode 100644 index 0d66bd853..000000000 --- a/Source/JavaScriptCore/replay/scripts/tests/generate-memoized-type-modes.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "types": { - "Global": [ - { "name": "ScalarType", "mode": "SCALAR" }, - { "name": "MapType", "mode": "OWNED" } - ] - }, - - "inputs": { - "Test": [ - { - "name": "ScalarInput", - "description": "", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "data", "type": "ScalarType" } - ] - }, - { - "name": "MapInput", - "description": "", - "queue": "SCRIPT_MEMOIZED", - "members": [ - { "name": "data", "type": "MapType" } - ] - } - ] - } -} |
